diff --git a/packages/phocadownload/administrator/components/com_phocadownload/access.xml b/packages/phocadownload/administrator/components/com_phocadownload/access.xml new file mode 100644 index 00000000..82dd6413 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/access.xml @@ -0,0 +1,12 @@ + + +
+ + + + + + +
+ +
\ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/config.xml b/packages/phocadownload/administrator/components/com_phocadownload/config.xml new file mode 100644 index 00000000..0b832e18 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/config.xml @@ -0,0 +1,550 @@ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ +
+ +
+
\ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/controller.php b/packages/phocadownload/administrator/components/com_phocadownload/controller.php new file mode 100644 index 00000000..19b28ab3 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/controller.php @@ -0,0 +1,56 @@ +input->get('option'); + +$l['cp'] = array('COM_PHOCADOWNLOAD_CONTROL_PANEL', ''); +$l['f'] = array('COM_PHOCADOWNLOAD_FILES', 'phocadownloadfiles'); +$l['c'] = array('COM_PHOCADOWNLOAD_CATEGORIES', 'phocadownloadcats'); +$l['l'] = array('COM_PHOCADOWNLOAD_LICENSES', 'phocadownloadlics'); +$l['st'] = array('COM_PHOCADOWNLOAD_STATISTICS', 'phocadownloadstat'); +$l['d'] = array('COM_PHOCADOWNLOAD_DOWNLOADS', 'phocadownloaddownloads'); +$l['u'] = array('COM_PHOCADOWNLOAD_UPLOADS', 'phocadownloaduploads'); +$l['fr'] = array('COM_PHOCADOWNLOAD_FILE_RATING', 'phocadownloadrafile'); +$l['t'] = array('COM_PHOCADOWNLOAD_TAGS', 'phocadownloadtags'); +$l['ly'] = array('COM_PHOCADOWNLOAD_LAYOUT', 'phocadownloadlayouts'); +$l['sty'] = array('COM_PHOCADOWNLOAD_STYLES', 'phocadownloadstyles'); +$l['log'] = array('COM_PHOCADOWNLOAD_LOGGING', 'phocadownloadlogs'); +$l['in'] = array('COM_PHOCADOWNLOAD_INFO', 'phocadownloadinfo'); + +// Submenu view +//$view = JRequest::getVar( 'view', '', '', 'string', JREQUEST_ALLOWRAW ); +//$layout = JRequest::getVar( 'layout', '', '', 'string', JREQUEST_ALLOWRAW ); +$view = JFactory::getApplication()->input->get('view'); +$layout = JFactory::getApplication()->input->get('layout'); + +if ($layout == 'edit') { +} else { + foreach ($l as $k => $v) { + + if ($v[1] == '') { + $link = 'index.php?option='.$option; + } else { + $link = 'index.php?option='.$option.'&view='; + } + + if ($view == $v[1]) { + JHtmlSidebar::addEntry(JText::_($v[0]), $link.$v[1], true ); + } else { + JHtmlSidebar::addEntry(JText::_($v[0]), $link.$v[1]); + } + } +} + +class PhocadownloadCpController extends JControllerLegacy { + function display($cachable = false, $urlparams = array()) { + parent::display($cachable , $urlparams); + } +} +?> diff --git a/packages/phocadownload/administrator/components/com_phocadownload/controllers/index.html b/packages/phocadownload/administrator/components/com_phocadownload/controllers/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/controllers/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadcat.php b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadcat.php new file mode 100644 index 00000000..f03d0c08 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadcat.php @@ -0,0 +1,56 @@ +authorise('core.create', 'com_phocadownload'); + if ($allow === null) { + return parent::allowAdd($data); + } else { + return $allow; + } + } + + protected function allowEdit($data = array(), $key = 'id') { + $user = JFactory::getUser(); + $allow = null; + $allow = $user->authorise('core.edit', 'com_phocadownload'); + if ($allow === null) { + return parent::allowEdit($data, $key); + } else { + return $allow; + } + } + + public function batch($model = null) { + JRequest::checkToken() or jexit(JText::_('JINVALID_TOKEN')); + + // Set the model + $model = $this->getModel('phocadownloadcat', '', array()); + + // Preset the redirect + $this->setRedirect(JRoute::_('index.php?option=com_phocadownload&view=phocadownloadcats'.$this->getRedirectToListAppend(), false)); + + return parent::batch($model); + } +} +?> diff --git a/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadcats.php b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadcats.php new file mode 100644 index 00000000..77cca7aa --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadcats.php @@ -0,0 +1,42 @@ + true)); + return $model; + } + + public function saveOrderAjax() { + JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN')); + $pks = $this->input->post->get('cid', array(), 'array'); + $order = $this->input->post->get('order', array(), 'array'); + JArrayHelper::toInteger($pks); + JArrayHelper::toInteger($order); + $model = $this->getModel(); + $return = $model->saveorder($pks, $order); + if ($return) { echo "1";} + JFactory::getApplication()->close(); + } + +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloaddownloads.php b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloaddownloads.php new file mode 100644 index 00000000..888c4c53 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloaddownloads.php @@ -0,0 +1,46 @@ + true)); + return $model; + } + + function cancel($key = NULL) { + $model = $this->getModel( 'phocadownload' ); + $this->setRedirect( 'index.php?option=com_phocadownload&view=phocadownloaddownloads' ); + } + + function reset() { + + $post = JRequest::get('post'); + $cid = JRequest::getVar( 'cid', array(0), 'post', 'array' ); + $idFile = JRequest::getVar( 'idfile', 0, 'post', 'int' ); + + $model = $this->getModel( 'phocadownloaddownloads' ); + + if ($model->reset($cid)) { + $msg = JText::_( 'COM_PHOCADOWNLOAD_SUCCESS_RESET_USER_STAT' ); + } else { + $msg = JText::_( 'COM_PHOCADOWNLOAD_ERROR_RESET_USER_STAT' ); + } + + $link = 'index.php?option=com_phocadownload&view=phocadownloaddownloads&id='.(int)$idFile; + $this->setRedirect($link, $msg); + } +} +?> diff --git a/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadfile.php b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadfile.php new file mode 100644 index 00000000..197d063e --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadfile.php @@ -0,0 +1,79 @@ +authorise('core.create', 'com_phocadownload'); + if ($allow === null) { + return parent::allowAdd($data); + } else { + return $allow; + } + } + + protected function allowEdit($data = array(), $key = 'id') { + $user = JFactory::getUser(); + $allow = null; + $allow = $user->authorise('core.edit', 'com_phocadownload'); + if ($allow === null) { + return parent::allowEdit($data, $key); + } else { + return $allow; + } + } + + public function batch($model = null) { + JRequest::checkToken() or jexit(JText::_('JINVALID_TOKEN')); + + // Set the model + $model = $this->getModel('phocadownloadfile', '', array()); + + // Preset the redirect + $this->setRedirect(JRoute::_('index.php?option=com_phocadownload&view=phocadownloadfiles'.$this->getRedirectToListAppend(), false)); + + return parent::batch($model); + } + + /* + function copyquick() { + $cid = JRequest::getVar( 'cid', array(0), 'post', 'array' ); + $model = $this->getModel( 'phocadownloadfile' ); + if ($model->copyQuick($cid)) { + $msg = JText::_( 'COM_PHOCADOWNLOAD_SUCCESS_COPY_FILE' ); + } else { + $msg = JText::_( 'COM_PHOCADOWNLOAD_ERROR_COPY_FILE' ); + } + $link = 'index.php?option=com_phocadownload&view=phocadownloadfiles'; + $this->setRedirect($link, $msg); + }*/ + +} +?> diff --git a/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadfiles.php b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadfiles.php new file mode 100644 index 00000000..7f837f7a --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadfiles.php @@ -0,0 +1,81 @@ +registerTask('disapprove', 'approve'); + + } + + public function &getModel($name = 'PhocaDownloadFile', $prefix = 'PhocaDownloadCpModel', $config = array()) + { + $model = parent::getModel($name, $prefix, array('ignore_request' => true)); + return $model; + } + + + function approve() + { + // Check for request forgeries + JRequest::checkToken() or die(JText::_('JINVALID_TOKEN')); + + // Get items to publish from the request. + $cid = JRequest::getVar('cid', array(), '', 'array'); + $data = array('approve' => 1, 'disapprove' => 0); + $task = $this->getTask(); + $value = JArrayHelper::getValue($data, $task, 0, 'int'); + + if (empty($cid)) { + JError::raiseWarning(500, JText::_($this->text_prefix.'_NO_ITEM_SELECTED')); + } else { + // Get the model. + $model = $this->getModel(); + + // Make sure the item ids are integers + JArrayHelper::toInteger($cid); + + // Publish the items. + + if (!$model->approve($cid, $value)) { + JError::raiseWarning(500, $model->getError()); + } else { + if ($value == 1) { + $ntext = $this->text_prefix.'_N_ITEMS_APPROVED'; + } else if ($value == 0) { + $ntext = $this->text_prefix.'_N_ITEMS_DISAPPROVED'; + } + $this->setMessage(JText::plural($ntext, count($cid))); + } + } + + $this->setRedirect(JRoute::_('index.php?option='.$this->option.'&view='.$this->view_list, false)); + } + + public function saveOrderAjax() { + JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN')); + $pks = $this->input->post->get('cid', array(), 'array'); + $order = $this->input->post->get('order', array(), 'array'); + JArrayHelper::toInteger($pks); + JArrayHelper::toInteger($order); + $model = $this->getModel(); + $return = $model->saveorder($pks, $order); + if ($return) { echo "1";} + JFactory::getApplication()->close(); + } + +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadinfo.php b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadinfo.php new file mode 100644 index 00000000..7dd43c52 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadinfo.php @@ -0,0 +1,25 @@ +setRedirect( 'index.php?option=com_phocadownload' ); + } +} +?> diff --git a/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadinstall.php b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadinstall.php new file mode 100644 index 00000000..56d8ac99 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadinstall.php @@ -0,0 +1,993 @@ +registerTask( 'install' , 'install' ); + $this->registerTask( 'upgrade' , 'upgrade' ); + } + + function install() { + $db = JFactory::getDBO(); + $msgSQL = ''; + $msgFile = ''; + $msgError = ''; + + // -------------------------------------------------------------------------- + + $query =' DROP TABLE IF EXISTS '.$db->quoteName('#__phocadownload_categories').' ;'; + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + + + $query ='CREATE TABLE '.$db->quoteName('#__phocadownload_categories').' ('."\n"; + $query.=' '.$db->quoteName('id').' int(11) NOT NULL auto_increment,'."\n"; + $query.=' '.$db->quoteName('parent_id').' int(11) NOT NULL default 0,'."\n"; + $query.=' '.$db->quoteName('section').' int(11) NOT NULL default 0,'."\n"; + $query.=' '.$db->quoteName('title').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('name').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('alias').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('image').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('image_position').' varchar(30) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('description').' text,'."\n"; + $query.=' '.$db->quoteName('published').' tinyint(1) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('checked_out').' int(11) unsigned NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('checked_out_time').' datetime NOT NULL default \'0000-00-00 00:00:00\','."\n"; + $query.=' '.$db->quoteName('editor').' varchar(50) default NULL,'."\n"; + $query.=' '.$db->quoteName('ordering').' int(11) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('access').' int(11) unsigned NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('uploaduserid').' text,'."\n"; + $query.=' '.$db->quoteName('accessuserid').' text,'."\n"; + $query.=' '.$db->quoteName('deleteuserid').' text,'."\n"; + $query.=' '.$db->quoteName('date').' datetime NOT NULL default \'0000-00-00 00:00:00\','."\n"; + $query.=' '.$db->quoteName('count').' int(11) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('params').' text,'."\n"; + $query.=' '.$db->quoteName('hits').' int(11) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('metakey').' text,'."\n"; + $query.=' '.$db->quoteName('metadesc').' text,'."\n"; + $query.=' '.$db->quoteName('metadata').' text,'."\n"; + $query.=' '.$db->quoteName('language').' char(7) NOT NULL default \'\','."\n"; + $query.=' PRIMARY KEY ('.$db->quoteName('id').'),'."\n"; + $query.=' KEY '.$db->quoteName('cat_idx').' ('.$db->quoteName('section').', '. $db->quoteName('published').', '. $db->quoteName('access').'),'."\n"; + $query.=' KEY '.$db->quoteName('idx_access').' ('.$db->quoteName('access').'),'."\n"; + $query.=' KEY '.$db->quoteName('idx_checkout').' ('.$db->quoteName('checked_out').')'."\n"; + $query.=') default CHARSET=utf8;'; + + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + + // -------------------------------------------------------------------------- + /* + $query=' DROP TABLE IF EXISTS '.$db->quoteName('#__phocadownload_sections').' ;'."\n"; + + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + + $query ='CREATE TABLE '.$db->quoteName('#__phocadownload_sections').' ('."\n"; + $query.=' '.$db->quoteName('id').' int(11) NOT NULL auto_increment,'."\n"; + $query.=' '.$db->quoteName('title').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('name').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('alias').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('image').' text,'."\n"; + $query.=' '.$db->quoteName('scope').' varchar(50) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('image_position').' varchar(30) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('description').' text,'."\n"; + $query.=' '.$db->quoteName('published').' tinyint(1) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('checked_out').' int(11) unsigned NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('checked_out_time').' datetime NOT NULL default \'0000-00-00 00:00:00\','."\n"; + $query.=' '.$db->quoteName('ordering').' int(11) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('access').' int(11) unsigned NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('date').' datetime NOT NULL default \'0000-00-00 00:00:00\','."\n"; + $query.=' '.$db->quoteName('count').' int(11) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('params').' text,'."\n"; + $query.=' '.$db->quoteName('metakey').' text,'."\n"; + $query.=' '.$db->quoteName('metadesc').' text,'."\n"; + $query.=' PRIMARY KEY ('.$db->quoteName('id').'),'."\n"; + $query.=' KEY '.$db->quoteName('idx_scope').' ('.$db->quoteName('scope').')'."\n"; + $query.=') TYPE=MyISAM CHARACTER SET '.$db->quoteName('utf8').' ;'; + + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + */ + // -------------------------------------------------------------------------- + + $query=' DROP TABLE IF EXISTS '.$db->quoteName('#__phocadownload').' ;'."\n"; + + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + + $query ='CREATE TABLE '.$db->quoteName('#__phocadownload').' ('."\n"; + $query.=' '.$db->quoteName('id').' int(11) unsigned NOT NULL auto_increment,'."\n"; + $query.=' '.$db->quoteName('catid').' int(11) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('sectionid').' int(11) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('owner_id').' int(11) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('sid').' int(11) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('title').' varchar(250) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('alias').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('filename').' varchar(250) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('filesize').' int(11) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('filename_play').' varchar(250) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('filename_preview').' varchar(250) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('author').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('author_email').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('author_url').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('license').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('license_url').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('video_filename').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('image_filename').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('image_filename_spec1').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('image_filename_spec2').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('image_download').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('link_external').' varchar(255) NOT NULL default \'\','."\n"; + + $query.=' '.$db->quoteName('mirror1link').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('mirror1title').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('mirror1target').' varchar(10) NOT NULL default \'\','."\n"; + + $query.=' '.$db->quoteName('mirror2link').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('mirror2title').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('mirror2target').' varchar(10) NOT NULL default \'\','."\n"; + + $query.=' '.$db->quoteName('description').' text,'."\n"; + $query.=' '.$db->quoteName('features').' text,'."\n"; + $query.=' '.$db->quoteName('changelog').' text,'."\n"; + $query.=' '.$db->quoteName('notes').' text,'."\n"; + $query.=' '.$db->quoteName('userid').' int(11) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('version').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('directlink').' tinyint(1) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('date').' datetime NOT NULL default \'0000-00-00 00:00:00\','."\n"; + $query.=' '.$db->quoteName('publish_up').' datetime NOT NULL default \'0000-00-00 00:00:00\','."\n"; + $query.=' '.$db->quoteName('publish_down').' datetime NOT NULL default \'0000-00-00 00:00:00\','."\n"; + $query.=' '.$db->quoteName('hits').' int(11) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('textonly').' tinyint(1) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('published').' tinyint(1) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('approved').' tinyint(3) unsigned NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('checked_out').' int(11) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('checked_out_time').' datetime NOT NULL default \'0000-00-00 00:00:00\','."\n"; + $query.=' '.$db->quoteName('ordering').' int(11) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('access').' int(11) unsigned NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('confirm_license').' int(11) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('unaccessible_file').' int(11) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('params').' text,'."\n"; + $query.=' '.$db->quoteName('metakey').' text,'."\n"; + $query.=' '.$db->quoteName('metadesc').' text,'."\n"; + $query.=' '.$db->quoteName('metadata').' text,'."\n"; + $query.=' '.$db->quoteName('language').' char(7) NOT NULL default \'\','."\n"; + $query.=' PRIMARY KEY ('.$db->quoteName('id').'),'."\n"; + $query.=' KEY '.$db->quoteName('catid').' ('.$db->quoteName('catid').', '. $db->quoteName('published').')'."\n"; + $query.=') default CHARSET=utf8;'; + + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + + // -------------------------------------------------------------------------- + /* + $query=' DROP TABLE IF EXISTS '.$db->quoteName('#__phocadownload_settings').' ;'."\n"; + + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + + $query =' CREATE TABLE '.$db->quoteName('#__phocadownload_settings').' ('."\n"; + $query.=' '.$db->quoteName('id').' int(11) unsigned NOT NULL auto_increment,'."\n"; + $query.=' '.$db->quoteName('title').' varchar(250) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('value').' text,'."\n"; + $query.=' '.$db->quoteName('values').' text,'."\n"; + $query.=' '.$db->quoteName('type').' varchar(50) NOT NULL default \'\','."\n"; + $query.=' PRIMARY KEY ('.$db->quoteName('id').')'."\n"; + $query.=') TYPE=MyISAM CHARACTER SET '.$db->quoteName('utf8').' ;'; + + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + + // VALUES + + $queries[] = "INSERT INTO ".$db->quoteName('#__phocadownload_settings')." VALUES (null, 'download_folder', 'phocadownload','', 'text');"."\n"; + + $queries[] = "INSERT INTO ".$db->quoteName('#__phocadownload_settings')." VALUES (null, 'allowed_file_types', '{hqx=application/mac-binhex40}\n{cpt=application/mac-compactpro}\n{csv=text/x-comma-separated-values}\n{bin=application/macbinary}\n{dms=application/octet-stream}\n{lha=application/octet-stream}\n{lzh=application/octet-stream}\n{exe=application/octet-stream}\n{class=application/octet-stream}\n{psd=application/x-photoshop}\n{so=application/octet-stream}\n{sea=application/octet-stream}\n{dll=application/octet-stream}\n{oda=application/oda}\n{pdf=application/pdf}\n{ai=application/postscript}\n{eps=application/postscript}\n{ps=application/postscript}\n{smi=application/smil}\n{smil=application/smil}\n{mif=application/vnd.mif}\n{xls=application/vnd.ms-excel}\n{ppt=application/powerpoint}\n{wbxml=application/wbxml}\n{wmlc=application/wmlc}\n{dcr=application/x-director}\n{dir=application/x-director}\n{dxr=application/x-director}\n{dvi=application/x-dvi}\n{gtar=application/x-gtar}\n{gz=application/x-gzip}\n{php=application/x-httpd-php}\n{php4=application/x-httpd-php}\n{php3=application/x-httpd-php}\n{phtml=application/x-httpd-php}\n{phps=application/x-httpd-php-source}\n{js=application/x-javascript}\n{swf=application/x-shockwave-flash}\n{sit=application/x-stuffit}\n{tar=application/x-tar}\n{tgz=application/x-tar}\n{xhtml=application/xhtml+xml}\n{xht=application/xhtml+xml}\n{zip=application/x-zip}\n{mid=audio/midi}\n{midi=audio/midi}\n{mpga=audio/mpeg}\n{mp2=audio/mpeg}\n{mp3=audio/mpeg}\n{aif=audio/x-aiff}\n{aiff=audio/x-aiff}\n{aifc=audio/x-aiff}\n{ram=audio/x-pn-realaudio}\n{rm=audio/x-pn-realaudio}\n{rpm=audio/x-pn-realaudio-plugin}\n{ra=audio/x-realaudio}\n{rv=video/vnd.rn-realvideo}\n{wav=audio/x-wav}\n{bmp=image/bmp}\n{gif=image/gif}\n{jpeg=image/jpeg}\n{jpg=image/jpeg}\n{jpe=image/jpeg}\n{png=image/png}\n{tiff=image/tiff}\n{tif=image/tiff}\n{css=text/css}\n{html=text/html}\n{htm=text/html}\n{shtml=text/html}\n{txt=text/plain}\n{text=text/plain}\n{log=text/plain}\n{rtx=text/richtext}\n{rtf=text/rtf}\n{xml=text/xml}\n{xsl=text/xml}\n{mpeg=video/mpeg}\n{mpg=video/mpeg}\n{mpe=video/mpeg}\n{qt=video/quicktime}\n{mov=video/quicktime}\n{avi=video/x-msvideo}\n{flv=video/x-flv}\n{movie=video/x-sgi-movie}\n{doc=application/msword}\n{xl=application/excel}\n{eml=message/rfc822}', '', 'textarea');"."\n"; + + $queries[] = "INSERT INTO ".$db->quoteName('#__phocadownload_settings')." VALUES (null, 'disallowed_file_types', '','', 'textarea');"."\n"; + $queries[] = "INSERT INTO ".$db->quoteName('#__phocadownload_settings')." VALUES (null, 'upload_maxsize', '3145728','', 'text');"."\n"; + $queries[] = "INSERT INTO ".$db->quoteName('#__phocadownload_settings')." VALUES (null, 'enable_flash', 0,'{0=No}{1=Yes}', 'select');"."\n"; + + // Version 1.0.6 + $queries[] = "INSERT INTO ".$db->quoteName('#__phocadownload_settings')." VALUES (null, 'enable_user_statistics', 1,'{0=No}{1=Yes}', 'select');"."\n"; + // Version 1.1.0 + $queries[] = "INSERT INTO ".$db->quoteName('#__phocadownload_settings')." VALUES (null, 'absolute_path', '','', 'text');"."\n"; + // Version 1.3.4 + $queries[] = "INSERT INTO ".$db->quoteName('#__phocadownload_settings')." VALUES (null, 'description', '','', 'textareaeditor');"."\n"; + + foreach ($queries as $valueQuery) { + $db->setQuery( $valueQuery ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + } +*/ + // -------------------------------------------------------------------------- + + $query=' DROP TABLE IF EXISTS '.$db->quoteName('#__phocadownload_user_stat').' ;'."\n"; + + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + + $query='CREATE TABLE '.$db->quoteName('#__phocadownload_user_stat').' ('."\n"; + $query.=' '.$db->quoteName('id').' int(11) NOT NULL auto_increment,'."\n"; + $query.=' '.$db->quoteName('fileid').' int(11) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('userid').' int(11) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('count').' int(11) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('date').' datetime NOT NULL default \'0000-00-00 00:00:00\','."\n"; + $query.=' '.$db->quoteName('published').' tinyint(1) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('ordering').' int(11) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('language').' char(7) NOT NULL default \'\','."\n"; + $query.=' PRIMARY KEY ('.$db->quoteName('id').')'."\n"; + $query.=') default CHARSET=utf8;'; + + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + + // -------------------------------------------------------------------------- + + $query=' DROP TABLE IF EXISTS '.$db->quoteName('#__phocadownload_licenses').' ;'."\n"; + + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + + $query ='CREATE TABLE '.$db->quoteName('#__phocadownload_licenses').' ('."\n"; + $query.=' '.$db->quoteName('id').' int(11) NOT NULL auto_increment,'."\n"; + $query.=' '.$db->quoteName('title').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('alias').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('description').' text,'."\n"; + $query.=' '.$db->quoteName('checked_out').' int(11) unsigned NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('checked_out_time').' datetime NOT NULL default \'0000-00-00 00:00:00\','."\n"; + $query.=' '.$db->quoteName('published').' tinyint(1) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('ordering').' int(11) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('language').' char(7) NOT NULL default \'\','."\n"; + $query.=' PRIMARY KEY ('.$db->quoteName('id').')'."\n"; + $query.=') default CHARSET=utf8;'; + + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + + + // ------------------------------------------ + // PHOCADOWNLOAD FILE VOTES (2.0.0 RC2) + // ------------------------------------------ + $query ='DROP TABLE IF EXISTS '.$db->quoteName('#__phocadownload_file_votes').';'."\n"; + + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + + $query =' CREATE TABLE '.$db->quoteName('#__phocadownload_file_votes').' ('."\n"; + $query.=' '.$db->quoteName('id').' int(11) NOT NULL auto_increment,'."\n"; + $query.=' '.$db->quoteName('fileid').' int(11) NOT NULL default 0,'."\n"; + $query.=' '.$db->quoteName('userid').' int(11) NOT NULL default 0,'."\n"; + $query.=' '.$db->quoteName('date').' datetime NOT NULL default \'0000-00-00 00:00:00\','."\n"; + $query.=' '.$db->quoteName('rating').' tinyint(1) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('published').' tinyint(1) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('checked_out').' int(11) unsigned NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('checked_out_time').' datetime NOT NULL default \'0000-00-00 00:00:00\','."\n"; + $query.=' '.$db->quoteName('ordering').' int(11) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('params').' text,'."\n"; + $query.=' '.$db->quoteName('language').' char(7) NOT NULL default \'\','."\n"; + $query.=' PRIMARY KEY ('.$db->quoteName('id').')'."\n"; + $query.=') default CHARSET=utf8;'."\n"; + + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + + // ------------------------------------------ + // PHOCADOWNLOAD FILE VOTES STATISTICS (2.0.0 RC2) + // ------------------------------------------ + $query ='DROP TABLE IF EXISTS '.$db->quoteName('#__phocadownload_file_votes_statistics').';'."\n"; + + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + + $query =' CREATE TABLE '.$db->quoteName('#__phocadownload_file_votes_statistics').' ('."\n"; + $query.=' '.$db->quoteName('id').' int(11) NOT NULL auto_increment,'."\n"; + $query.=' '.$db->quoteName('fileid').' int(11) NOT NULL default 0,'."\n"; + $query.=' '.$db->quoteName('count').' int(11) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('average').' float(8,6) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('language').' char(7) NOT NULL default \'\','."\n"; + $query.=' PRIMARY KEY ('.$db->quoteName('id').')'."\n"; + $query.=') default CHARSET=utf8;'."\n"; + + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + + + // ------------------------------------------ + // PHOCADOWNLOAD TAGS (2.1.0) + // ------------------------------------------ + + $query =' DROP TABLE IF EXISTS '.$db->quoteName('#__phocadownload_tags').' ;'; + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + + $query ='CREATE TABLE '.$db->quoteName('#__phocadownload_tags').' ('."\n"; + $query.=' '.$db->quoteName('id').' int(11) NOT NULL auto_increment,'."\n"; + $query.=' '.$db->quoteName('title').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('alias').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('link_cat').' int(11) NOT NULL default 0,'."\n"; + $query.=' '.$db->quoteName('link_ext').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('description').' text,'."\n"; + $query.=' '.$db->quoteName('published').' tinyint(1) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('checked_out').' int(11) unsigned NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('checked_out_time').' datetime NOT NULL default \'0000-00-00 00:00:00\','."\n"; + $query.=' '.$db->quoteName('ordering').' int(11) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('params').' text,'."\n"; + $query.=' '.$db->quoteName('language').' char(7) NOT NULL default \'\','."\n"; + $query.=' PRIMARY KEY ('.$db->quoteName('id').')'."\n"; + $query.=') default CHARSET=utf8;'."\n"; + + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + + + + $query =' DROP TABLE IF EXISTS '.$db->quoteName('#__phocadownload_tags_ref').' ;'; + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + + $query ='CREATE TABLE '.$db->quoteName('#__phocadownload_tags_ref').' ('."\n"; + $query.=' '.$db->quoteName('id').' SERIAL,'."\n"; + $query.=' '.$db->quoteName('fileid').' int(11) NOT NULL default 0,'."\n"; + $query.=' '.$db->quoteName('tagid').' int(11) NOT NULL default 0,'."\n"; + $query.=' PRIMARY KEY ('.$db->quoteName('id').'),'."\n"; + $query.=' UNIQUE KEY '.$db->quoteName('i_fileid').' ('.$db->quoteName('fileid').','.$db->quoteName('tagid').')'."\n"; + $query.=') default CHARSET=utf8;'."\n"; + + + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + + + + $query =' DROP TABLE IF EXISTS '.$db->quoteName('#__phocadownload_layout').' ;'; + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + + $query ='CREATE TABLE '.$db->quoteName('#__phocadownload_layout').' ('."\n"; + $query.=' '.$db->quoteName('id').' int(11) NOT NULL auto_increment,'."\n"; + $query.=' '.$db->quoteName('categories').' text,'."\n"; + $query.=' '.$db->quoteName('category').' text,'."\n"; + $query.=' '.$db->quoteName('file').' text,'."\n"; + $query.=' '.$db->quoteName('checked_out').' int(11) unsigned NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('checked_out_time').' datetime NOT NULL default \'0000-00-00 00:00:00\','."\n"; + $query.=' '.$db->quoteName('params').' text,'."\n"; + $query.=' PRIMARY KEY ('.$db->quoteName('id').')'."\n"; + $query.=') default CHARSET=utf8;'."\n"; + + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + + + $query ='INSERT INTO '.$db->quoteName('#__phocadownload_layout').' ('."\n"; + $query.=' '.$db->quoteName('id').' ,'."\n"; + $query.=' '.$db->quoteName('categories').' ,'."\n"; + $query.=' '.$db->quoteName('category').' ,'."\n"; + $query.=' '.$db->quoteName('file').' ,'."\n"; + $query.=' '.$db->quoteName('checked_out').' ,'."\n"; + $query.=' '.$db->quoteName('checked_out_time').' ,'."\n"; + $query.=' '.$db->quoteName('params').' )'."\n"; + $query.=' VALUES ('."\n"; + $query.=' NULL,'."\n"; + + $query.=' '.$db->Quote('
+
{pdtitle}
+{pdsubcategories} +{pdclear} +
').','."\n"; + $query.=' '.$db->Quote('
+{pdfiledesctop} +{pdfile} +
{pdbuttondownload}
+
{pdbuttondetails}
+
{pdbuttonpreview}
+
{pdbuttonplay}
+
{pdmirrorlink2} {pdmirrorlink1}
+
{pdrating}
+
{pdtags}
+{pdfiledescbottom} +
+
').','."\n"; + $query.=' '.$db->Quote('
+{pdimage} +{pdfile} +{pdfilesize} +{pdversion} +{pdlicense} +{pdauthor} +{pdauthoremail} +{pdfiledate} +{pddownloads} +{pddescription} +{pdfeatures} +{pdchangelog} +{pdnotes} +
{pdmirrorlink2} {pdmirrorlink1}
+
{pdreportlink}
+
{pdrating}
+
{pdtags}
+
+
').','."\n"; + $query.=' '.$db->Quote('0').','."\n"; + $query.=' '.$db->Quote('0000-00-00 00:00:00').','."\n"; + $query.=' NULL'."\n"; + $query.=' );'."\n"; + + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + + + // END ------------------------------------------------------------------------------- + + + + // Error + if ($msgSQL !='') { + $msgError .= '
' . $msgSQL; + } + if ($msgFile !='') { + $msgError .= '
' . $msgFile; + } + + // End Message + if ($msgError !='') { + $msg = JText::_( 'Phoca Download not successfully installed' ) . ': ' . $msgError; + } else { + $msg = JText::_( 'Phoca Download successfully installed' ); + } + + + $link = 'index.php?option=com_phocadownload'; + $this->setRedirect($link, $msg); + } + + + + + + + + + + + + + function upgrade() + { + $db = JFactory::getDBO(); + $dbPref = $db->getPrefix(); + $msgSQL = ''; + $msgFile = ''; + $msgError = ''; + + + $query =' SELECT * FROM '.$db->quoteName('#__phocadownload').' LIMIT 1;'; + $db->setQuery( $query ); + $result = $db->loadResult(); + if ($db->getErrorNum()) + { + $msgSQL .= $db->getErrorMsg(). '
'; + } + + + $query=' SELECT * FROM '.$db->quoteName('#__phocadownload_categories').' LIMIT 1;'."\n"; + + $db->setQuery( $query ); + $result = $db->loadResult(); + if ($db->getErrorNum()) + { + $msgSQL .= $db->getErrorMsg(). '
'; + } + /* + $query=' SELECT * FROM '.$db->quoteName('#__phocadownload_sections').' LIMIT 1;'."\n"; + + $db->setQuery( $query ); + $result = $db->loadResult(); + if ($db->getErrorNum()) + { + $msgSQL .= $db->getErrorMsg(). '
'; + } + */ + // UPGRADE PHOCA DOWNLOAD 2.1.0 VERSION + // ------------------------------------------ + // PHOCADOWNLOAD TAGS + // ------------------------------------------ + + $query ='CREATE TABLE IF NOT EXISTS '.$db->quoteName('#__phocadownload_tags').' ('."\n"; + $query.=' '.$db->quoteName('id').' int(11) NOT NULL auto_increment,'."\n"; + $query.=' '.$db->quoteName('title').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('alias').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('link_cat').' int(11) NOT NULL default 0,'."\n"; + $query.=' '.$db->quoteName('link_ext').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('description').' text,'."\n"; + $query.=' '.$db->quoteName('published').' tinyint(1) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('checked_out').' int(11) unsigned NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('checked_out_time').' datetime NOT NULL default \'0000-00-00 00:00:00\','."\n"; + $query.=' '.$db->quoteName('ordering').' int(11) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('params').' text,'."\n"; + $query.=' '.$db->quoteName('language').' char(7) NOT NULL default \'\','."\n"; + $query.=' PRIMARY KEY ('.$db->quoteName('id').')'."\n"; + $query.=') default CHARSET=utf8;'."\n"; + + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + + + $query ='CREATE TABLE IF NOT EXISTS'.$db->quoteName('#__phocadownload_tags_ref').' ('."\n"; + $query.=' '.$db->quoteName('id').' SERIAL,'."\n"; + $query.=' '.$db->quoteName('fileid').' int(11) NOT NULL default 0,'."\n"; + $query.=' '.$db->quoteName('tagid').' int(11) NOT NULL default 0,'."\n"; + $query.=' PRIMARY KEY ('.$db->quoteName('id').'),'."\n"; + $query.=' UNIQUE KEY '.$db->quoteName('i_fileid').' ('.$db->quoteName('fileid').','.$db->quoteName('tagid').')'."\n"; + $query.=') default CHARSET=utf8;'."\n"; + + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + + + $query ='CREATE TABLE IF NOT EXISTS '.$db->quoteName('#__phocadownload_layout').' ('."\n"; + $query.=' '.$db->quoteName('id').' int(11) NOT NULL auto_increment,'."\n"; + $query.=' '.$db->quoteName('categories').' text,'."\n"; + $query.=' '.$db->quoteName('category').' text,'."\n"; + $query.=' '.$db->quoteName('file').' text,'."\n"; + $query.=' '.$db->quoteName('checked_out').' int(11) unsigned NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('checked_out_time').' datetime NOT NULL default \'0000-00-00 00:00:00\','."\n"; + $query.=' '.$db->quoteName('params').' text,'."\n"; + $query.=' PRIMARY KEY ('.$db->quoteName('id').')'."\n"; + $query.=') default CHARSET=utf8;'."\n"; + + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + + + $update0 = false; + $errorMsg = ''; + $update0 = $this->AddColumnIfNotExists( $errorMsg, "#__phocadownload", "features", "text", "description" ); + if (!$update0) { + $msgSQL .= 'Error while updating Features column'; + } + $update1 = false; + $errorMsg = ''; + $update1 = $this->AddColumnIfNotExists( $errorMsg, "#__phocadownload", "changelog", "text", "description" ); + if (!$update1) { + $msgSQL .= 'Error while updating Changelog column'; + } + $update2 = false; + $errorMsg = ''; + $update2 = $this->AddColumnIfNotExists( $errorMsg, "#__phocadownload", "notes", "text", "description" ); + if (!$update2) { + $msgSQL .= 'Error while updating Notes column'; + } + + /* + $query=' SELECT title FROM '.$db->quoteName('#__phocadownload_settings').' WHERE title = \'enable_user_statistics\' LIMIT 1;'."\n"; + $db->setQuery($query); + + if (!$result = $db->loadObject()) { + $query = "INSERT INTO ".$db->quoteName('#__phocadownload_settings')." VALUES (null, 'enable_user_statistics', 1,'{0=No}{1=Yes}', 'select');"."\n"; + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + } + + // -------------------------------------------------------------------------- + + // UPGRADE PHOCA DOWNLOAD 1.1.0 VERSION + // ------------------------------------------ + // PHOCADOWNLOAD USER STAT + // ------------------------------------------ + + $query='CREATE TABLE IF NOT EXISTS '.$db->quoteName('#__phocadownload_licenses').' ('."\n"; + $query.=' '.$db->quoteName('id').' int(11) NOT NULL auto_increment,'."\n"; + $query.=' '.$db->quoteName('title').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('alias').' varchar(255) NOT NULL default \'\','."\n"; + $query.=' '.$db->quoteName('description').' text,'."\n"; + $query.=' '.$db->quoteName('checked_out').' int(11) unsigned NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('checked_out_time').' datetime NOT NULL default \'0000-00-00 00:00:00\','."\n"; + $query.=' '.$db->quoteName('published').' tinyint(1) NOT NULL default \'0\','."\n"; + $query.=' '.$db->quoteName('ordering').' int(11) NOT NULL default \'0\','."\n"; + $query.=' PRIMARY KEY ('.$db->quoteName('id').')'."\n"; + $query.=') TYPE=MyISAM CHARACTER SET '.$db->quoteName('utf8').' ;'; + + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + + // -------------------------------------------------------------------------- + + // ------------------------------------------ + // PHOCADOWNLOAD UPDATE confirm_license + // ------------------------------------------ + $updateCL = false; + $updateCL = $this->AddColumnIfNotExists($errorMsg, "#__phocadownload", "confirm_license", "int(11) NOT NULL default '0'", "access" ); + if (!$updateCL) { + $msgSQL .= 'Error while updating Confirm License column
'; + } + + // ------------------------------------------ + // PHOCADOWNLOAD UPDATE confirm_license + // ------------------------------------------ + $updateUF = false; + $updateUF = $this->AddColumnIfNotExists($errorMsg, "#__phocadownload", "unaccessible_file", "int(11) NOT NULL default '0'", "access" ); + if (!$updateUF) { + $msgSQL .= 'Error while updating Display Unaccessible Files column
'; + } + + // ------------------------------------------ + // PHOCADOWNLOAD CATEGORIES UPDATE date + // ------------------------------------------ + $updateCD = false; + $updateCD = $this->AddColumnIfNotExists($errorMsg, "#__phocadownload_categories", "date", "datetime NOT NULL default '0000-00-00 00:00:00'", "access" ); + if (!$updateCD) { + $msgSQL .= 'Error while updating Date column (categories)
'; + } + + // ------------------------------------------ + // PHOCADOWNLOAD SECTIONS UPDATE date + // ------------------------------------------ + $updateSD = false; + $updateSD = $this->AddColumnIfNotExists($errorMsg, "#__phocadownload_sections", "date", "datetime NOT NULL default '0000-00-00 00:00:00'", "access" ); + if (!$updateSD) { + $msgSQL .= 'Error while updating Date column (sections)
'; + } + // ------------------------------------------ + // PHOCADOWNLOAD SETTINGS UPDATE absolute_path + // ------------------------------------------ + + $query=' SELECT title FROM '.$db->quoteName('#__phocadownload_settings').' WHERE title = \'absolute_path\' LIMIT 1;'."\n"; + $db->setQuery($query); + + if (!$result = $db->loadObject()) { + $query = "INSERT INTO ".$db->quoteName('#__phocadownload_settings')." VALUES (null, 'absolute_path', '','', 'text');"."\n"; + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + } + + // ------------------------------------------ + // PHOCA DOWNLOAD UPDATE 1.2.0 + // ------------------------------------------ + + // Filename_preview + $updateFPR = false; + $updateFPR = $this->AddColumnIfNotExists($errorMsg, "#__phocadownload", "filename_preview", "varchar(250) NOT NULL default ''", "filename" ); + if (!$updateFPR) { + $msgSQL .= 'Error while updating Filename Preview column
'; + } + + // Filename_play + $updateFPL = false; + $updateFPL = $this->AddColumnIfNotExists($errorMsg, "#__phocadownload", "filename_play", "varchar(250) NOT NULL default ''", "filename" ); + if (!$updateFPL) { + $msgSQL .= 'Error while updating Filename Play column
'; + } + + $updateIFS1 = false; + $updateIFS1 = $this->AddColumnIfNotExists($errorMsg, "#__phocadownload", "image_filename_spec1", "varchar(250) NOT NULL default ''", "filename" ); + if (!$updateIFS1) { + $msgSQL .= 'Error while updating Image Filename Spec1 column
'; + } + + $updateIFS2 = false; + $updateIFS2 = $this->AddColumnIfNotExists($errorMsg, "#__phocadownload", "image_filename_spec2", "varchar(250) NOT NULL default ''", "filename" ); + if (!$updateIFS2) { + $msgSQL .= 'Error while updating Image Filename Spec2 column
'; + } + + // ------------------------------------------ + // PHOCA DOWNLOAD UPDATE 1.3.0 + // ------------------------------------------ + + // Approved + $updateApr = false; + $updateApr = $this->AddColumnIfNotExists($errorMsg, "#__phocadownload", "approved", "tinyint(1) NOT NULL default '0'", "published" ); + if (!$updateApr) { + $msgSQL .= 'Error while updating Approved column
'; + } + + // Upload + $updateUpl = false; + $updateUpl = $this->AddColumnIfNotExists($errorMsg, "#__phocadownload_categories", "uploaduserid", "text", "access" ); + if (!$updateUpl) { + $msgSQL .= 'Error while updating Upload User ID column
'; + } + + // Owner ID + $updateOid = false; + $updateOid = $this->AddColumnIfNotExists($errorMsg, "#__phocadownload", "owner_id", "int(11) NOT NULL default '0'", "id" ); + if (!$updateOid) { + $msgSQL .= 'Error while updating Owner ID column
'; + } + + // Owner ID + $fileSize = false; + $fileSize = $this->AddColumnIfNotExists($errorMsg, "#__phocadownload", "filesize", "int(11) NOT NULL default '0'", "filename" ); + if (!$fileSize) { + $msgSQL .= 'Error while updating File Size column
'; + } + + // ------------------------------------------ + // PHOCA DOWNLOAD UPDATE 1.3.2 + // ------------------------------------------ + + $updateMK = false; + $errorMsg = ''; + $updateMK = $this->AddColumnIfNotExists( $errorMsg, "#__phocadownload", "metakey", "text", "params" ); + if (!$updateMK) { + $msgSQL .= 'Error while updating Metakey (File) column'; + } + $updateMKC = false; + $errorMsg = ''; + $updateMKC = $this->AddColumnIfNotExists( $errorMsg, "#__phocadownload_categories", "metakey", "text", "params" ); + if (!$updateMKC) { + $msgSQL .= 'Error while updating Metakey (Category) column'; + } + $updateMKS = false; + $errorMsg = ''; + $updateMKS = $this->AddColumnIfNotExists( $errorMsg, "#__phocadownload_sections", "metakey", "text", "params" ); + if (!$updateMKS) { + $msgSQL .= 'Error while updating Metakey (Section) column'; + } + $updateMD = false; + $errorMsg = ''; + $updateMD = $this->AddColumnIfNotExists( $errorMsg, "#__phocadownload", "metadesc", "text", "params" ); + if (!$updateMD) { + $msgSQL .= 'Error while updating Metadesc (File) column'; + } + $updateMDC = false; + $errorMsg = ''; + $updateMDC = $this->AddColumnIfNotExists( $errorMsg, "#__phocadownload_categories", "metadesc", "text", "params" ); + if (!$updateMDC) { + $msgSQL .= 'Error while updating Metadesc (Category) column'; + } + $updateMDS = false; + $errorMsg = ''; + $updateMDS = $this->AddColumnIfNotExists( $errorMsg, "#__phocadownload_sections", "metadesc", "text", "params" ); + if (!$updateMDS) { + $msgSQL .= 'Error while updating Metadesc (Section) column'; + } + + // ------------------------------------------ + // PHOCA DOWNLOAD UPDATE 1.3.4 + // ------------------------------------------ + + $query=' SELECT title FROM '.$db->quoteName('#__phocadownload_settings').' WHERE title = \'description\' LIMIT 1;'."\n"; + $db->setQuery($query); + + if (!$result = $db->loadObject()) { + $query = "INSERT INTO ".$db->quoteName('#__phocadownload_settings')." VALUES (null, 'description', '','', 'textareaeditor');"."\n"; + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + } + + $updatePU = false; + $errorMsg = ''; + $updatePU = $this->AddColumnIfNotExists( $errorMsg, "#__phocadownload", "publish_up", "datetime NOT NULL default '0000-00-00 00:00:00'", "date" ); + if (!$updatePU) { + $msgSQL .= 'Error while updating Publish Up column'; + } + + $updatePD = false; + $errorMsg = ''; + $updatePD = $this->AddColumnIfNotExists( $errorMsg, "#__phocadownload", "publish_down", "datetime NOT NULL default '0000-00-00 00:00:00'", "date" ); + if (!$updatePD) { + $msgSQL .= 'Error while updating Publish Down column'; + } + + + // ------------------------------------------ + // PHOCA DOWNLOAD UPDATE 1.3.4 + // ------------------------------------------ + + // Access User ID + $updateAid = false; + $updateAid = $this->AddColumnIfNotExists($errorMsg, "#__phocadownload_categories", "accessuserid", "text", "access" ); + if (!$updateAid) { + $msgSQL .= 'Error while updating Access User ID column
'; + } + + // Delete User ID + $updateDid = false; + $updateDid = $this->AddColumnIfNotExists($errorMsg, "#__phocadownload_categories", "deleteuserid", "text", "access" ); + if (!$updateDid) { + $msgSQL .= 'Error while updating Delete User ID column
'; + } + + */ + // CHECK TABLES + + $query =' SELECT * FROM '.$db->quoteName('#__phocadownload').' LIMIT 1;'; + $db->setQuery( $query ); + $result = $db->loadResult(); + if ($db->getErrorNum()) { + $msgSQL .= $db->getErrorMsg(). '
'; + } + + $query =' SELECT * FROM '.$db->quoteName('#__phocadownload_categories').' LIMIT 1;'; + $db->setQuery( $query ); + $result = $db->loadResult(); + if ($db->getErrorNum()) { + $msgSQL .= $db->getErrorMsg(). '
'; + } + /* + $query =' SELECT * FROM '.$db->quoteName('#__phocadownload_sections').' LIMIT 1;'; + $db->setQuery( $query ); + $result = $db->loadResult(); + if ($db->getErrorNum()) { + $msgSQL .= $db->getErrorMsg(). '
'; + } + + $query =' SELECT * FROM '.$db->quoteName('#__phocadownload_settings').' LIMIT 1;'; + $db->setQuery( $query ); + $result = $db->loadResult(); + if ($db->getErrorNum()) { + $msgSQL .= $db->getErrorMsg(). '
'; + } + */ + $query =' SELECT * FROM '.$db->quoteName('#__phocadownload_user_stat').' LIMIT 1;'; + $db->setQuery( $query ); + $result = $db->loadResult(); + if ($db->getErrorNum()) { + $msgSQL .= $db->getErrorMsg(). '
'; + } + + $query =' SELECT * FROM '.$db->quoteName('#__phocadownload_licenses').' LIMIT 1;'; + $db->setQuery( $query ); + $result = $db->loadResult(); + if ($db->getErrorNum()) { + $msgSQL .= $db->getErrorMsg(). '
'; + } + + $query =' SELECT * FROM '.$db->quoteName('#__phocadownload_tags').' LIMIT 1;'; + $db->setQuery( $query ); + $result = $db->loadResult(); + if ($db->getErrorNum()) { + $msgSQL .= $db->getErrorMsg(). '
'; + } + + $query =' SELECT * FROM '.$db->quoteName('#__phocadownload_layout').' LIMIT 1;'; + $db->setQuery( $query ); + $result = $db->loadObjectList(); + if ($db->getErrorNum()) { + $msgSQL .= $db->getErrorMsg(). '
'; + } + + if ((!isset($result->categories) && !isset($result->category) && !isset($result->file)) || + (isset($result->categories) && $result->category == '' && isset($result->category) && $result->category == '' && isset($result->file) && $result->file == '') + ) { + + $query ='INSERT INTO '.$db->quoteName('#__phocadownload_layout').' ('."\n"; + $query.=' '.$db->quoteName('id').' ,'."\n"; + $query.=' '.$db->quoteName('categories').' ,'."\n"; + $query.=' '.$db->quoteName('category').' ,'."\n"; + $query.=' '.$db->quoteName('file').' ,'."\n"; + $query.=' '.$db->quoteName('checked_out').' ,'."\n"; + $query.=' '.$db->quoteName('checked_out_time').' ,'."\n"; + $query.=' '.$db->quoteName('params').' )'."\n"; + $query.=' VALUES ('."\n"; + $query.=' NULL,'."\n"; + + $query.=' '.$db->Quote('
+
{pdtitle}
+{pdsubcategories} +{pdclear} +
').','."\n"; + $query.=' '.$db->Quote('
+{pdfiledesctop} +{pdfile} +
{pdbuttondownload}
+
{pdbuttondetails}
+
{pdbuttonpreview}
+
{pdbuttonplay}
+
{pdmirrorlink2} {pdmirrorlink1}
+
{pdrating}
+
{pdtags}
+{pdfiledescbottom} +
+
').','."\n"; + $query.=' '.$db->Quote('
+{pdimage} +{pdfile} +{pdfilesize} +{pdversion} +{pdlicense} +{pdauthor} +{pdauthoremail} +{pdfiledate} +{pddownloads} +{pddescription} +{pdfeatures} +{pdchangelog} +{pdnotes} +
{pdmirrorlink2} {pdmirrorlink1}
+
{pdreportlink}
+
{pdrating}
+
{pdtags}
+
+
').','."\n"; + $query.=' '.$db->Quote('0').','."\n"; + $query.=' '.$db->Quote('0000-00-00 00:00:00').','."\n"; + $query.=' NULL'."\n"; + $query.=' );'."\n"; + + $db->setQuery( $query ); + if (!$result = $db->query()){$msgSQL .= $db->stderr() . '
';} + } + // - - - - - - - - - - - - - - - - + + + // ------------------------------------------ + // PHOCA DOWNLOAD UPDATE 2.1.1 + // ------------------------------------------ + + $updateVL = false; + $errorMsg = ''; + $updateVL = $this->AddColumnIfNotExists( $errorMsg, "#__phocadownload", "video_filename", "varchar(255) NOT NULL default ''", "params" ); + if (!$updateVL) { + $msgSQL .= 'Error while updating Video Filename column'; + } + + + + // Error + if ($msgSQL !='') { + $msgError .= '
' . $msgSQL; + } + if ($msgFile !='') { + $msgError .= '
' . $msgFile; + } + + // End Message + if ($msgError !='') { + $msg = JText::_( 'Phoca Download not successfully upgraded' ) . ': ' . $msgError; + } else { + $msg = JText::_( 'Phoca Download successfully upgraded' ); + } + + $link = 'index.php?option=com_phocadownload'; + $this->setRedirect($link, $msg); + } + + function AddColumnIfNotExists(&$errorMsg, $table, $column, $attributes = "INT( 11 ) NOT NULL default '0'", $after = '' ) { + + + $db = JFactory::getDBO(); + $columnExists = false; + + $query = 'SHOW COLUMNS FROM '.$table; + $db->setQuery( $query ); + if (!$result = $db->query()){return false;} + $columnData = $db->loadObjectList(); + + foreach ($columnData as $valueColumn) { + if ($valueColumn->Field == $column) { + $columnExists = true; + break; + } + } + + if (!$columnExists) { + if ($after != '') { + $query = 'ALTER TABLE '.$db->quoteName($table).' ADD '.$db->quoteName($column).' '.$attributes.' AFTER '.$db->quoteName($after).';'; + } else { + $query = 'ALTER TABLE '.$db->quoteName($table).' ADD '.$db->quoteName($column).' '.$attributes.';'; + } + $db->setQuery( $query ); + if (!$result = $db->query()){return false;} + $errorMsg = 'notexistcreated'; + } + + return true; + } +} +// utf-8 test: ä,ö,ü,ø,ž +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadlayout.php b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadlayout.php new file mode 100644 index 00000000..5a854b74 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadlayout.php @@ -0,0 +1,110 @@ +clean(); + } + } + + protected function allowAdd($data = array()) { + $user = JFactory::getUser(); + $allow = null; + $allow = $user->authorise('core.create', 'com_phocadownload'); + if ($allow === null) { + return parent::allowAdd($data); + } else { + return $allow; + } + } + + protected function allowEdit($data = array(), $key = 'id') { + $user = JFactory::getUser(); + $allow = null; + $allow = $user->authorise('core.edit', 'com_phocadownload'); + if ($allow === null) { + return parent::allowEdit($data, $key); + } else { + return $allow; + } + } + + public function back($key = null) { + JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN')); + + // Initialise variables. + $app = JFactory::getApplication(); + $model = $this->getModel(); + $table = $model->getTable(); + $checkin = property_exists($table, 'checked_out'); + $context = "$this->option.edit.$this->context"; + + if (empty($key)) + { + $key = $table->getKeyName(); + } + + $recordId = JRequest::getInt($key); + + + // Attempt to check-in the current record. + if ($recordId) + { + // Check we are holding the id in the edit list. + if (!$this->checkEditId($context, $recordId)) + { + // Somehow the person just went to the form - we don't allow that. + $this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_UNHELD_ID', $recordId)); + $this->setMessage($this->getError(), 'error'); + $this->setRedirect(JRoute::_('index.php?option=' . $this->option, false)); + + return false; + } + + if ($checkin) + { + if ($model->checkin($recordId) === false) + { + // Check-in failed, go back to the record and display a notice. + $this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_CHECKIN_FAILED', $model->getError())); + $this->setMessage($this->getError(), 'error'); + $this->setRedirect(JRoute::_('index.php?option=' . $this->option, false)); + + return false; + } + } + } + + // Clean the session data and redirect. + $this->releaseEditId($context, $recordId); + $app->setUserState($context . '.data', null); + $this->setRedirect(JRoute::_('index.php?option=' . $this->option, false)); + + return true; + } +} \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadlayouts.php b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadlayouts.php new file mode 100644 index 00000000..50e30842 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadlayouts.php @@ -0,0 +1,18 @@ + diff --git a/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadlic.php b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadlic.php new file mode 100644 index 00000000..06b74628 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadlic.php @@ -0,0 +1,45 @@ +authorise('core.create', 'com_phocadownload'); + if ($allow === null) { + return parent::allowAdd($data); + } else { + return $allow; + } + } + + protected function allowEdit($data = array(), $key = 'id') { + $user = JFactory::getUser(); + $allow = null; + $allow = $user->authorise('core.edit', 'com_phocadownload'); + if ($allow === null) { + return parent::allowEdit($data, $key); + } else { + return $allow; + } + } + +} +?> diff --git a/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadlics.php b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadlics.php new file mode 100644 index 00000000..431a7800 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadlics.php @@ -0,0 +1,36 @@ + true)); + return $model; + } + + public function saveOrderAjax() { + JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN')); + $pks = $this->input->post->get('cid', array(), 'array'); + $order = $this->input->post->get('order', array(), 'array'); + JArrayHelper::toInteger($pks); + JArrayHelper::toInteger($order); + $model = $this->getModel(); + $return = $model->saveorder($pks, $order); + if ($return) { echo "1";} + JFactory::getApplication()->close(); + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadlinkfile.php b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadlinkfile.php new file mode 100644 index 00000000..67a47252 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadlinkfile.php @@ -0,0 +1,18 @@ + diff --git a/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadlogs.php b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadlogs.php new file mode 100644 index 00000000..4baae69b --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadlogs.php @@ -0,0 +1,32 @@ +registerTask( 'reset', 'reset'); + } + + function reset() { + + $model = $this->getModel( 'phocadownloadlog' ); + + if ($model->reset($cid)) { + $msg = JText::_( 'COM_PHOCADOWNLOAD_SUCCESS_RESET_LOG_STAT' ); + } else { + $msg = JText::_( 'COM_PHOCADOWNLOAD_ERROR_RESET_LOG_STAT' ); + } + + $link = 'index.php?option=com_phocadownload&view=phocadownloadlogs'; + $this->setRedirect($link, $msg); + } +} +?> diff --git a/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadm.php b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadm.php new file mode 100644 index 00000000..7d6c1989 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadm.php @@ -0,0 +1,56 @@ +layout = 'edit'; + } + + protected function allowAdd($data = array()) { + $user = JFactory::getUser(); + $allow = null; + $allow = $user->authorise('core.create', 'com_phocadownload'); + if ($allow === null) { + return parent::allowAdd($data); + } else { + return $allow; + } + } + + protected function allowEdit($data = array(), $key = 'id') { + $user = JFactory::getUser(); + $allow = null; + $allow = $user->authorise('core.edit', 'com_phocadownload'); + if ($allow === null) { + return parent::allowEdit($data, $key); + } else { + return $allow; + } + } + + function edit($key = NULL, $urlVar = NULL) { + $this->setRedirect(JRoute::_('index.php?option='.$this->option.'&view='.$this->view_list.'&layout='.$this->layout.'&manager=filemultiple', false)); + } + + function cancel($key = NULL) { + $this->setRedirect( 'index.php?option=com_phocadownload&view=phocadownloadfiles' ); + } +} +?> diff --git a/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadrafile.php b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadrafile.php new file mode 100644 index 00000000..a5c4fbf0 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadrafile.php @@ -0,0 +1,33 @@ + true)); + return $model; + } + + public function saveOrderAjax() { + $pks = $this->input->post->get('cid', array(), 'array'); + $order = $this->input->post->get('order', array(), 'array'); + JArrayHelper::toInteger($pks); + JArrayHelper::toInteger($order); + $model = $this->getModel(); + $return = $model->saveorder($pks, $order); + if ($return) { echo "1";} + JFactory::getApplication()->close(); + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadset.php b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadset.php new file mode 100644 index 00000000..c9c7fbb8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadset.php @@ -0,0 +1,67 @@ +registerTask( 'apply' , 'save' ); + } + + function save() { + $post = JRequest::get('post'); + $phocaSet = JRequest::getVar( 'phocaset', array(0), 'post', 'array' ); + + $model = $this->getModel( 'phocadownloadset' ); + $errorMsg = ''; + switch ( JRequest::getCmd('task') ) { + case 'apply': + + if ($model->store($phocaSet, $errorMsg)) { + $msg = JText::_( 'Changes to Phoca Download Settings Saved' ); + if ($errorMsg != '') { + $msg .= '
'.JText::_($errorMsg); + } + } else { + $msg = JText::_( 'Error Saving Phoca Download Settings' ); + } + $this->setRedirect( 'index.php?option=com_phocadownload&view=phocadownloadset', $msg ); + break; + + case 'save': + default: + if ($model->store($phocaSet, $errorMsg)) { + $msg = JText::_( 'Phoca Download Settings Saved' ); + if ($errorMsg != '') { + $msg .= '
'.JText::_($errorMsg); + } + } else { + $msg = JText::_( 'Error Saving Phoca Download Settings' ); + } + $this->setRedirect( 'index.php?option=com_phocadownload', $msg ); + break; + } + // Check the table in so it can be edited.... we are done with it anyway + $model->checkin(); + } + + + function cancel($key = NULL) { + $model = $this->getModel( 'phocadownload' ); + $model->checkin(); + + $this->setRedirect( 'index.php?option=com_phocadownload' ); + } +} +?> diff --git a/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadstat.php b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadstat.php new file mode 100644 index 00000000..901379f0 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadstat.php @@ -0,0 +1,44 @@ +getModel( 'phocadownload' ); + $model->checkin(); + + $this->setRedirect( 'index.php?option=com_phocadownload' ); + }*/ + + public function back($key = null) { + JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN')); + $this->setRedirect(JRoute::_('index.php?option=com_phocadownload', false)); + + return true; + } + + public function saveOrderAjax() { + JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN')); + $pks = $this->input->post->get('cid', array(), 'array'); + $order = $this->input->post->get('order', array(), 'array'); + JArrayHelper::toInteger($pks); + JArrayHelper::toInteger($order); + $model = $this->getModel(); + $return = $model->saveorder($pks, $order); + if ($return) { echo "1";} + JFactory::getApplication()->close(); + } +} +?> diff --git a/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadstyle.php b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadstyle.php new file mode 100644 index 00000000..e82a4142 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadstyle.php @@ -0,0 +1,43 @@ +authorise('core.create', 'com_phocadownload'); + if ($allow === null) { + return parent::allowAdd($data); + } else { + return $allow; + } + } + + protected function allowEdit($data = array(), $key = 'id') { + $user = JFactory::getUser(); + $allow = null; + $allow = $user->authorise('core.edit', 'com_phocadownload'); + if ($allow === null) { + return parent::allowEdit($data, $key); + } else { + return $allow; + } + } +} +?> diff --git a/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadstyles.php b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadstyles.php new file mode 100644 index 00000000..6e34c6bf --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadstyles.php @@ -0,0 +1,39 @@ +registerTask('apply', 'save'); + } + + public function &getModel($name = 'PhocaDownloadStyle', $prefix = 'PhocaDownloadCpModel', $config = array()) { + $model = parent::getModel($name, $prefix, array('ignore_request' => true)); + return $model; + } + + public function saveOrderAjax() { + JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN')); + $pks = $this->input->post->get('cid', array(), 'array'); + $order = $this->input->post->get('order', array(), 'array'); + JArrayHelper::toInteger($pks); + JArrayHelper::toInteger($order); + $model = $this->getModel(); + $return = $model->saveorder($pks, $order); + if ($return) { echo "1";} + JFactory::getApplication()->close(); + } + + +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadtag.php b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadtag.php new file mode 100644 index 00000000..5a4ccfc2 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadtag.php @@ -0,0 +1,45 @@ +authorise('core.create', 'com_phocadownload'); + if ($allow === null) { + return parent::allowAdd($data); + } else { + return $allow; + } + } + + protected function allowEdit($data = array(), $key = 'id') { + $user = JFactory::getUser(); + $allow = null; + $allow = $user->authorise('core.edit', 'com_phocadownload'); + if ($allow === null) { + return parent::allowEdit($data, $key); + } else { + return $allow; + } + } + +} +?> diff --git a/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadtags.php b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadtags.php new file mode 100644 index 00000000..022b9f5e --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadtags.php @@ -0,0 +1,34 @@ + true)); + return $model; + } + + public function saveOrderAjax() { + JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN')); + $pks = $this->input->post->get('cid', array(), 'array'); + $order = $this->input->post->get('order', array(), 'array'); + JArrayHelper::toInteger($pks); + JArrayHelper::toInteger($order); + $model = $this->getModel(); + $return = $model->saveorder($pks, $order); + if ($return) { echo "1";} + JFactory::getApplication()->close(); + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloaduninstall.php b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloaduninstall.php new file mode 100644 index 00000000..a93d2777 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloaduninstall.php @@ -0,0 +1,37 @@ +registerTask( 'remove' , 'remove' ); + $this->registerTask( 'keep' , 'keep' ); + } + + + + function remove() + { + + } + + function keep() + { + + } +} \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadupload.php b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadupload.php new file mode 100644 index 00000000..db45dd28 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloadupload.php @@ -0,0 +1,116 @@ +get( 'folder_permissions', 0755 ); + //$folder_permissions = octdec((int)$folder_permissions); + + + $folderNew = JRequest::getCmd( 'foldername', ''); + $folderCheck = JRequest::getVar( 'foldername', null, '', 'string', JREQUEST_ALLOWRAW); + $parent = JRequest::getVar( 'folderbase', '', '', 'path' ); + $tab = JRequest::getVar( 'tab', 0, '', 'string' ); + $field = JRequest::getVar( 'field'); + $viewBack = JRequest::getVar( 'viewback', '', '', 'phocadownloadmanager' ); + $manager = JRequest::getVar( 'manager', 'file', '', 'string' ); + + + $link = ''; + if ($manager != '') { + $group = PhocaDownloadSettings::getManagerGroup($manager); + $link = 'index.php?option=com_phocadownload&view='.(string)$viewBack.'&manager='.(string)$manager + .str_replace('&', '&', $group['c']).'&folder='.$parent.'&tab='.(string)$tab.'&field='.$field; + $path = PhocaDownloadPath::getPathSet($manager);// we use viewback to get right path + } else { + + $app->enqueueMessage( JText::_('COM_PHOCADOWNLOAD_ERROR_CONTROLLER_MANAGER_NOT_SET')); + $app->redirect('index.php?option=com_phocadownload'); + exit; + } + + JRequest::setVar('folder', $parent); + + if (($folderCheck !== null) && ($folderNew !== $folderCheck)) { + $app->enqueueMessage( JText::_('COM_PHOCADOWNLOAD_WARNING_DIRNAME')); + $app->redirect($link); + } + + if (strlen($folderNew) > 0) { + $folder = JPath::clean($path['orig_abs_ds'].$parent.DS.$folderNew); + + if (!JFolder::exists($folder) && !JFile::exists($folder)) { + //JFolder::create($path, $folder_permissions ); + + switch((int)$folder_permissions) { + case 777: + JFolder::create($folder, 0777 ); + break; + case 705: + JFolder::create($folder, 0705 ); + break; + case 666: + JFolder::create($folder, 0666 ); + break; + case 644: + JFolder::create($folder, 0644 ); + break; + case 755: + Default: + JFolder::create($folder, 0755 ); + break; + } + if (isset($folder)) { + $data = "\n\n\n"; + JFile::write($folder.DS."index.html", $data); + } else { + $app->redirect($link, JText::_('COM_PHOCADOWNLOAD_ERROR_FOLDER_CREATING')); + } + + $app->redirect($link, JText::_('COM_PHOCADOWNLOAD_SUCCESS_FOLDER_CREATING')); + } else { + $app->redirect($link, JText::_('COM_PHOCADOWNLOAD_ERROR_FOLDER_CREATING_EXISTS')); + } + //JRequest::setVar('folder', ($parent) ? $parent.'/'.$folder : $folder); + } + $app->redirect($link); + } + + function multipleupload() { + $result = PhocaDownloadFileUpload::realMultipleUpload(); + return true; + } + + function upload() { + $result = PhocaDownloadFileUpload::realSingleUpload(); + return true; + } + + +} \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloaduploads.php b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloaduploads.php new file mode 100644 index 00000000..62838726 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/controllers/phocadownloaduploads.php @@ -0,0 +1,30 @@ +registerTask( 'approveall', 'approveall'); + } + + function approveall() { + + $model = $this->getModel('phocadownloadupload'); + if(!$model->approveall()) { + $msg = JText::_( 'COM_PHOCADOWNLOAD_ERROR_APPROVE_ALL' ); + } else { + $msg = JText::_( 'COM_PHOCADOWNLOAD_ALL_APPROVED' ); + } + + $this->setRedirect( 'index.php?option=com_phocadownload&view=phocadownloaduploads' , $msg); + } +} +?> diff --git a/packages/phocadownload/administrator/components/com_phocadownload/help/en-GB/index.html b/packages/phocadownload/administrator/components/com_phocadownload/help/en-GB/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/help/en-GB/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/help/en-GB/logo-phoca.png b/packages/phocadownload/administrator/components/com_phocadownload/help/en-GB/logo-phoca.png new file mode 100644 index 00000000..07de8823 Binary files /dev/null and b/packages/phocadownload/administrator/components/com_phocadownload/help/en-GB/logo-phoca.png differ diff --git a/packages/phocadownload/administrator/components/com_phocadownload/help/en-GB/screen.phocadownload.html b/packages/phocadownload/administrator/components/com_phocadownload/help/en-GB/screen.phocadownload.html new file mode 100644 index 00000000..c73d426a --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/help/en-GB/screen.phocadownload.html @@ -0,0 +1,31 @@ + + + + +Phoca Download + + + + +

Phoca Download

+
+ +
+

 

+

 

+

+Phoca Download Main Site
+Phoca Download User Manual
+Phoca Download Forum
+

+

 

+

 

+

 

+Close window + + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/help/index.html b/packages/phocadownload/administrator/components/com_phocadownload/help/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/help/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/help/logo-phoca.png b/packages/phocadownload/administrator/components/com_phocadownload/help/logo-phoca.png new file mode 100644 index 00000000..07de8823 Binary files /dev/null and b/packages/phocadownload/administrator/components/com_phocadownload/help/logo-phoca.png differ diff --git a/packages/phocadownload/administrator/components/com_phocadownload/help/screen.phocadownload.html b/packages/phocadownload/administrator/components/com_phocadownload/help/screen.phocadownload.html new file mode 100644 index 00000000..c73d426a --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/help/screen.phocadownload.html @@ -0,0 +1,31 @@ + + + + +Phoca Download + + + + +

Phoca Download

+
+ +
+

 

+

 

+

+Phoca Download Main Site
+Phoca Download User Manual
+Phoca Download Forum
+

+

 

+

 

+

 

+Close window + + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/helpers/index.html b/packages/phocadownload/administrator/components/com_phocadownload/helpers/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/helpers/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadcats.php b/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadcats.php new file mode 100644 index 00000000..19c7f226 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadcats.php @@ -0,0 +1,29 @@ +set($action, $user->authorise($action, $assetName)); + } + return $result; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadcp.php b/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadcp.php new file mode 100644 index 00000000..d45ed77a --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadcp.php @@ -0,0 +1,24 @@ +set($action, $user->authorise($action, $assetName)); + } + return $result; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloaddownloads.php b/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloaddownloads.php new file mode 100644 index 00000000..b5fc0342 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloaddownloads.php @@ -0,0 +1,30 @@ +set($action, $user->authorise($action, $assetName)); + } + return $result; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadfiles.php b/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadfiles.php new file mode 100644 index 00000000..3e74516d --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadfiles.php @@ -0,0 +1,29 @@ +set($action, $user->authorise($action, $assetName)); + } + return $result; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadlayouts.php b/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadlayouts.php new file mode 100644 index 00000000..7f5014c8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadlayouts.php @@ -0,0 +1,51 @@ +set($action, $user->authorise($action, $assetName)); + } + return $result; + } + + public static function getTableId() { + + $idString = ''; + $db = JFactory::getDBO(); + $query = ' SELECT a.id' + .' FROM #__phocadownload_layout AS a'; + $db->setQuery($query, 0,1); + + if (!$db->query()) { + $this->setError('Database Error - Getting Layout ID'); + return false; + } + $idO = $db->loadObject(); + + //First autoincrement line can be different + if (isset($idO->id) && $idO->id > 0) { + $idString = '&id='.(int)$idO->id; + } + return $idString; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadlics.php b/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadlics.php new file mode 100644 index 00000000..b191f52a --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadlics.php @@ -0,0 +1,29 @@ +set($action, $user->authorise($action, $assetName)); + } + return $result; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadlogs.php b/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadlogs.php new file mode 100644 index 00000000..5a2a5199 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadlogs.php @@ -0,0 +1,30 @@ +set($action, $user->authorise($action, $assetName)); + } + return $result; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadmanager.php b/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadmanager.php new file mode 100644 index 00000000..6e2a4560 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadmanager.php @@ -0,0 +1,36 @@ +set($action, $user->authorise($action, $assetName)); + } + return $result; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadrafile.php b/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadrafile.php new file mode 100644 index 00000000..60ad8784 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadrafile.php @@ -0,0 +1,36 @@ +set($action, $user->authorise($action, $assetName)); + } + return $result; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadrate.php b/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadrate.php new file mode 100644 index 00000000..ad3826fb --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadrate.php @@ -0,0 +1,313 @@ +setQuery($query, 0, 1); + $votesStatistics = $db->loadObject(); + // if no count, set the average to 0 + if($votesStatistics->count == 0) { + $votesStatistics->count = (int)0; + $votesStatistics->average = (float)0; + } + + if (isset($votesStatistics->count) && isset($votesStatistics->average)) { + // Insert or update + $query = 'SELECT vs.id AS id' + .' FROM #__phocadownload_file_votes_statistics AS vs' + .' WHERE vs.fileid = '.(int) $fileid; + $db->setQuery($query, 0, 1); + $votesStatisticsId = $db->loadObject(); + + // Yes, there is id (UPDATE) x No, there isn't (INSERT) + if (!empty($votesStatisticsId->id)) { + + $query = 'UPDATE #__phocadownload_file_votes_statistics' + .' SET count = ' .(int)$votesStatistics->count + .' , average = ' .(float)$votesStatistics->average + .' WHERE fileid = '.(int) $fileid; + $db->setQuery($query); + + if (!$db->query()) { + $this->setError('Database Error Voting 1'); + return false; + } + + } else { + + $query = 'INSERT into #__phocadownload_file_votes_statistics' + .' (id, fileid, count, average)' + .' VALUES (null, '.(int)$fileid + .' , '.(int)$votesStatistics->count + .' , '.(float)$votesStatistics->average + .')'; + $db->setQuery($query); + + if (!$db->query()) { + $this->setError('Database Error Voting 2'); + return false; + } + + } + } else { + return false; + } + return true; + } + + function getVotesStatisticsFile($id) { + + $db = JFactory::getDBO(); + $query = 'SELECT vs.count AS count, vs.average AS average' + .' FROM #__phocadownload_file_votes_statistics AS vs' + .' WHERE vs.fileid = '.(int) $id; + $db->setQuery($query, 0, 1); + $votesStatistics = $db->loadObject(); + + return $votesStatistics; + } + + function checkUserVoteFile($fileid, $userid) { + + $db = JFactory::getDBO(); + $query = 'SELECT v.id AS id' + .' FROM #__phocadownload_file_votes AS v' + .' WHERE v.fileid = '. (int)$fileid + .' AND v.userid = '. (int)$userid; + $db->setQuery($query, 0, 1); + $checkUserVote = $db->loadObject(); + if ($checkUserVote) { + return true; + } + return false; + } + + + public function renderRateFile($id, $displayRating, $small = 1, $refresh = false) { + + $user = JFactory::getUser(); + $neededAccessLevels = PhocaDownloadAccess::getNeededAccessLevels(); + $access = PhocaDownloadAccess::isAccess($user->getAuthorisedViewLevels(), $neededAccessLevels); + + + if ($small == 1) { + $smallO = '-small'; + $ratio = 18; + } else { + $smallO = ''; + $ratio = 22; + } + + $o = ''; + + //.$rating['urlvote'].$amp.'controller=detail&task=rate&rating=1 + //$amp = PhocaDownloadUtils::setQuestionmarkOrAmp($rating['urlvote']); + $href = 'javascript:void(0);'; + + if ((int)$displayRating != 1) { + return ''; + } else { + + $rating['alreadyratedfile'] = self::checkUserVoteFile( (int)$id, (int)$user->id ); + + $rating['notregisteredfile'] = true; + //$rating['usernamefile'] = ''; + if ($access > 0) { + $rating['notregisteredfile'] = false; + $rating['usernamefile'] = $user->name; + } + + $rating['votescountfile'] = 0; + $rating['votesaveragefile'] = 0; + $rating['voteswidthfile'] = 0; + $votesStatistics = self::getVotesStatisticsFile((int)$id); + if (!empty($votesStatistics->count)) { + $rating['votescountfile'] = $votesStatistics->count; + } + if (!empty($votesStatistics->average)) { + $rating['votesaveragefile'] = $votesStatistics->average; + if ($rating['votesaveragefile'] > 0) { + $rating['votesaveragefile'] = round(((float)$rating['votesaveragefile'] / 0.5)) * 0.5; + $rating['voteswidthfile'] = $ratio * $rating['votesaveragefile']; + } else { + $rating['votesaveragefile'] = (int)0;// not float displaying + } + } + + // Leave message for already voted images + //$vote = JRequest::getVar('vote', 0, '', 'int'); + $voteMsg = JText::_('COM_PHOCADOWNLOAD_RATING_ALREADY_RATED_FILE'); + //if ($vote == 1) { + // $voteMsg = JText::_('COM_PHOCADOWNLOAD_ALREADY_RATED_FILE_THANKS'); + //} + + $rating['votestextimg'] = 'VOTE'; + if ((int)$rating['votescountfile'] > 1) { + $rating['votestextimg'] = 'VOTES'; + } + + $o .= '
' + . JText::_('COM_PHOCADOWNLOAD_RATING'). ': ' . $rating['votesaveragefile'] .' / ' + .$rating['votescountfile'] . ' ' . JText::_('COM_PHOCADOWNLOAD_'.$rating['votestextimg']). '  
'; + + if ($rating['alreadyratedfile']) { + $o .= '
'; + + $or ='
'.JText::_('COM_PHOCADOWNLOAD_RATING_ALREADY_RATED_FILE').'
'; + + } else if ($rating['notregisteredfile']) { + + $o .= '
'; + + $or ='
'.JText::_('COM_PHOCADOWNLOAD_ONLY_REGISTERED_LOGGED_RATE_FILE').'
'; + + } else { + + $o .= '
'; + + $or ='
'; + } + + + + } + + if ($refresh == true) { + return $o;//we are in Ajax, return only content of pdvoting div + } else { + return '
'.$o.'
' .$or ;//not in ajax, return the contend in div + } + + + } + + public function renderRateFileJS($small = 1) { + + $document = JFactory::getDocument(); + $url = 'index.php?option=com_phocadownload&view=ratingfilea&task=rate&format=json&'.JSession::getFormToken().'=1'; + $urlRefresh = 'index.php?option=com_phocadownload&view=ratingfilea&task=refreshrate&small='.$small.'&format=json&'.JSession::getFormToken().'=1'; + $imgLoadingUrl = JURI::base(). 'components/com_phocadownload/assets/images/icon-loading2.gif'; + $imgLoadingHTML = ''; + $js = ''; + $document->addCustomTag($js); + + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadstat.php b/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadstat.php new file mode 100644 index 00000000..79ab1be1 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadstat.php @@ -0,0 +1,29 @@ +set($action, $user->authorise($action, $assetName)); + } + return $result; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadstyles.php b/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadstyles.php new file mode 100644 index 00000000..057a5d94 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadstyles.php @@ -0,0 +1,29 @@ +set($action, $user->authorise($action, $assetName)); + } + return $result; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadtags.php b/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadtags.php new file mode 100644 index 00000000..d404577e --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloadtags.php @@ -0,0 +1,29 @@ +set($action, $user->authorise($action, $assetName)); + } + return $result; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloaduploads.php b/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloaduploads.php new file mode 100644 index 00000000..24b4b90f --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocadownloaduploads.php @@ -0,0 +1,29 @@ +set($action, $user->authorise($action, $assetName)); + } + return $result; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocauserstat.php b/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocauserstat.php new file mode 100644 index 00000000..5af96a98 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/helpers/phocauserstat.php @@ -0,0 +1,62 @@ +quoteName('#__phocadownload_user_stat') + .' WHERE '. $db->quoteName('userid') + .' = ' + .$db->Quote((int)$user->id) + .' AND '. $db->quoteName('fileid') + .' = ' + .$db->Quote((int)$downloadId); + + $db->setQuery($query); + $results = $db->loadObjectList(); + + $date = gmdate('Y-m-d H:i:s'); + if ($results) { + // Update count + $query = 'UPDATE '.$db->quoteName('#__phocadownload_user_stat') + .' SET count = (count + 1),' + .' date = '.$db->Quote($date) + .' WHERE userid = '.$db->Quote((int)$user->id) + .' AND fileid = '.$db->Quote((int)$downloadId); + + $db->setQuery($query); + $db->query(); + } else { + + $query = 'INSERT INTO '.$db->quoteName('#__phocadownload_user_stat') + .' ('.$db->quoteName('count').',' + .' '.$db->quoteName('userid').',' + .' '.$db->quoteName('fileid').',' + .' '.$db->quoteName('date').')' + .' VALUES ('.$db->Quote(1).',' + .' '.$db->Quote((int)$user->id).',' + .' '.$db->Quote((int)$downloadId).',' + .' '.$db->Quote($date).')'; + $db->setQuery($query); + $db->query(); + } + return true; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/index.html b/packages/phocadownload/administrator/components/com_phocadownload/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/install/index.html b/packages/phocadownload/administrator/components/com_phocadownload/install/index.html new file mode 100644 index 00000000..ea9e94c1 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/install/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/install/script.php b/packages/phocadownload/administrator/components/com_phocadownload/install/script.php new file mode 100644 index 00000000..583a4a1e --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/install/script.php @@ -0,0 +1,140 @@ +' . JText::_('COM_PHOCAGALLLERY_INSTALL_TEXT') . '

'; + + + $folder[0][0] = 'phocadownload' ; + $folder[0][1] = JPATH_ROOT . DS . $folder[0][0]; + + $folder[1][0] = 'images' . DS . 'phocadownload' ; + $folder[1][1] = JPATH_ROOT . DS . $folder[1][0]; + + $folder[2][0] = 'phocadownload' . DS .'userupload'; + $folder[2][1] = JPATH_ROOT . DS . $folder[2][0]; + + $folder[3][0] = 'phocadownloadpap'; + $folder[3][1] = JPATH_ROOT . DS . $folder[3][0]; + + $folder[4][0] = 'phocadownloadpap' . DS .'userupload'; + $folder[4][1] = JPATH_ROOT . DS . $folder[4][0]; + + $message = ''; + $error = array(); + foreach ($folder as $key => $value) + { + if (!JFolder::exists( $value[1])) + { + if (JFolder::create( $value[1], 0755 )) + { + + $data = "\n\n\n"; + JFile::write($value[1].DS."index.html", $data); + $message .= '
Folder ' . $value[0] + .' created!
'; + $error[] = 0; + } + else + { + $message .= '
Folder ' . $value[0] + .' creation failed! Please create it manually.
'; + $error[] = 1; + } + } + else//Folder exist + { + $message .= '
Folder ' . $value[0] + .' exists!
'; + $error[] = 0; + } + } + + + JFactory::getApplication()->enqueueMessage($message, 'message'); + //$app = JFactory::getApplication(); + //$app->redirect(JRoute::_('index.php?option=com_phocadownload'), $message); + $parent->getParent()->setRedirectURL('index.php?option=com_phocadownload'); + } + function uninstall($parent) { + //echo '

' . JText::_('COM_PHOCAGALLLERY_UNINSTALL_TEXT') . '

'; + } + + function update($parent) { + //echo '

' . JText::sprintf('COM_PHOCADOWNLOAD_UPDATE_TEXT', $parent->get('manifest')->version) . '

'; + + $folder[0][0] = 'phocadownload' ; + $folder[0][1] = JPATH_ROOT . DS . $folder[0][0]; + + $folder[1][0] = 'images' . DS . 'phocadownload' ; + $folder[1][1] = JPATH_ROOT . DS . $folder[1][0]; + + $folder[2][0] = 'phocadownload' . DS .'userupload'; + $folder[2][1] = JPATH_ROOT . DS . $folder[2][0]; + + $folder[3][0] = 'phocadownloadpap'; + $folder[3][1] = JPATH_ROOT . DS . $folder[3][0]; + + $folder[4][0] = 'phocadownloadpap' . DS .'userupload'; + $folder[4][1] = JPATH_ROOT . DS . $folder[4][0]; + + $message = ''; + $error = array(); + foreach ($folder as $key => $value) + { + if (!JFolder::exists( $value[1])) + { + if (JFolder::create( $value[1], 0755 )) + { + + $data = "\n\n\n"; + JFile::write($value[1].DS."index.html", $data); + $message .= '
Folder ' . $value[0] + .' created!
'; + $error[] = 0; + } + else + { + $message .= '
Folder ' . $value[0] + .' creation failed! Please create it manually.
'; + $error[] = 1; + } + } + else//Folder exist + { + $message .= '
Folder ' . $value[0] + .' exists!
'; + $error[] = 0; + } + } + + $msg = JText::_('COM_PHOCADOWNLOAD_UPDATE_TEXT'); + $msg .= ' (' . JText::_('COM_PHOCADOWNLOAD_VERSION'). ': ' . $parent->get('manifest')->version . ')'; + + $msg .= '
'. $message; + //$parent->getParent()->setRedirectURL('index.php?option=com_phocadownload'); + $app = JFactory::getApplication(); + $app->enqueueMessage($msg); + $app->redirect(JRoute::_('index.php?option=com_phocadownload')); + } + + function preflight($type, $parent) { + //echo '

' . JText::_('COM_PHOCADOWNLOAD_PREFLIGHT_' . $type . '_TEXT') . '

'; + } + + function postflight($type, $parent) { + //echo '

' . JText::_('COM_PHOCADOWNLOAD_POSTFLIGHT_' . $type . '_TEXT') . '

'; + } +} \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/install/sql/index.html b/packages/phocadownload/administrator/components/com_phocadownload/install/sql/index.html new file mode 100644 index 00000000..ea9e94c1 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/install/sql/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/install/sql/mysql/index.html b/packages/phocadownload/administrator/components/com_phocadownload/install/sql/mysql/index.html new file mode 100644 index 00000000..ea9e94c1 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/install/sql/mysql/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/install/sql/mysql/install.utf8.sql b/packages/phocadownload/administrator/components/com_phocadownload/install/sql/mysql/install.utf8.sql new file mode 100644 index 00000000..bc93f5b7 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/install/sql/mysql/install.utf8.sql @@ -0,0 +1,278 @@ +-- -------------------------------------------------------------------- -- +-- Phoca Download manual installation -- +-- -------------------------------------------------------------------- -- +-- See documentation on http://www.phoca.cz/ -- +-- -- +-- Change all prefixes #__ to prefix which is set in your Joomla! site -- +-- (e.g. from #__phocadownload to jos_phocadownload) -- +-- Run this SQL queries in your database tool, e.g. in phpMyAdmin -- +-- If you have questions, just ask in Phoca Forum -- +-- http://www.phoca.cz/forum/ -- +-- -------------------------------------------------------------------- -- + +CREATE TABLE IF NOT EXISTS `#__phocadownload_categories` ( + `id` int(11) NOT NULL auto_increment, + `parent_id` int(11) NOT NULL default 0, + `section` int(11) NOT NULL default 0, + `title` varchar(255) NOT NULL default '', + `name` varchar(255) NOT NULL default '', + `alias` varchar(255) NOT NULL default '', + `image` varchar(255) NOT NULL default '', + `image_position` varchar(30) NOT NULL default '', + `description` text, + `published` tinyint(1) NOT NULL default '0', + `checked_out` int(11) unsigned NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `editor` varchar(50) default NULL, + `ordering` int(11) NOT NULL default '0', + `access` int(11) unsigned NOT NULL default '0', + `uploaduserid` text, + `accessuserid` text, + `deleteuserid` text, + `date` datetime NOT NULL default '0000-00-00 00:00:00', + `count` int(11) NOT NULL default '0', + `hits` int(11) NOT NULL default '0', + `params` text, + `metakey` text, + `metadesc` text, + `metadata` text, + `language` char(7) NOT NULL default '', + PRIMARY KEY (`id`), + KEY `cat_idx` (`section`,`published`,`access`), + KEY `idx_access` (`access`), + KEY `idx_checkout` (`checked_out`) +) default CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `#__phocadownload` ( + `id` int(11) unsigned NOT NULL auto_increment, + `catid` int(11) NOT NULL default '0', + `sectionid` int(11) NOT NULL default '0', + `sid` int(11) NOT NULL default '0', + `owner_id` int(11) NOT NULL default 0, + `title` varchar(250) NOT NULL default '', + `alias` varchar(255) NOT NULL default '', + `filename` varchar(250) NOT NULL default '', + `filename_play` varchar(250) NOT NULL default '', + `filename_preview` varchar(250) NOT NULL default '', + `filesize` int(11) NOT NULL default 0, + `author` varchar(255) NOT NULL default '', + `author_email` varchar(255) NOT NULL default '', + `author_url` varchar(255) NOT NULL default '', + `license` varchar(255) NOT NULL default '', + `license_url` varchar(255) NOT NULL default '', + `image_filename` varchar(255) NOT NULL default '', + `image_filename_spec1` varchar(255) NOT NULL default '', + `image_filename_spec2` varchar(255) NOT NULL default '', + `image_download` varchar(255) NOT NULL default '', + `video_filename` varchar(255) NOT NULL default '', + `link_external` varchar(255) NOT NULL default '', + `mirror1link` varchar(255) NOT NULL default '', + `mirror1title` varchar(255) NOT NULL default '', + `mirror1target` varchar(10) NOT NULL default '', + `mirror2link` varchar(255) NOT NULL default '', + `mirror2title` varchar(255) NOT NULL default '', + `mirror2target` varchar(10) NOT NULL default '', + `description` text, + `features` text, + `changelog` text, + `notes` text, + `userid` int(11) NOT NULL default '0', + `version` varchar(255) NOT NULL default '', + `directlink` tinyint(1) NOT NULL default '0', + `date` datetime NOT NULL default '0000-00-00 00:00:00', + `publish_up` datetime NOT NULL default '0000-00-00 00:00:00', + `publish_down` datetime NOT NULL default '0000-00-00 00:00:00', + `hits` int(11) NOT NULL default '0', + `textonly` tinyint(1) NOT NULL default '0', + `published` tinyint(1) NOT NULL default '0', + `approved` tinyint(1) NOT NULL default '0', + `checked_out` int(11) NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `ordering` int(11) NOT NULL default '0', + `access` int(11) unsigned NOT NULL default '0', + `confirm_license` int(11) NOT NULL default '0', + `unaccessible_file` int(11) NOT NULL default '0', + `token` char(64) default NULL, + `tokenhits` int(11) NOT NULL default 0, + `tags_string` varchar(255) NOT NULL default '', + `params` text, + `metakey` text, + `metadesc` text, + `metadata` text, + `language` char(7) NOT NULL default '', + PRIMARY KEY (`id`), + KEY `catid` (`catid`,`published`) +) default CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `#__phocadownload_user_stat` ( + `id` int(11) NOT NULL auto_increment, + `fileid` int(11) NOT NULL default '0', + `userid` int(11) NOT NULL default '0', + `count` int(11) NOT NULL default '0', + `date` datetime NOT NULL default '0000-00-00 00:00:00', + `published` tinyint(1) NOT NULL default '0', + `ordering` int(11) NOT NULL default '0', + `language` char(7) NOT NULL default '', + PRIMARY KEY (`id`) +) default CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `#__phocadownload_licenses` ( + `id` int(11) NOT NULL auto_increment, + `title` varchar(255) NOT NULL default '', + `alias` varchar(255) NOT NULL default '', + `description` text, + `checked_out` int(11) unsigned NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `published` tinyint(1) NOT NULL default '0', + `ordering` int(11) NOT NULL default '0', + `language` char(7) NOT NULL default '', + PRIMARY KEY (`id`) +) default CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `#__phocadownload_file_votes` ( + `id` int(11) NOT NULL auto_increment, + `fileid` int(11) NOT NULL default 0, + `userid` int(11) NOT NULL default 0, + `date` datetime NOT NULL default '0000-00-00 00:00:00', + `rating` tinyint(1) NOT NULL default '0', + `published` tinyint(1) NOT NULL default '0', + `checked_out` int(11) unsigned NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `ordering` int(11) NOT NULL default '0', + `params` text, + `language` char(7) NOT NULL default '', + PRIMARY KEY (`id`) +) default CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `#__phocadownload_file_votes_statistics` ( + `id` int(11) NOT NULL auto_increment, + `fileid` int(11) NOT NULL default 0, + `count` int(11) NOT NULL default '0', + `average` float(8,6) NOT NULL default '0', + `language` char(7) NOT NULL default '', + PRIMARY KEY (`id`) +) default CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `#__phocadownload_tags` ( + `id` int(11) NOT NULL auto_increment, + `title` varchar(255) NOT NULL default '', + `alias` varchar(255) NOT NULL default '', + `link_ext` varchar(255) NOT NULL default '', + `link_cat` int(11) unsigned NOT NULL default '0', + `description` text, + `published` tinyint(1) NOT NULL default '0', + `checked_out` int(11) unsigned NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `ordering` int(11) NOT NULL default '0', + `params` text, + `language` char(7) NOT NULL default '', + PRIMARY KEY (`id`) +) default CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `#__phocadownload_tags_ref` ( + `id` SERIAL, + `fileid` int(11) NOT NULL default 0, + `tagid` int(11) NOT NULL default 0, + PRIMARY KEY (`id`), + UNIQUE KEY `i_fileid` (`fileid`,`tagid`) +) default CHARSET=utf8; + +CREATE TABLE IF NOT EXISTS `#__phocadownload_layout` ( + `id` int(11) NOT NULL auto_increment, + `categories` text, + `category` text, + `file` text, + `checked_out` int(11) unsigned NOT NULL default '0', + `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', + `params` text, + PRIMARY KEY (`id`) +) default CHARSET=utf8; + +INSERT INTO `#__phocadownload_layout` ( +`id` , +`categories` , +`category` , +`file` , +`checked_out` , +`checked_out_time` , +`params` +) +VALUES ( +NULL , '
+
{pdtitle}
+{pdsubcategories} +{pdclear} +
', + +'
+{pdfiledesctop} +{pdfile} +
{pdbuttondownload}
+
{pdbuttondetails}
+
{pdbuttonpreview}
+
{pdbuttonplay}
+
{pdmirrorlink2} {pdmirrorlink1}
+
{pdrating}
+
{pdtags}
+{pdfiledescbottom} +
+
' + +, '
+{pdimage} +{pdfile} +{pdfilesize} +{pdversion} +{pdlicense} +{pdauthor} +{pdauthoremail} +{pdfiledate} +{pddownloads} +{pddescription} +{pdfeatures} +{pdchangelog} +{pdnotes} +
{pdmirrorlink2} {pdmirrorlink1}
+
{pdreportlink}
+
{pdrating}
+
{pdtags}
+
+
' , '0', '0000-00-00 00:00:00', NULL +); + +CREATE TABLE IF NOT EXISTS `#__phocadownload_styles` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `title` varchar(255) NOT NULL DEFAULT '', + `alias` varchar(255) NOT NULL DEFAULT '', + `filename` varchar(255) NOT NULL DEFAULT '', + `menulink` text, + `type` tinyint(1) NOT NULL DEFAULT '0', + `published` tinyint(1) NOT NULL DEFAULT '0', + `checked_out` int(11) unsigned NOT NULL DEFAULT '0', + `checked_out_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `ordering` int(11) NOT NULL DEFAULT '0', + `params` text, + `language` char(7) NOT NULL DEFAULT '', + PRIMARY KEY (`id`) +) DEFAULT CHARSET=utf8 ; + +INSERT INTO `#__phocadownload_styles` (`id`, `title`, `alias`, `filename`, `menulink`, `type`, `published`, `checked_out`, `checked_out_time`, `ordering`, `params`, `language`) VALUES +(1, 'Phocadownload', 'phocadownload', 'phocadownload.css', NULL, 1, 1, 0, '0000-00-00 00:00:00', 1, NULL, '*'), +(2, 'Rating', 'rating', 'rating.css', NULL, 1, 1, 0, '0000-00-00 00:00:00', 2, NULL, '*'), +(3, 'Button', 'button', 'button.css', NULL, 1, 0, 0, '0000-00-00 00:00:00', 3, NULL, '*'), +(4, 'Button (Rounded Corners)', '', 'buttonrc.css', NULL, 1, 0, 0, '0000-00-00 00:00:00', 4, NULL, '*'), +(5, 'Default', 'default', 'default.css', NULL, 2, 1, 0, '0000-00-00 00:00:00', 1, NULL, '*'), +(6, 'Bootstrap', '', 'bootstrap.min.css', NULL, 1, 0, 0, '0000-00-00 00:00:00', 5, NULL, '*'); + +CREATE TABLE IF NOT EXISTS `#__phocadownload_logging` ( + `id` int(11) unsigned NOT NULL auto_increment, + `fileid` int(11) NOT NULL default '0', + `catid` int(11) NOT NULL default '0', + `userid` int(11) NOT NULL default '0', + `ip` varchar(20) NOT NULL default '', + `page` varchar(255) NOT NULL, + `date` datetime NOT NULL default '0000-00-00 00:00:00', + `type` tinyint(1) NOT NULL DEFAULT '0', + `params` text NOT NULL, + PRIMARY KEY (`id`) +) DEFAULT CHARSET=utf8 ; \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/install/sql/mysql/uninstall.utf8.sql b/packages/phocadownload/administrator/components/com_phocadownload/install/sql/mysql/uninstall.utf8.sql new file mode 100644 index 00000000..232e43eb --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/install/sql/mysql/uninstall.utf8.sql @@ -0,0 +1,10 @@ +DROP TABLE IF EXISTS `#__phocadownload`; +DROP TABLE IF EXISTS `#__phocadownload_categories`; +DROP TABLE IF EXISTS `#__phocadownload_user_stat`; +DROP TABLE IF EXISTS `#__phocadownload_licenses`; +DROP TABLE IF EXISTS `#__phocadownload_file_votes`; +DROP TABLE IF EXISTS `#__phocadownload_file_votes_statistics`; +DROP TABLE IF EXISTS `#__phocadownload_tags`; +DROP TABLE IF EXISTS `#__phocadownload_tags_ref`; +DROP TABLE IF EXISTS `#__phocadownload_layout`; +DROP TABLE IF EXISTS `#__phocadownload_styles`; diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/index.html b/packages/phocadownload/administrator/components/com_phocadownload/libraries/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/loader.php b/packages/phocadownload/administrator/components/com_phocadownload/libraries/loader.php new file mode 100644 index 00000000..696be7b7 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/loader.php @@ -0,0 +1,78 @@ +setQuery($query, 0, 1); + $output = $db->loadObject(); + return $output; + } + + public static function getCategoryAccessByFileId($id) { + + $output = array(); + $db = JFactory::getDBO(); + $query = 'SELECT c.access, c.uploaduserid, c.deleteuserid' . + ' FROM #__phocadownload_categories AS c' . + ' LEFT JOIN #__phocadownload as a ON a.catid = c.id' . + ' WHERE a.id = '. (int) $id . + ' ORDER BY c.id'; + $db->setQuery($query, 0, 1); + $output = $db->loadObject(); + return $output; + } + + + + /** + * Method to check if the user have access to category + * Display or hide the not accessible categories - subcat folder will be not displayed + * Check whether category access level allows access + * + * E.g.: Should the link to Subcategory or to Parentcategory be displayed + * E.g.: Should the delete button displayed, should be the upload button displayed + * + * @param string $params rightType: accessuserid, uploaduserid, deleteuserid - access, upload, delete right + * @param int $params rightUsers - All selected users which should have the "rightType" right + * @param int $params rightGroup - All selected Groups of users(public, registered or special ) which should have the "rT" right + * @param int $params userAID - Specific group of user who display the category in front (public, special, registerd) + * @param int $params userId - Specific id of user who display the category in front (1,2,3,...) + * @param int $params Additional param - e.g. $display_access_category (Should be unaccessed category displayed) + * @return boolean 1 or 0 + * $rightUsers -> $userId + * $rightGroup -> $userAID + */ + + + + public static function getUserRight($rightType = 'accessuserid', $rightUsers, $rightGroup = 0, $userAID = array(), $userId = 0 , $additionalParam = 0 ) { + + $user = JFactory::getUser(); + // we can get the variables here, not before function call + $userAID = $user->getAuthorisedViewLevels(); + $userId = $user->get('id', 0); + + $guest = 0; + if (isset($user->guest) && $user->guest == 1) { + $guest = 1; + } + + // User ACL + $rightGroupAccess = 0; + // User can be assigned to different groups + foreach ($userAID as $keyUserAID => $valueUserAID) { + if ((int)$rightGroup == (int)$valueUserAID) { + $rightGroupAccess = 1; + break; + } + } + ; + + $rightUsersIdArray = array(); + if (!empty($rightUsers)) { + $rightUsersIdArray = explode( ',', trim( $rightUsers ) ); + } else { + $rightUsersIdArray = array(); + } + + $rightDisplay = 1; + if ($additionalParam == 0) { // We want not to display unaccessable categories ($display_access_category) + if ($rightGroup != 0) { + + if ($rightGroupAccess == 0) { + $rightDisplay = 0; + } else { // Access level only for one registered user + if (!empty($rightUsersIdArray)) { + // Check if the user is contained in selected array + $userIsContained = 0; + foreach ($rightUsersIdArray as $key => $value) { + if ($userId == $value) { + $userIsContained = 1;// check if the user id is selected in multiple box + break;// don't search again + } + // for access (-1 not selected - all registered, 0 all users) + if ($value == -1) { + if ($guest == 0) { + $userIsContained = 1;// in multiple select box is selected - All registered users + } + break;// don't search again + } + } + + if ($userIsContained == 0) { + $rightDisplay = 0; + } + } else { + + // Access rights (Default open for all) + // Upload and Delete rights (Default closed for all) + switch ($rightType) { + case 'accessuserid': + $rightDisplay = 1; + break; + + Default: + $rightDisplay = 0; + break; + } + } + } + } + } + return $rightDisplay; + } + + + /* + * + */ + public static function getNeededAccessLevels() { + + $paramsC = JComponentHelper::getParams('com_phocadownload'); + $registeredAccessLevel = $paramsC->get( 'registered_access_level', array(2,3,4) ); + return $registeredAccessLevel; + } + + /* + * Check if user's groups access rights (e.g. user is public, registered, special) can meet needed Levels + */ + + public static function isAccess($userLevels, $neededLevels) { + + $rightGroupAccess = 0; + + // User can be assigned to different groups + foreach($userLevels as $keyuserLevels => $valueuserLevels) { + foreach($neededLevels as $keyneededLevels => $valueneededLevels) { + + if ((int)$valueneededLevels == (int)$valueuserLevels) { + $rightGroupAccess = 1; + break; + } + } + if ($rightGroupAccess == 1) { + break; + } + } + return (boolean)$rightGroupAccess; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/access/index.html b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/access/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/access/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/category/category.php b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/category/category.php new file mode 100644 index 00000000..30688ab5 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/category/category.php @@ -0,0 +1,152 @@ +text; + + if ($key->parentid == $id && $currentId != $id && $currentId != $key->value) { + $tree[$key->value] = new JObject(); + $tree[$key->value]->text = $show_text; + $tree[$key->value]->value = $key->value; + $tree = PhocaDownloadCategory::CategoryTreeOption($data, $tree, $key->value, $show_text . " - ", $currentId ); + } + } + return($tree); + } + + public static function filterCategory($query, $active = NULL, $frontend = NULL, $onChange = TRUE, $fullTree = NULL ) { + + $db = JFactory::getDBO(); + + $form = 'adminForm'; + if ($frontend == 1) { + $form = 'phocadownloadfilesform'; + } + + if ($onChange) { + $onChO = 'class="inputbox" size="1" onchange="document.'.$form.'.submit( );"'; + } else { + $onChO = 'class="inputbox" size="1"'; + } + + $categories[] = JHTML::_('select.option', '0', '- '.JText::_('COM_PHOCADOWNLOAD_SELECT_CATEGORY').' -'); + $db->setQuery($query); + $catData = $db->loadObjectList(); + + + + if ($fullTree) { + + // Start - remove in case there is a memory problem + $tree = array(); + $text = ''; + + $queryAll = ' SELECT cc.id AS value, cc.title AS text, cc.parent_id as parentid' + .' FROM #__phocadownload_categories AS cc' + .' ORDER BY cc.ordering'; + $db->setQuery($queryAll); + $catDataAll = $db->loadObjectList(); + + $catDataTree = PhocaDownloadCategory::CategoryTreeOption($catDataAll, $tree, 0, $text, -1); + + $catDataTreeRights = array(); + /*foreach ($catData as $k => $v) { + foreach ($catDataTree as $k2 => $v2) { + if ($v->value == $v2->value) { + $catDataTreeRights[$k]->text = $v2->text; + $catDataTreeRights[$k]->value = $v2->value; + } + } + }*/ + + foreach ($catDataTree as $k => $v) { + foreach ($catData as $k2 => $v2) { + if ($v->value == $v2->value) { + $catDataTreeRights[$k] = new StdClass(); + $catDataTreeRights[$k]->text = $v->text; + $catDataTreeRights[$k]->value = $v->value; + } + } + } + + + + $catDataTree = array(); + $catDataTree = $catDataTreeRights; + // End - remove in case there is a memory problem + + // Uncomment in case there is a memory problem + //$catDataTree = $catData; + } else { + $catDataTree = $catData; + } + + $categories = array_merge($categories, $catDataTree ); + + $category = JHTML::_('select.genericlist', $categories, 'catid', $onChO, 'value', 'text', $active); + + return $category; + } + + public static function options($type = 0) + { + if ($type == 1) { + $tree[0] = new JObject(); + $tree[0]->text = JText::_('COM_PHOCADOWNLOAD_MAIN_CSS'); + $tree[0]->value = 1; + $tree[1] = new JObject(); + $tree[1]->text = JText::_('COM_PHOCADOWNLOAD_CUSTOM_CSS'); + $tree[1]->value = 2; + return $tree; + } + + $db = JFactory::getDBO(); + + //build the list of categories + $query = 'SELECT a.title AS text, a.id AS value, a.parent_id as parentid' + . ' FROM #__phocadownload_categories AS a' + . ' WHERE a.published = 1' + . ' ORDER BY a.ordering'; + $db->setQuery( $query ); + $items = $db->loadObjectList(); + + $catId = -1; + + $javascript = 'class="inputbox" size="1" onchange="submitform( );"'; + + $tree = array(); + $text = ''; + $tree = PhocaDownloadCategory::CategoryTreeOption($items, $tree, 0, $text, $catId); + + return $tree; + + } + + public static function getCategoryByFile($id = 0) { + $db = JFactory::getDBO(); + $query = 'SELECT c.id, c.title, c.alias' + . ' FROM #__phocadownload_categories AS c' + . ' LEFT JOIN #__phocadownload AS a ON a.catid = c.id' + //. ' WHERE c.published = 1' + . ' WHERE a.id ='.(int)$id + . ' ORDER BY c.id' + . ' LIMIT 1'; + $db->setQuery( $query ); + $item = $db->loadObject(); + return $item; + + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/category/index.html b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/category/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/category/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/download/download.php b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/download/download.php new file mode 100644 index 00000000..a90edb0f --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/download/download.php @@ -0,0 +1,715 @@ +getParams(); + $directLink = $fileData['directlink']; // Direct Link 0 or 1 + $externalLink = $fileData['externallink']; + $absOrRelFile = $fileData['file']; // Relative Path or Absolute Path + + $user = JFactory::getUser(); + $status = $user->guest; + + if ($status != 1 && JURI::base() == 'https://www.archlinexp.com/') { + $db = JFactory::getDbo(); + + $query = "SELECT * + FROM #__phocadownload p + WHERE p.id = $downloadId"; + + $db->setQuery($query); + $downloadedFile = $db->loadObject(); + + if ($downloadedFile->version == 'trial') { + $query = "SELECT * FROM cl_hlusers.users + WHERE nUserID = $user->nUserID"; + + $db->setQuery($query); + $crmUser = $db->loadObject(); + + if (!empty($crmUser)) { + $query = "SELECT * FROM cl_hlusers.u_emails + WHERE nUserID = $user->nUserID AND newsletter = 1"; + + $db->setQuery($query); + $u_email = $db->loadObject(); + + if (!empty($u_email) && ($u_email->trial_download_date == '' || $u_email->trial_download_date == null)) { + $url_1 = 'https://www.archlinexp.com/maintenance/followedlinks.php?id=' . base64_encode('?email=' . $u_email->email . '&alias=trial-download'); + $url_2 = 'https://www.archlinexp.com/maintenance/followedlinks.php?id=' . base64_encode('?email=' . $u_email->email . '&alias=trial-download-[2]'); + $date = date('Y-m-d'); + + /*$body = " + + +
+
+
+ +
+ +
+ +

Congratulations!

+
+ +

+ ARCHLine.XP was designed with You in our mind, and we want you to get the most out of this FREE trial. + You can choose two ways of working with TRIAL version: + a. Anonym user 30 day TRIAL. If you wish to try the software as Anonymous User without an ARCHLine.XP account choose anonymous logon. + Unauthenticated (anonymous) users may have some limits using TRIAL version. + b. If you need more time, create an account, sign in and the trial period will be 10 days longer (bonus time 30 + 10 days ). + If you have already registered an account use your username and password. +

+ + +   + Start Exploring +   + +
+
+ +

+ Are you an interior designer? Check out this 2 minute video to enjoy the work of our next generation designers. +

+ + +   + Start Exploring +   + +
+
+ + Unsubscribe +
";*/ + + $db->setQuery("SELECT * FROM #__content c WHERE c.id = 972"); + $content = $db->loadObject(); + $body = str_replace('[EMAIL]', $u_email->email, $content->introtext); + + $config = JFactory::getConfig(); + $mailer = JFactory::getMailer(); + + $mailer->isHTML(true); + $mailer->setSender(array($config->get('mailfrom'), $config->get('fromname'))); + $mailer->addRecipient($u_email->email); + $mailer->setSubject('Welcome to ARCHLine.XP!'); + $mailer->setBody($body); + $mailer->Send(); + + $db->setQuery("UPDATE cl_hlusers.u_emails SET trial_download_date = '$date' WHERE u_emails_id = $u_email->u_emails_id LIMIT 1;"); + $db->execute(); + } + } + } + } + + // Type = 1 - Token - unique download link - cannot be direct + if ($type == 1) { + $directLink = 0; + } + + // NO FILES FOUND (abs file) + $error = false; + $error = preg_match("/COM_PHOCADOWNLOAD_ERROR/i", $absOrRelFile); + + if ($multiDownload) { + $txtMsg = ''; + + $db = JFactory::getDbo(); + + $query = $db->getQuery(true); + + $query->select(array('p.id')); + $query->from($db->quoteName('www_archline_hu.jml_phocadownload', 'p')); + $query->where($db->quoteName('p.catid') . ' = ' . $db->quote((int)$downloadId)); + + $db->setQuery($query); + + $files = $db->loadObjectList(); + $last_key = end(array_keys($files)); + foreach ($files as $key => $file) { + $txtMsg .= "https://www.archline.hu/index.php?option=com_phocadownload&view=category&download=" . $file->id . "&id=&Itemid=730"; + + if ($key != $last_key) + $txtMsg .= "\n"; + } + + $downloadFile = "downloadAll.txt"; + $txt = fopen($downloadFile, "w") or die("Unable to open file!"); + fwrite($txt, $txtMsg); + fclose($txt); + + header('Content-Description: File Transfer'); + header('Content-Disposition: attachment; filename=' . basename($downloadFile)); + header('Expires: 0'); + header('Cache-Control: must-revalidate'); + header('Pragma: public'); + header('Content-Length: ' . filesize($downloadFile)); + header("Content-Type: text/plain"); + readfile($downloadFile); + + exit(); + } + + if ($error) { + $msg = JText::_('COM_PHOCADOWNLOAD_ERROR_WHILE_DOWNLOADING_FILE') . ' ' . JText::_($absOrRelFile); + $app->redirect(JRoute::_($currentLink), $msg); + } else { + + // Get extensions + $extension = JFile::getExt(strtolower($absOrRelFile)); + + $aft = $params->get('allowed_file_types_download', PhocaDownloadSettings::getDefaultAllowedMimeTypesDownload()); + $dft = $params->get('disallowed_file_types_download', ''); + + // Get Mime from params ( ext --> mime) + $allowedMimeType = PhocaDownloadFile::getMimeType($extension, $aft); + $disallowedMimeType = PhocaDownloadFile::getMimeType($extension, $dft); + + // NO MIME FOUND + $errorAllowed = false; // !!! IF YES - Disallow Downloading + $errorDisallowed = false; // !!! IF YES - Allow Downloading + + $errorAllowed = preg_match("/PhocaError/i", $allowedMimeType); + $errorDisallowed = preg_match("/PhocaError/i", $disallowedMimeType); + + $ignoreDownloadCheck = $params->get('ignore_file_types_check', 2); + if ($ignoreDownloadCheck == 3 || $ignoreDownloadCheck == 4 || $ignoreDownloadCheck == 5) { + $errorAllowed = false; + $errorDisallowed = true; + } + + if ($extension == 'environment' || $extension == 'skp' || $extension == 'dxf') { + $errorAllowed = false; + $errorDisallowed = true; + } + + if ($errorAllowed) { + $msg = JText::_('COM_PHOCADOWNLOAD_WARNFILETYPE_DOWNLOAD'); + $app->redirect(JRoute::_($currentLink), $msg); + } else if (!$errorDisallowed) { + $msg = JText::_('COM_PHOCADOWNLOAD_WARNFILETYPE_DISALLOWED_DOWNLOAD'); + $app->redirect(JRoute::_($currentLink), $msg); + } else { + + if ($directLink == 1) { + + // Direct Link on the same server + $fileWithoutPath = basename($absOrRelFile); + $addHit = self::hit($downloadId); + if ($type == 1) { + self::hitToken($downloadId); + } + + if ((int)$params->get('send_mail_download', 0) > 0) { + PhocaDownloadMail::sendMail((int)$params->get('send_mail_download', 0), $fileWithoutPath, 1); + } + + // USER Statistics + if ((int)$params->get('enable_user_statistics', 1) == 1) { + $addUserStat = PhocaDownloadStat::createUserStatEntry($downloadId); + } + + PhocaDownloadLog::log($downloadId, 1); + + if ($extension == 'dxf') { + $actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]"; + + header('Content-Type: application/octet-stream'); + header("Content-Transfer-Encoding: Binary"); + header("Content-disposition: attachment; filename=\"" . basename($actual_link . $absOrRelFile) . "\""); + readfile($actual_link . $absOrRelFile); + + exit; + } + + + $app->redirect($absOrRelFile); + exit; + } else if ($directLink == 0 && $externalLink != '') { + + // External Link but with redirect + // In case there is directLink the external Link does not go this way but directly to the external URL + $addHit = self::hit($downloadId); + if ($type == 1) { + self::hitToken($downloadId); + } + + if ((int)$params->get('send_mail_download', 0) > 0) { + PhocaDownloadMail::sendMail((int)$params->get('send_mail_download', 0), $externalLink, 1); + } + + // USER Statistics + if ((int)$params->get('enable_user_statistics', 1) == 1) { + $addUserStat = PhocaDownloadStat::createUserStatEntry($downloadId); + } + + PhocaDownloadLog::log($downloadId, 1); + + + $app->redirect($externalLink); + exit; + } else { + + // Clears file status cache + clearstatcache(); + + $fileWithoutPath = basename($absOrRelFile); + $fileSize = filesize($absOrRelFile); + $mimeType = ''; + $mimeType = $allowedMimeType; + + // HIT Statistics + $addHit = self::hit($downloadId); + if ($type == 1) { + self::hitToken($downloadId); + } + + if ((int)$params->get('send_mail_download', 0) > 0) { + PhocaDownloadMail::sendMail((int)$params->get('send_mail_download', 0), $fileWithoutPath, 1); + } + + // USER Statistics + if ((int)$params->get('enable_user_statistics', 1) == 1) { + $addUserStat = PhocaDownloadStat::createUserStatEntry($downloadId); + } + + PhocaDownloadLog::log($downloadId, 1); + + + if ($fileSize == 0) { + die(JText::_('COM_PHOCADOWNLOAD_FILE_SIZE_EMPTY')); + exit; + } + + // Clean the output buffer + ob_end_clean(); + + // test for protocol and set the appropriate headers + jimport('joomla.environment.uri'); + $_tmp_uri = JURI::getInstance(JURI::current()); + $_tmp_protocol = $_tmp_uri->getScheme(); + if ($_tmp_protocol == "https") { + // SSL Support + header('Cache-Control: private, max-age=0, must-revalidate, no-store'); + } else { + header("Cache-Control: public, must-revalidate"); + header('Cache-Control: pre-check=0, post-check=0, max-age=0'); + header("Pragma: no-cache"); + header("Expires: 0"); + } /* end if protocol https */ + header("Content-Description: File Transfer"); + header("Expires: Sat, 30 Dec 1990 07:07:07 GMT"); + header("Accept-Ranges: bytes"); + + + // HTTP Range + /* $httpRange = 0; + if(isset($_SERVER['HTTP_RANGE'])) { + list($a, $httpRange) = explode('=', $_SERVER['HTTP_RANGE']); + str_replace($httpRange, '-', $httpRange); + $newFileSize = $fileSize - 1; + $newFileSizeHR = $fileSize - $httpRange; + header("HTTP/1.1 206 Partial Content"); + header("Content-Length: ".(string)$newFileSizeHR); + header("Content-Range: bytes ".$httpRange . $newFileSize .'/'. $fileSize); + } else { + $newFileSize = $fileSize - 1; + header("Content-Length: ".(string)$fileSize); + header("Content-Range: bytes 0-".$newFileSize . '/'.$fileSize); + } + header("Content-Type: " . (string)$mimeType); + header('Content-Disposition: attachment; filename="'.$fileWithoutPath.'"'); + header("Content-Transfer-Encoding: binary\n");*/ + + // Modified by Rene + // HTTP Range - see RFC2616 for more informations (http://www.ietf.org/rfc/rfc2616.txt) + $httpRange = 0; + $newFileSize = $fileSize - 1; + // Default values! Will be overridden if a valid range header field was detected! + $resultLenght = (string)$fileSize; + $resultRange = "0-" . $newFileSize; + // We support requests for a single range only. + // So we check if we have a range field. If yes ensure that it is a valid one. + // If it is not valid we ignore it and sending the whole file. + if (isset($_SERVER['HTTP_RANGE']) && preg_match('%^bytes=\d*\-\d*$%', $_SERVER['HTTP_RANGE'])) { + // Let's take the right side + list($a, $httpRange) = explode('=', $_SERVER['HTTP_RANGE']); + // and get the two values (as strings!) + $httpRange = explode('-', $httpRange); + // Check if we have values! If not we have nothing to do! + if (!empty($httpRange[0]) || !empty($httpRange[1])) { + // We need the new content length ... + $resultLenght = $fileSize - $httpRange[0] - $httpRange[1]; + // ... and we can add the 206 Status. + header("HTTP/1.1 206 Partial Content"); + // Now we need the content-range, so we have to build it depending on the given range! + // ex.: -500 -> the last 500 bytes + if (empty($httpRange[0])) + $resultRange = $resultLenght . '-' . $newFileSize; + // ex.: 500- -> from 500 bytes to filesize + elseif (empty($httpRange[1])) + $resultRange = $httpRange[0] . '-' . $newFileSize; + // ex.: 500-1000 -> from 500 to 1000 bytes + else + $resultRange = $httpRange[0] . '-' . $httpRange[1]; + //header("Content-Range: bytes ".$httpRange . $newFileSize .'/'. $fileSize); + } + } + header("Content-Length: " . $resultLenght); + header("Content-Range: bytes " . $resultRange . '/' . $fileSize); + header("Content-Type: " . (string)$mimeType); + header('Content-Disposition: attachment; filename="' . $fileWithoutPath . '"'); + header("Content-Transfer-Encoding: binary\n"); + + // TEST TEMP SOLUTION - makes problems on somve server, @ added to prevent from warning + // Do problems on some servers + //@ob_end_clean(); + + //@readfile($absOrRelFile); + + // Try to deliver in chunks + @set_time_limit(0); + $fp = @fopen($absOrRelFile, 'rb'); + if ($fp !== false) { + while (!feof($fp)) { + echo fread($fp, 8192); + } + fclose($fp); + } else { + @readfile($absOrRelFile); + } + flush(); + exit; + + /* + http://www.phoca.cz/forum/viewtopic.php?f=31&t=11811 + + $fp = @fopen($absOrRelFile, 'rb'); + // HTTP Range - see RFC2616 for more informations (http://www.ietf.org/rfc/rfc2616.txt) + $newFileSize = $fileSize - 1; + // Default values! Will be overridden if a valid range header field was detected! + $rangeStart = 0; + $rangeEnd = 0; + $resultLength = $fileSize; + // We support requests for a single range only. + // So we check if we have a range field. If yes ensure that it is a valid one. + // If it is not valid we ignore it and sending the whole file. + if ($fp && isset($_SERVER['HTTP_RANGE']) && preg_match('%^bytes=\d*\-\d*$%', $_SERVER['HTTP_RANGE'])) { + // Let's take the right side + list($a, $httpRange) = explode('=', $_SERVER['HTTP_RANGE']); + // and get the two values (as strings!) + $httpRange = explode('-', $httpRange); + // Check if we have values! If not we have nothing to do! + if (sizeof($httpRange) == 2) { + // Explictly convert to int + $rangeStart = intval($httpRange[0]); + $rangeEnd = intval($httpRange[1]); // Allowed to be empty == 0 + if (($rangeStart || $rangeEnd) // something actually set? + && $rangeStart < $fileSize // must be smaller + && $rangeEnd < $fileSize // must be smaller + && (!$rangeEnd || $rangeEnd > $rangeStart) // end > start, if end is set + ) { + header("HTTP/1.1 206 Partial Content"); + if (!$rangeEnd) { + $resultLength = $fileSize - $rangeStart; + $range = $rangeStart . "-" . ($fileSize - 1) . "/" . $fileSize; + } else { + $resultLength = ($rangeEnd - $rangeStart 1); + $range = $rangeStart . "-" . $rangeEnd . "/" . $fileSize; + } + header("Content-Range: bytes " . $range); + } else { + // Didn't validate: kill + $rangeStart = 0; + $rangeEnd = 0; + } + } + } + + header("Content-Length: ". $resultLength); + header("Content-Type: " . (string)$mimeType); + header('Content-Disposition: attachment; filename="'.$fileWithoutPath.'"'); + header("Content-Transfer-Encoding: binary\n"); + @@ -211,13 +198,25 @@ class PhocaDownloadAccessFront + + // Try to deliver in chunks + @set_time_limit(0); + if ($fp !== false) { + if ($rangeStart) { + // Need to pass only part of the file, starting at $rangeStart + fseek($fp, $rangeStart, SEEK_SET); + } + // If $rangeEnd is open ended (0, whole file from $rangeStart) try fpassthru, + // else send in small chunks + if ($rangeEnd || @!fpassthru($fp)) { + while ($resultLength > 0 && !feof($fp)) { + // 4 * 1460 (default MSS with ethernet 1500 MTU) + // This is optimized for network packets, not disk access + $bytes = min(5840, $resultLength); + echo fread($fp, $bytes); + $resultLength = $resultLength - $bytes; + } + } + fclose($fp); + } else { + // Ranges are disabled at this point and were never set up + @readfile($absOrRelFile); + } + flush(); + exit; + */ + } + } + } + return false; + } + + public static function getDownloadData($id, $return, $type = 0) + { + + $outcome = array(); + $wheres = array(); + $db = JFactory::getDBO(); + $app = JFactory::getApplication(); + $params = $app->getParams(); + $user = JFactory::getUser(); + $redirectUrl = urlencode(base64_encode($return)); + $returnUrl = 'index.php?option=com_users&view=login&return=' . $redirectUrl; + + $userLevels = implode(',', $user->getAuthorisedViewLevels()); + + $limitEnabled = $params->get('user_files_max_count_download', 0); + if ((int)$limitEnabled > 0) { + if ((int)$user->id < 1) { + $app->redirect(JRoute::_($returnUrl, false), JText::_("COM_PHOCADOWNLOAD_NOT_LOGGED_IN_USERS_NOT_ALLOWED_DOWNLOAD")); + exit; + } + $userFileCount = PhocaDownloadStat::getCountFilePerUser($id); + (int)$userFileCount++; // Because we need to count this attempt too. + if ((int)$userFileCount > (int)$limitEnabled) { + $app->redirect(JRoute::_($returnUrl, false), JText::_("COM_PHOCADOWNLOAD_MAX_LIMIT_DOWNLOAD_PER_FILE_REACHED")); + exit; + } + } + + + + + $pQ = $params->get('enable_plugin_query', 0); + + $wheres[] = " c.id = " . (int)$id; + $wheres[] = " c.published = 1"; + $wheres[] = " c.approved = 1"; + $wheres[] = " c.catid = cc.id"; + + if ($type == 1) { + // Unique download link does not have any access + $rightDisplay = 1; + } else { + $wheres[] = " cc.access IN (" . $userLevels . ")"; + } + + // Active + $jnow = JFactory::getDate(); + $now = $jnow->toSql(); + $nullDate = $db->getNullDate(); + $wheres[] = ' ( c.publish_up = ' . $db->Quote($nullDate) . ' OR c.publish_up <= ' . $db->Quote($now) . ' )'; + $wheres[] = ' ( c.publish_down = ' . $db->Quote($nullDate) . ' OR c.publish_down >= ' . $db->Quote($now) . ' )'; + + if ($pQ == 1) { + // GWE MOD - to allow for access restrictions + JPluginHelper::importPlugin("phoca"); + $dispatcher = &JDispatcher::getInstance(); + $joins = array(); + $results = $dispatcher->trigger('onGetDownload', array(&$wheres, &$joins, $id, $paramsC)); + // END GWE MOD + } + + /*$query = " SELECT c.filename, c.directlink, c.access" + ." FROM #__phocadownload AS c" + . ($pQ == 1 ? ((count($joins)>0?( " LEFT JOIN " .implode( " LEFT JOIN ", $joins )):"")):"") // GWE MOD + . " WHERE " . implode( " AND ", $wheres ) + . " ORDER BY c.ordering";*/ + + + $query = ' SELECT c.catid, c.filename, c.directlink, c.link_external, c.access, c.confirm_license, c.metakey, c.metadesc, cc.access as cataccess, cc.accessuserid as cataccessuserid, c.tokenhits ' + . ' FROM #__phocadownload AS c, #__phocadownload_categories AS cc ' + . ($pQ == 1 ? ((count($joins) > 0 ? (' LEFT JOIN ' . implode(' LEFT JOIN ', $joins)) : '')) : '') // GWE MOD + . ' WHERE ' . implode(' AND ', $wheres) + . ' ORDER BY c.ordering'; + + $db->setQuery($query, 0, 1); + $filename = $db->loadObjectList(); + + $limitTokenEnabled = $params->get('token_files_max_count_download', 0); + if ((int)$limitTokenEnabled > 0) { + if (isset($filename[0]->tokenhits)) { + $tokenFileCount = $filename[0]->tokenhits; + (int)$tokenFileCount++; // Because we need to count this attempt too. + if ((int)$tokenFileCount > (int)$limitTokenEnabled) { + $app->redirect(JRoute::_(htmlspecialchars($return)), JText::_("COM_PHOCADOWNLOAD_MAX_LIMIT_DOWNLOAD_TOKEN_REACHED")); + exit; + } + } + } + + + //OSE Modified Start; + if (!empty($filename[0])) { + phocadownloadimport('phocadownload.utils.external'); + PhocaDownloadExternal::checkOSE($filename[0]); + } + //OSE Modified End; + + + // - - - - - - - - - - - - - - - + // USER RIGHT - Access of categories (if file is included in some not accessed category) - - - - - + // ACCESS is handled in SQL query, ACCESS USER ID is handled here (specific users) + + $rightDisplay = 0; + if ($type == 1) { + // Unique download link does not have any access + $rightDisplay = 1; + } else { + + if (!empty($filename[0])) { + $rightDisplay = PhocaDownloadAccess::getUserRight('accessuserid', $filename[0]->cataccessuserid, $filename[0]->cataccess, $user->getAuthorisedViewLevels(), $user->get('id', 0), 0); + } + // - - - - - - - - - - - - - - - - - - - - - - + if ($rightDisplay == 0) { + $app->redirect(JRoute::_($returnUrl, false), JText::_("COM_PHOCADOWNLOAD_NO_RIGHTS_ACCESS_CATEGORY_FILE")); + exit; + } + } + + + + + + if (empty($filename)) { + $outcome['file'] = "COM_PHOCADOWNLOAD_ERROR_NO_DB_RESULT"; + $outcome['directlink'] = 0; + $outcome['externallink'] = 0; + return $outcome; + } + + if ($type == 1) { + // Unique download link + } else { + if (isset($filename[0]->access)) { + if (!in_array($filename[0]->access, $user->getAuthorisedViewLevels())) { + $app->redirect(JRoute::_($returnUrl, false), JText::_('COM_PHOCADOWNLOAD_PLEASE_LOGIN_DOWNLOAD_FILE')); + exit; + } + } else { + $outcome['file'] = "COM_PHOCADOWNLOAD_ERROR_NO_DB_RESULT"; + $outcome['directlink'] = 0; + $outcome['externallink'] = 0; + return $outcome; + } + } + // - - - - - - - - - - - - - - - - + + + $filenameT = $filename[0]->filename; + $directlinkT = $filename[0]->directlink; + $linkExternalT = $filename[0]->link_external; + + // Unique Download Link + if ($type == 1) { + $directlinkT = 0; // Unique Download Link cannot work with direct link + } + + $filePath = PhocaDownloadPath::getPathSet('file'); + + if ($filenameT != '') { + + // Important - you cannot use direct link if you have selected absolute path + // Absolute Path defined by user + $absolutePath = $params->get('absolute_path', ''); + if ($absolutePath != '') { + $directlinkT = 0; + } + + if ($directlinkT == 1) { + $relFile = JURI::base(true) . '/' . $params->get('download_folder', 'phocadownload') . '/' . $filenameT; + $outcome['file'] = $relFile; + $outcome['directlink'] = $directlinkT; + $outcome['externallink'] = $linkExternalT; + return $outcome; + } else if ($directlinkT == 0 && $linkExternalT != '') { + $relFile = JURI::base(true) . '/' . $params->get('download_folder', 'phocadownload') . '/' . $filenameT; + $outcome['file'] = $relFile; + $outcome['directlink'] = $directlinkT; + $outcome['externallink'] = $linkExternalT; + return $outcome; + } else { + $absFile = str_replace('/', DS, JPath::clean($filePath['orig_abs_ds'] . $filenameT)); + } + + if (JFile::exists($absFile)) { + $outcome['file'] = $absFile; + $outcome['directlink'] = $directlinkT; + $outcome['externallink'] = $linkExternalT; + return $outcome; + } else { + + $outcome['file'] = "COM_PHOCADOWNLOAD_ERROR_NO_ABS_FILE"; + $outcome['directlink'] = 0; + $outcome['externallink'] = $linkExternalT; + return $outcome; + } + } else { + + $outcome['file'] = "COM_PHOCADOWNLOAD_ERROR_NO_DB_FILE"; + $outcome['directlink'] = 0; + $outcome['externallink'] = $linkExternalT; + return $outcome; + } + } + + protected static function hit($id) + { + + $app = JFactory::getApplication(); + $table = JTable::getInstance('PhocaDownload', 'Table'); + $table->hit($id); + return true; + } + + protected static function hitToken($id) + { + $db = JFactory::getDBO(); + $query = $db->getQuery(true) + ->update('#__phocadownload') + ->set($db->quoteName('tokenhits') . ' = (' . $db->quoteName('tokenhits') . ' + 1)') + ->where('id = ' . $db->quote((int)$id)); + $db->setQuery($query); + + $db->execute(); + return true; + } +} diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/download/index.html b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/download/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/download/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/file/file.php b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/file/file.php new file mode 100644 index 00000000..b9b8c064 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/file/file.php @@ -0,0 +1,423 @@ +'; + } + + return $mime; + } + + public static function existsCss($file, $type) { + $path = self::getCSSPath($type); + if (file_exists($path.$file) && $file != '') { + return $path.$file; + } + return false; + } + + public static function getCSSPath($type, $rel = 0) { + $paths = PhocaDownloadPath::getPathMedia(); + if ($rel == 1) { + if ($type == 1) { + return $paths->media_css_rel . 'main/'; + } else { + return $paths->media_css_rel . 'custom/'; + } + } else { + if ($type == 1) { + return JPath::clean($paths->media_css_abs . 'main/'); + } else { + return JPath::clean($paths->media_css_abs . 'custom/'); + } + } + } + + public static function getCSSFile($id = 0, $fullPath = 0) { + if ((int)$id > 0) { + $db = JFactory::getDBO(); + $query = 'SELECT a.filename as filename, a.type as type' + .' FROM #__phocadownload_styles AS a' + .' WHERE a.id = '.(int) $id + .' ORDER BY a.id'; + $db->setQuery($query, 0, 1); + $filename = $db->loadObject(); + + if (isset($filename->filename) && $filename->filename != '') { + if ($fullPath == 1 && isset($filename->type)) { + return self::getCSSPath($filename->type). $filename->filename; + } else { + return $filename->filename; + } + } + } + + return false; + } + + public static function getFileSize($filename, $readable = 1) { + + $path = PhocaDownloadPath::getPathSet(); + $fileNameAbs = JPath::clean($path['orig_abs'] . DS . $filename); + + if ($readable == 1) { + return self::getFileSizeReadable(filesize($fileNameAbs)); + } else { + return filesize($fileNameAbs); + } + } + + + + public static function getFileTime($filename, $function, $format = "d. M Y") { + + $path = PhocaDownloadPath::getPathSet(); + $fileNameAbs = JPath::clean($path['orig_abs'] . DS . $filename); + if (JFile::exists($fileNameAbs)) { + switch($function) { + case 2: + $fileTime = filectime($fileNameAbs); + break; + case 3: + $fileTime = fileatime($fileNameAbs); + break; + case 1: + default: + $fileTime = filemtime($fileNameAbs); + break; + } + + $fileTime = JHTML::Date($fileTime, $format); + } else { + $fileTime = ''; + } + return $fileTime; + } + + + + public static function getTitleFromFilenameWithExt (&$filename) { + $folder_array = explode('/', $filename);//Explode the filename (folder and file name) + $count_array = count($folder_array);//Count this array + $last_array_value = $count_array - 1;//The last array value is (Count array - 1) + + return $folder_array[$last_array_value]; + } + + + public static function getMimeType($extension, $params) { + + $regex_one = '/({\s*)(.*?)(})/si'; + $regex_all = '/{\s*.*?}/si'; + $matches = array(); + $count_matches = preg_match_all($regex_all,$params,$matches,PREG_OFFSET_CAPTURE | PREG_PATTERN_ORDER); + + $returnMime = ''; + + for($i = 0; $i < $count_matches; $i++) { + + $phocaDownload = $matches[0][$i][0]; + preg_match($regex_one,$phocaDownload,$phocaDownloadParts); + $values_replace = array ("/^'/", "/'$/", "/^'/", "/'$/", "/
/"); + $values = explode("=", $phocaDownloadParts[2], 2); + + foreach ($values_replace as $key2 => $values2) { + $values = preg_replace($values2, '', $values); + } + + // Return mime if extension call it + if ($extension == $values[0]) { + $returnMime = $values[1]; + } + } + + if ($returnMime != '') { + return $returnMime; + } else { + return "PhocaErrorNoMimeFound"; + } + } + + public static function getMimeTypeString($params) { + + $regex_one = '/({\s*)(.*?)(})/si'; + $regex_all = '/{\s*.*?}/si'; + $matches = array(); + $count_matches = preg_match_all($regex_all,$params,$matches,PREG_OFFSET_CAPTURE | PREG_PATTERN_ORDER); + + $extString = ''; + $mimeString = ''; + + for($i = 0; $i < $count_matches; $i++) { + + $phocaDownload = $matches[0][$i][0]; + preg_match($regex_one,$phocaDownload,$phocaDownloadParts); + $values_replace = array ("/^'/", "/'$/", "/^'/", "/'$/", "/
/"); + $values = explode("=", $phocaDownloadParts[2], 2); + + foreach ($values_replace as $key2 => $values2) { + $values = preg_replace($values2, '', $values); + } + + // Create strings + $extString .= $values[0]; + $mimeString .= $values[1]; + + $j = $i + 1; + if ($j < $count_matches) { + $extString .=','; + $mimeString .=','; + } + } + + $string = array(); + $string['mime'] = $mimeString; + $string['ext'] = $extString; + + return $string; + } + + public static function getTitleFromFilenameWithoutExt (&$filename) { + + $folder_array = explode('/', $filename);//Explode the filename (folder and file name) + $count_array = count($folder_array);//Count this array + $last_array_value = $count_array - 1;//The last array value is (Count array - 1) + + $string = false; + $string = preg_match( "/\./i", $folder_array[$last_array_value] ); + if ($string) { + return PhocaDownloadFile::removeExtension($folder_array[$last_array_value]); + } else { + return $folder_array[$last_array_value]; + } + } + + public static function getFolderFromTheFile($filename) { + + $folder_array = explode('/', $filename); + $count_array = count($folder_array);//Count this array + $last_array_value = $count_array - 1; + return str_replace($folder_array[$last_array_value], '', $filename); + } + + public static function removeExtension($file_name) { + return substr($file_name, 0, strrpos( $file_name, '.' )); + } + + public static function getExtension( $file_name ) { + return strtolower( substr( strrchr( $file_name, "." ), 1 ) ); + } + + public static function canPlay( $fileName ) { + $fileExt = PhocaDownloadFile::getExtension($fileName); + + $paramsC = JComponentHelper::getParams('com_phocadownload'); + $html5 = $paramsC->get( 'html5_play', 0 ); + + if ($html5 == 1) { + switch($fileExt) { + case 'mp3': + case 'mp4': + case 'flv': + case 'ogg': + case 'ogv': + return true; + break; + + default: + return false; + break; + } + } else { + switch($fileExt) { + case 'mp3': + case 'mp4': + case 'flv': + //case 'mov': + //case 'wmv': + return true; + break; + + default: + return false; + break; + } + } + return false; + } + + public static function canPreview( $fileName ) { + $fileExt = PhocaDownloadFile::getExtension($fileName); + + switch($fileExt) { + case 'pdf': + case 'jpeg': + case 'jpg': + case 'png': + case 'gif': + return true; + break; + + default: + return false; + break; + + } + return false; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/file/fileupload.php b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/file/fileupload.php new file mode 100644 index 00000000..20bd89c4 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/file/fileupload.php @@ -0,0 +1,693 @@ +get( 'multiple_upload_chunk', 0 ); + $uploadMethod = $paramsC->get( 'multiple_upload_method', 4 ); + + $overwriteExistingFiles = $paramsC->get( 'overwrite_existing_files', 0 ); + + JResponse::allowCache(false); + + // Chunk Files + header('Content-type: text/plain; charset=UTF-8'); + header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); + header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); + header("Cache-Control: no-store, no-cache, must-revalidate"); + header("Cache-Control: post-check=0, pre-check=0", false); + header("Pragma: no-cache"); + + // Invalid Token + JRequest::checkToken( 'request' ) or jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'error', 'code' => 100, + 'message' => JText::_('COM_PHOCADOWNLOAD_ERROR').': ', + 'details' => JTEXT::_('COM_PHOCADOWNLOAD_INVALID_TOKEN')))); + + // Set FTP credentials, if given + $ftp = JClientHelper::setCredentialsFromRequest('ftp'); + + + $file = JRequest::getVar( 'file', '', 'files', 'array' ); + $chunk = JRequest::getVar( 'chunk', 0, '', 'int' ); + $chunks = JRequest::getVar( 'chunks', 0, '', 'int' ); + $folder = JRequest::getVar( 'folder', '', '', 'path' ); + $manager = JRequest::getVar( 'manager', 'file', '', 'string' ); + + + $path = PhocaDownloadPath::getPathSet($manager);// we use viewback to get right path + + // Make the filename safe + if (isset($file['name'])) { + $file['name'] = JFile::makeSafe($file['name']); + } + if (isset($folder) && $folder != '') { + $folder = $folder . DS; + } + + $chunkEnabled = 0; + // Chunk only if is enabled and only if flash is enabled + if (($chunkMethod == 1 && $uploadMethod == 1) || ($frontEnd == 0 && $chunkMethod == 0 && $uploadMethod == 1)) { + $chunkEnabled = 1; + } + + + + + if (isset($file['name'])) { + + + // - - - - - - - - - - + // Chunk Method + // - - - - - - - - - - + // $chunkMethod = 1, for frontend and backend + // $chunkMethod = 0, only for backend + if ($chunkEnabled == 1) { + + // If chunk files are used, we need to upload parts to temp directory + // and then we can run e.g. the condition to recognize if the file already exists + // We must upload the parts to temp, in other case we get everytime the info + // that the file exists (because the part has the same name as the file) + // so after first part is uploaded, in fact the file already exists + // Example: NOT USING CHUNK + // If we upload abc.jpg file to server and there is the same file + // we compare it and can recognize, there is one, don't upload it again. + // Example: USING CHUNK + // If we upload abc.jpg file to server and there is the same file + // the part of current file will overwrite the same file + // and then (after all parts will be uploaded) we can make the condition to compare the file + // and we recognize there is one - ok don't upload it BUT the file will be damaged by + // parts uploaded by the new file - so this is why we are using temp file in Chunk method + $stream = JFactory::getStream();// Chunk Files + $tempFolder = 'pdpluploadtmpfolder'.DS; + //$filepathImgFinal = JPath::clean($path['orig_abs_ds'].$folder.strtolower($file['name'])); + //$filepathImgTemp = JPath::clean($path['orig_abs_ds'].$folder.$tempFolder.strtolower($file['name'])); + $filepathImgFinal = JPath::clean($path['orig_abs_ds'].$folder.$file['name']); + $filepathImgTemp = JPath::clean($path['orig_abs_ds'].$folder.$tempFolder.$file['name']); + $filepathFolderFinal = JPath::clean($path['orig_abs_ds'].$folder); + $filepathFolderTemp = JPath::clean($path['orig_abs_ds'].$folder.$tempFolder); + $maxFileAge = 60 * 60; // Temp file age in seconds + $lastChunk = $chunk + 1; + $realSize = 0; + + + + + // Get the real size - if chunk is uploaded, it is only a part size, so we must compute all size + // If there is last chunk we can computhe the whole size + if ($lastChunk == $chunks) { + if (JFile::exists($filepathImgTemp) && JFile::exists($file['tmp_name'])) { + $realSize = filesize($filepathImgTemp) + filesize($file['tmp_name']); + } + } + + // 5 minutes execution time + @set_time_limit(5 * 60);// usleep(5000); + + // If the file already exists on the server: + // - don't copy the temp file to final + // - remove all parts in temp file + // Because some parts are uploaded before we can run the condition + // to recognize if the file already exists. + + // Files should be overwritten + if ($overwriteExistingFiles == 1) { + JFile::delete($filepathImgFinal); + } + + if (JFile::exists($filepathImgFinal)) { + if($lastChunk == $chunks){ + @JFolder::delete($filepathFolderTemp); + } + + + jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'error', 'code' => 108, + 'message' => JText::_('COM_PHOCADOWNLOAD_ERROR').': ', + 'details' => JTEXT::_('COM_PHOCADOWNLOAD_FILE_ALREADY_EXISTS')))); + + } + + if (!PhocaDownloadFileUpload::canUpload( $file, $errUploadMsg, $manager, $frontEnd, $chunkEnabled, $realSize )) { + + // If there is some error, remove the temp folder with temp files + if($lastChunk == $chunks){ + @JFolder::delete($filepathFolderTemp); + } + jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'error', 'code' => 104, + 'message' => JText::_('COM_PHOCADOWNLOAD_ERROR').': ', + 'details' => JTEXT::_($errUploadMsg)))); + } + + // Ok create temp folder and add chunks + if (!JFolder::exists($filepathFolderTemp)) { + @JFolder::create($filepathFolderTemp); + } + + // Remove old temp files + if (JFolder::exists($filepathFolderTemp)) { + $dirFiles = JFolder::files($filepathFolderTemp); + if (!empty($dirFiles)) { + foreach ($dirFiles as $fileS) { + $filePathImgS = $filepathFolderTemp . $fileS; + // Remove temp files if they are older than the max age + if (preg_match('/\\.tmp$/', $fileS) && (filemtime($filepathImgTemp) < time() - $maxFileAge)) { + @JFile::delete($filePathImgS); + } + } + } + } else { + jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'error', 'code' => 100, + 'message' => JText::_('COM_PHOCADOWNLOAD_ERROR').': ', + 'details' => JTEXT::_('COM_PHOCADOWNLOAD_ERROR_FOLDER_UPLOAD_NOT_EXISTS')))); + } + + // Look for the content type header + if (isset($_SERVER["HTTP_CONTENT_TYPE"])) + $contentType = $_SERVER["HTTP_CONTENT_TYPE"]; + + if (isset($_SERVER["CONTENT_TYPE"])) + $contentType = $_SERVER["CONTENT_TYPE"]; + + if (strpos($contentType, "multipart") !== false) { + if (isset($file['tmp_name']) && is_uploaded_file($file['tmp_name'])) { + + // Open temp file + $out = $stream->open($filepathImgTemp, $chunk == 0 ? "wb" : "ab"); + //$out = fopen($filepathImgTemp, $chunk == 0 ? "wb" : "ab"); + if ($out) { + // Read binary input stream and append it to temp file + $in = fopen($file['tmp_name'], "rb"); + if ($in) { + while ($buff = fread($in, 4096)) { + $stream->write($buff); + //fwrite($out, $buff); + } + } else { + jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'error', 'code' => 101, + 'message' => JText::_('COM_PHOCADOWNLOAD_ERROR').': ', + 'details' => JTEXT::_('COM_PHOCADOWNLOAD_ERROR_OPEN_INPUT_STREAM')))); + } + $stream->close(); + //fclose($out); + @JFile::delete($file['tmp_name']); + } else { + jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'error', 'code' => 102, + 'message' => JText::_('COM_PHOCADOWNLOAD_ERROR').': ', + 'details' => JTEXT::_('COM_PHOCADOWNLOAD_ERROR_OPEN_OUTPUT_STREAM')))); + } + } else { + jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'error', 'code' => 103, + 'message' => JText::_('COM_PHOCADOWNLOAD_ERROR').': ', + 'details' => JTEXT::_('COM_PHOCADOWNLOAD_ERROR_MOVE_UPLOADED_FILE')))); + } + } else { + // Open temp file + $out = $stream->open($filepathImgTemp, $chunk == 0 ? "wb" : "ab"); + //$out = JFile::read($filepathImg); + if ($out) { + // Read binary input stream and append it to temp file + $in = fopen("php://input", "rb"); + + if ($in) { + while ($buff = fread($in, 4096)) { + $stream->write($buff); + } + } else { + jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'error', 'code' => 101, + 'message' => JText::_('COM_PHOCADOWNLOAD_ERROR').': ', + 'details' => JTEXT::_('COM_PHOCADOWNLOAD_ERROR_OPEN_INPUT_STREAM')))); + } + $stream->close(); + //fclose($out); + } else { + jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'error', 'code' => 102, + 'message' => JText::_('COM_PHOCADOWNLOAD_ERROR').': ', + 'details' => JTEXT::_('COM_PHOCADOWNLOAD_ERROR_OPEN_OUTPUT_STREAM')))); + } + } + + + // Rename the Temp File to Final File + if($lastChunk == $chunks){ + + /*if(($imginfo = getimagesize($filepathImgTemp)) === FALSE) { + JFolder::delete($filepathFolderTemp); + jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'error', 'code' => 110, + 'message' => JText::_('COM_PHOCADOWNLOAD_ERROR').': ', + 'details' => JTEXT::_('COM_PHOCADOWNLOAD_WARNING_INVALIDIMG')))); + }*/ + + // Files should be overwritten + if ($overwriteExistingFiles == 1) { + JFile::delete($filepathImgFinal); + } + + if(!JFile::move($filepathImgTemp, $filepathImgFinal)) { + + JFolder::delete($filepathFolderTemp); + + jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'error', 'code' => 109, + 'message' => JText::_('COM_PHOCADOWNLOAD_ERROR').': ', + 'details' => JTEXT::_('COM_PHOCADOWNLOAD_ERROR_UNABLE_TO_MOVE_FILE') .'
' + . JText::_('COM_PHOCADOWNLOAD_CHECK_PERMISSIONS_OWNERSHIP')))); + } + + + JFolder::delete($filepathFolderTemp); + } + + if ((int)$frontEnd > 0) { + return $file['name']; + } + + jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'OK', 'code' => 200, + 'message' => JText::_('COM_PHOCADOWNLOAD_SUCCESS').': ', + 'details' => JTEXT::_('COM_PHOCADOWNLOAD_FILES_UPLOADED')))); + + + } else { + // No Chunk Method + $filepathImgFinal = JPath::clean($path['orig_abs_ds'].$folder.strtolower($file['name'])); + $filepathImgFinal = JPath::clean($path['orig_abs_ds'].$folder.$file['name']); + $filepathFolderFinal = JPath::clean($path['orig_abs_ds'].$folder); + + + + if (!PhocaDownloadFileUpload::canUpload( $file, $errUploadMsg, $manager, $frontEnd, $chunkMethod, 0 )) { + jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'error', 'code' => 104, + 'message' => JText::_('COM_PHOCADOWNLOAD_ERROR').': ', + 'details' => JTEXT::_($errUploadMsg)))); + } + + if (JFile::exists($filepathImgFinal) && $overwriteExistingFiles == 0) { + jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'error', 'code' => 108, + 'message' => JText::_('COM_PHOCADOWNLOAD_ERROR').': ', + 'details' => JTEXT::_('COM_PHOCADOWNLOAD_FILE_ALREADY_EXISTS')))); + } + + + if(!JFile::upload($file['tmp_name'], $filepathImgFinal, false, true)) { + jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'error', 'code' => 109, + 'message' => JText::_('COM_PHOCADOWNLOAD_ERROR').': ', + 'details' => JTEXT::_('COM_PHOCADOWNLOAD_ERROR_UNABLE_TO_UPLOAD_FILE') .'
' + . JText::_('COM_PHOCADOWNLOAD_CHECK_PERMISSIONS_OWNERSHIP')))); + } + + if ((int)$frontEnd > 0) { + return $file['name']; + } + + jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'OK', 'code' => 200, + 'message' => JText::_('COM_PHOCADOWNLOAD_SUCCESS').': ', + 'details' => JTEXT::_('COM_PHOCADOWNLOAD_IMAGES_UPLOADED')))); + + + } + } else { + // No isset $file['name'] + jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'error', 'code' => 104, + 'message' => JText::_('COM_PHOCADOWNLOAD_ERROR').': ', + 'details' => JTEXT::_('COM_PHOCADOWNLOAD_ERROR_UNABLE_TO_UPLOAD_FILE')))); + } + + } + + + public static function realSingleUpload( $frontEnd = 0 ) { + + $paramsC = JComponentHelper::getParams('com_phocadownload'); + // $chunkMethod = $paramsC->get( 'multiple_upload_chunk', 0 ); + // $uploadMethod = $paramsC->get( 'multiple_upload_method', 4 ); + + $overwriteExistingFiles = $paramsC->get( 'overwrite_existing_files', 0 ); + + $app = JFactory::getApplication(); + JRequest::checkToken( 'request' ) or jexit( 'ERROR: '. JTEXT::_('COM_PHOCADOWNLOAD_INVALID_TOKEN')); + JResponse::allowCache(false); + + + $file = JRequest::getVar( 'Filedata', '', 'files', 'array' ); + $folder = JRequest::getVar( 'folder', '', '', 'path' ); + $format = JRequest::getVar( 'format', 'html', '', 'cmd'); + $return = JRequest::getVar( 'return-url', null, 'post', 'base64' );//includes field + $viewBack = JRequest::getVar( 'viewback', '', '', '' ); + $manager = JRequest::getVar( 'manager', 'file', '', 'string' ); + $tab = JRequest::getVar( 'tab', '', '', 'string' ); + $field = JRequest::getVar( 'field' ); + $errUploadMsg = ''; + $folderUrl = $folder; + $tabUrl = ''; + $component = JRequest::getVar( 'option', '', '', 'string' ); + + $path = PhocaDownloadPath::getPathSet($manager);// we use viewback to get right path + + + // In case no return value will be sent (should not happen) + if ($component != '' && $frontEnd == 0) { + $componentUrl = 'index.php?option='.$component; + } else { + $componentUrl = 'index.php'; + } + if ($tab != '') { + $tabUrl = '&tab='.(string)$tab; + } + + $ftp = JClientHelper::setCredentialsFromRequest('ftp'); + + // Make the filename safe + if (isset($file['name'])) { + $file['name'] = JFile::makeSafe($file['name']); + } + + + if (isset($folder) && $folder != '') { + $folder = $folder . DS; + } + + + // All HTTP header will be overwritten with js message + if (isset($file['name'])) { + $filepath = JPath::clean($path['orig_abs_ds'].$folder.strtolower($file['name'])); + $filepath = JPath::clean($path['orig_abs_ds'].$folder.$file['name']); + + if (!PhocaDownloadFileUpload::canUpload( $file, $errUploadMsg, $manager, $frontEnd )) { + + if ($errUploadMsg == 'COM_PHOCADOWNLOAD_WARNING_FILE_TOOLARGE') { + $errUploadMsg = JText::_($errUploadMsg) . ' ('.PhocaDownloadFileUpload::getFileSizeReadable($file['size']).')'; + } /* else if ($errUploadMsg == 'COM_PHOCADOWNLOAD_WARNING_FILE_TOOLARGE_RESOLUTION') { + $imgSize = phocadownloadImage::getImageSize($file['tmp_name']); + $errUploadMsg = JText::_($errUploadMsg) . ' ('.(int)$imgSize[0].' x '.(int)$imgSize[1].' px)'; + } */ else { + $errUploadMsg = JText::_($errUploadMsg); + } + + + if ($return) { + $app->enqueueMessage( $errUploadMsg, 'error'); + $app->redirect(base64_decode($return).'&manager='.(string)$manager.'&folder='.$folderUrl); + exit; + } else { + $app->enqueueMessage( $errUploadMsg, 'error'); + $app->redirect($componentUrl, $errUploadMsg); + exit; + } + } + + if (JFile::exists($filepath) && $overwriteExistingFiles == 0) { + if ($return) { + $app->redirect(base64_decode($return).'&manager='.(string)$manager.'&folder='.$folderUrl, JText::_('COM_PHOCADOWNLOAD_FILE_ALREADY_EXISTS'), 'error'); + exit; + } else { + $app->enqueueMessage( JText::_('COM_PHOCADOWNLOAD_FILE_ALREADY_EXISTS'), 'error'); + $app->redirect($componentUrl); + exit; + } + } + + if (!JFile::upload($file['tmp_name'], $filepath, false, true)) { + if ($return) { + $app->enqueueMessage( JText::_('COM_PHOCADOWNLOAD_ERROR_UNABLE_TO_UPLOAD_FILE'), 'error'); + $app->redirect(base64_decode($return).'&manager='.(string)$manager.'&folder='.$folderUrl); + exit; + } else { + $app->enqueueMessage( JText::_('COM_PHOCADOWNLOAD_ERROR_UNABLE_TO_UPLOAD_FILE'), 'error'); + $app->redirect($componentUrl); + exit; + } + } else { + + if ((int)$frontEnd > 0) { + return $file['name']; + } + + if ($return) { + $app->enqueueMessage( JText::_('COM_PHOCADOWNLOAD_SUCCESS_FILE_UPLOAD')); + $app->redirect(base64_decode($return).'&manager='.(string)$manager.'&folder='.$folderUrl); + exit; + } else { + $app->enqueueMessage( JText::_('COM_PHOCADOWNLOAD_SUCCESS_FILE_UPLOAD')); + $app->redirect($componentUrl); + exit; + } + } + } else { + $msg = JText::_('COM_PHOCADOWNLOAD_ERROR_UNABLE_TO_UPLOAD_FILE'); + if ($return) { + $app->enqueueMessage( $msg, 'error'); + $app->redirect(base64_decode($return).'&manager='.(string)$manager.'&folder='.$folderUrl); + exit; + } else { + if($viewBack != '') { + $group = PhocaDownloadSettings::getManagerGroup($manager); + $link = 'index.php?option=com_phocadownload&view=phocadownloadmanager&manager='.(string)$manager + .str_replace('&', '&', $group['c']).'&'.$tabUrl.'&folder='.$folder.'&field='.$field; + $app->enqueueMessage( $msg, 'error'); + $app->redirect($link); + } else { + $app->enqueueMessage( $msg, 'error'); + $app->redirect('index.php?option=com_phocadownload'); + } + + } + } + + } + + + + public static function canUpload( $file, &$err, $manager = '', $frontEnd = 0, $chunkEnabled = 0, $realSize = 0) { + + $paramsC = JComponentHelper::getParams( 'com_phocadownload' ); + + if ($frontEnd == 1) { + $aft = $paramsC->get( 'allowed_file_types_upload', PhocaDownloadSettings::getDefaultAllowedMimeTypesUpload() ); + $dft = $paramsC->get( 'disallowed_file_types_upload', '' ); + $allowedMimeType = PhocaDownloadFile::getMimeTypeString($aft); + $disallowedMimeType = PhocaDownloadFile::getMimeTypeString($dft); + + $ignoreUploadCh = 0; + $ignoreUploadCheck = $params->get( 'ignore_file_types_check', 2 ); + if ($ignoreUploadCheck == 1 || $ignoreUploadCheck == 4 ) { + $ignoreUploadCh = 1; + } + + } else { + + $aft = $paramsC->get( 'allowed_file_types_download', PhocaDownloadSettings::getDefaultAllowedMimeTypesDownload() ); + $dft = $paramsC->get( 'disallowed_file_types_download', '' ); + $allowedMimeType = PhocaDownloadFile::getMimeTypeString($aft); + $disallowedMimeType = PhocaDownloadFile::getMimeTypeString($dft); + + $ignoreUploadCh = 0; + $ignoreUploadCheck = $paramsC->get( 'ignore_file_types_check', 2 ); + if ($ignoreUploadCheck == 5 || $ignoreUploadCheck == 5 ) { + $ignoreUploadCh = 1; + } + } + + + + $paramsL = array(); + $group = PhocaDownloadSettings::getManagerGroup($manager); + if ($group['f'] == 2) { + $paramsL['upload_extensions'] = 'gif,jpg,png,jpeg'; + $paramsL['image_extensions'] = 'gif,jpg,png,jpeg'; + $paramsL['upload_mime'] = 'image/jpeg,image/gif,image/png'; + $paramsL['upload_mime_illegal'] ='application/x-shockwave-flash,application/msword,application/excel,application/pdf,application/powerpoint,text/plain,application/x-zip,text/html'; + $paramsL['upload_ext_illegal'] = $disallowedMimeType['ext']; + } else { + $paramsL['upload_extensions'] = $allowedMimeType['ext']; + $paramsL['image_extensions'] = 'bmp,gif,jpg,png,jpeg'; + $paramsL['upload_mime'] = $allowedMimeType['mime']; + $paramsL['upload_mime_illegal'] = $disallowedMimeType['mime']; + $paramsL['upload_ext_illegal'] = $disallowedMimeType['ext']; + } + + + // The file doesn't exist + if(empty($file['name'])) { + $err = 'COM_PHOCADOWNLOAD_WARNING_INPUT_FILE_UPLOAD'; + return false; + } + // Not safe file + jimport('joomla.filesystem.file'); + if ($file['name'] !== JFile::makesafe($file['name'])) { + $err = 'COM_PHOCADOWNLOAD_WARNFILENAME'; + return false; + } + + $format = strtolower(JFile::getExt($file['name'])); + if ($ignoreUploadCh == 1) { + + } else { + + $allowable = explode( ',', $paramsL['upload_extensions']); + $notAllowable = explode( ',', $paramsL['upload_ext_illegal']); + if(in_array($format, $notAllowable)) { + $err = 'COM_PHOCADOWNLOAD_WARNFILETYPE_DISALLOWED'; + return false; + } + + + //if (!in_array($format, $allowable)) { + if ($format == '' || $format == false || (!in_array($format, $allowable))) { + $err = 'COM_PHOCADOWNLOAD_WARNFILETYPE_NOT_ALLOWED'; + return false; + } + } + + + // Max size of image + // If chunk method is used, we need to get computed size + $maxSize = $paramsC->get( 'upload_maxsize', 3145728 ); + if ((int)$frontEnd > 0) { + $maxSize = $paramsC->get( 'user_file_upload_size', 3145728 ); + } else { + $maxSize = $paramsC->get( 'upload_maxsize', 3145728 ); + } + + if ($chunkEnabled == 1) { + if ((int)$maxSize > 0 && (int)$realSize > (int)$maxSize) { + $err = 'COM_PHOCADOWNLOAD_WARNFILETOOLARGE'; + + return false; + } + } else { + if ((int)$maxSize > 0 && (int)$file['size'] > (int)$maxSize) { + $err = 'COM_PHOCADOWNLOAD_WARNFILETOOLARGE'; + + return false; + } + } + + + // User (only in ucp) - Check the size of all files by users + if ($frontEnd == 2) { + $user = JFactory::getUser(); + $maxUserUploadSize = (int)$paramsC->get( 'user_files_max_size', 20971520 ); + $maxUserUploadCount = (int)$paramsC->get( 'user_files_max_count', 5 ); + $allFile = PhocaDownloadUser:: getUserFileInfo($file, $user->id); + + if ($chunkEnabled == 1) { + $fileSize = $realSize; + } else { + $fileSize = $file['size']; + } + + if ((int)$maxUserUploadSize > 0 && (int) $allFile['size'] > $maxUserUploadSize) { + $err = JText::_('COM_PHOCADOWNLOAD_WARNUSERFILESTOOLARGE'); + return false; + } + + if ((int) $allFile['count'] > $maxUserUploadCount) { + $err = JText::_('COM_PHOCADOWNLOAD_WARNUSERFILESTOOMUCH'); + return false; + } + } + + + + + // Image check + $imginfo = null; + $images = explode( ',', $paramsL['image_extensions']); + + if(in_array($format, $images)) { // if its an image run it through getimagesize + + $group = PhocaDownloadSettings::getManagerGroup($manager); + if($group['i'] == 1) { + if ($chunkEnabled != 1) { + if(($imginfo = getimagesize($file['tmp_name'])) === FALSE) { + $err = 'COM_PHOCADOWNLOAD_WARNINVALIDIMG'; + $err = $imginfo[0]; + return false; + } + } + } + } else if(!in_array($format, $images)) { // if its not an image...and we're not ignoring it + $allowed_mime = explode(',', $paramsL['upload_mime']); + $illegal_mime = explode(',', $paramsL['upload_mime_illegal']); + if(function_exists('finfo_open')) {// We have fileinfo + $finfo = finfo_open(FILEINFO_MIME); + $type = finfo_file($finfo, $file['tmp_name']); + if(strlen($type) && !in_array($type, $allowed_mime) && in_array($type, $illegal_mime)) { + $err = 'COM_PHOCADOWNLOAD_WARNINVALIDMIME'; + return false; + } + finfo_close($finfo); + } else if(function_exists('mime_content_type')) { // we have mime magic + $type = mime_content_type($file['tmp_name']); + if(strlen($type) && !in_array($type, $allowed_mime) && in_array($type, $illegal_mime)) { + $err = 'COM_PHOCADOWNLOAD_WARNINVALIDMIME'; + return false; + } + } + } + + // XSS Check + $xss_check = JFile::read($file['tmp_name'],false,256); + $html_tags = PhocaDownloadSettings::getHTMLTagsUpload(); + foreach($html_tags as $tag) { // A tag is '' + if(stristr($xss_check, '<'.$tag.' ') || stristr($xss_check, '<'.$tag.'>')) { + $err = 'COM_PHOCADOWNLOAD_WARNIEXSS'; + return false; + } + } + + return true; + } + + + public static function renderFTPaccess() { + + $ftpOutput = '
' + .''. JText::_('COM_PHOCADOWNLOAD_FTP_LOGIN_LABEL').'' + .JText::_('COM_PHOCADOWNLOAD_FTP_LOGIN_DESC') + .'' + .'' + .'' + .'' + .'' + .'' + .'' + .'' + .'
'; + return $ftpOutput; + } + + public static function renderCreateFolder($sessName, $sessId, $currentFolder, $viewBack, $attribs = '') { + + if ($attribs != '') { + $attribs = '&'.$attribs; + } + + $folderOutput = '
'."\n" + + .'

'.JText::_('COM_PHOCADOWNLOAD_FOLDER').'

'."\n" + .'
' + .'' + .'' + .' ' + .'
'."\n" + .JHTML::_( 'form.token' ) + .'
'; + return $folderOutput; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/file/fileuploadmultiple.php b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/file/fileuploadmultiple.php new file mode 100644 index 00000000..64053140 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/file/fileuploadmultiple.php @@ -0,0 +1,288 @@ +get( 'multiple_upload_chunk', 0 ); + $uploadMethod = $paramsC->get( 'multiple_upload_method', 4 ); + + JHtml::_('behavior.framework', true);// Load it here to be sure, it is loaded before jquery + JHtml::_('jquery.framework', false);// Load it here because of own nonConflict method (nonconflict is set below) + $document = JFactory::getDocument(); + // No more used - - - - - + //$document->addScript(JURI::root(true).'/components/com_phocadownload/assets/jquery/jquery-1.6.4.min.js');//USE SYSTEM + //$nC = 'var pgJQ = jQuery.noConflict();';//SET BELOW + //$document->addScriptDeclaration($nC);//SET BELOW + // - - - - - - - - - - - - + + //$document->addScript(JURI::root(true).'/components/com_phocadownload/assets/plupload/jquery.ui.plupload/jquery.ui.plupload.js'); + + if ($uploadMethod == 2) { + //$document->addScript(JURI::root(true).'/components/com_phocadownload/assets/plupload/plupload.gears.js'); + } + if ($uploadMethod == 5) { + //$document->addScript(JURI::root(true).'/components/com_phocadownload/assets/plupload/plupload.browserplus.js'); + } + $document->addScript(JURI::root(true).'/components/com_phocadownload/assets/plupload/plupload.js'); + if ($uploadMethod == 2) { + $document->addScript(JURI::root(true).'/components/com_phocadownload/assets/plupload/plupload.gears.js'); + } + if ($uploadMethod == 3) { + $document->addScript(JURI::root(true).'/components/com_phocadownload/assets/plupload/plupload.silverlight.js'); + } + if ($uploadMethod == 1) { + $document->addScript(JURI::root(true).'/components/com_phocadownload/assets/plupload/plupload.flash.js'); + } + if ($uploadMethod == 5) { + $document->addScript(JURI::root(true).'/components/com_phocadownload/assets/plupload/plupload.browserplus.js'); + } + if ($uploadMethod == 6) { + $document->addScript(JURI::root(true).'/components/com_phocadownload/assets/plupload/plupload.html4.js'); + } + if ($uploadMethod == 4) { + $document->addScript(JURI::root(true).'/components/com_phocadownload/assets/plupload/plupload.html5.js'); + } + $document->addScript(JURI::root(true).'/components/com_phocadownload/assets/plupload/jquery.plupload.queue/jquery.plupload.queue.js'); + JHTML::stylesheet( 'components/com_phocadownload/assets/plupload/jquery.plupload.queue/css/jquery.plupload.queue.css' ); + } + + public static function getMultipleUploadSizeFormat($size) { + $readableSize = PhocaDownloadFile::getFileSizeReadable($size, '%01.0f %s', 1); + + $readableSize = str_replace(' ', '', $readableSize); + + $readableSize = strtolower($readableSize); + return $readableSize; + } + + public function renderMultipleUploadJS($frontEnd = 0, $chunkMethod = 0) { + + $document = JFactory::getDocument(); + + switch ($this->method) { + case 2: + $name = 'gears_uploader'; + $runtime = 'gears'; + break; + case 3: + $name = 'silverlight_uploader'; + $runtime = 'silverlight'; + break; + case 4: + $name = 'html5_uploader'; + $runtime = 'html5'; + break; + + case 5: + $name = 'browserplus_uploader'; + $runtime = 'browserplus'; + break; + + case 6: + $name = 'html4_uploader'; + $runtime = 'html4'; + break; + + case 1: + default: + $name = 'flash_uploader'; + $runtime = 'flash'; + break; + } + + $chunkEnabled = 0; + // Chunk only if is enabled and only if flash is enabled + if (($chunkMethod == 1 && $this->method == 1) || ($this->frontEnd == 0 && $chunkMethod == 0 && $this->method == 1)) { + $chunkEnabled = 1; + } + + $this->url = str_replace('&', '&', $this->url); + $this->reload = str_replace('&', '&', $this->reload); + + + $js = 'var pgJQ = jQuery.noConflict();'; + + $js .='pgJQ(function() {'."\n"; + + $js.=''."\n"; + $js.=' plupload.addI18n({'."\n"; + $js.=' \'Select files\' : \''.addslashes(JText::_('COM_PHOCADOWNLOAD_SELECT_FILES')).'\','."\n"; + $js.=' \'Add files to the upload queue and click the start button.\' : \''.addslashes(JText::_('COM_PHOCADOWNLOAD_ADD_FILES_TO_UPLOAD_QUEUE_AND_CLICK_START_BUTTON')).'\','."\n"; + $js.=' \'Filename\' : \''.addslashes(JText::_('COM_PHOCADOWNLOAD_FILENAME')).'\','."\n"; + $js.=' \'Status\' : \''.addslashes(JText::_('COM_PHOCADOWNLOAD_STATUS')).'\','."\n"; + $js.=' \'Size\' : \''.addslashes(JText::_('COM_PHOCADOWNLOAD_SIZE')).'\','."\n"; + $js.=' \'Add files\' : \''.addslashes(JText::_('COM_PHOCADOWNLOAD_ADD_FILES')).'\','."\n"; + $js.=' \'Start upload\':\''.addslashes(JText::_('COM_PHOCADOWNLOAD_START_UPLOAD')).'\','."\n"; + $js.=' \'Stop current upload\' : \''.addslashes(JText::_('COM_PHOCADOWNLOAD_STOP_CURRENT_UPLOAD')).'\','."\n"; + $js.=' \'Start uploading queue\' : \''.addslashes(JText::_('COM_PHOCADOWNLOAD_START_UPLOADING_QUEUE')).'\','."\n"; + $js.=' \'Drag files here.\' : \''.addslashes(JText::_('COM_PHOCADOWNLOAD_DRAG_FILES_HERE')).'\''."\n"; + $js.=' });'; + $js.=''."\n"; + + + $js.=' pgJQ("#'.$name.'").pluploadQueue({'."\n"; + $js.=' runtimes : \''.$runtime.'\','."\n"; + $js.=' url : \''.$this->url.'\','."\n"; + //$js.=' max_file_size : \''.$this->maxFileSize.'\','."\n"; + + if ($this->maxFileSize != '0b') { + $js.=' max_file_size : \''.$this->maxFileSize.'\','."\n"; + } + + if ($chunkEnabled == 1) { + $js.=' chunk_size : \'1mb\','."\n"; + } + $js.=' preinit: attachCallbacks,'."\n"; + $js.=' unique_names : false,'."\n"; + $js.=' multipart: true,'."\n"; + $js.=' filters : ['."\n"; + //$js.=' {title : "'.JText::_('COM_PHOCADOWNLOAD_IMAGE_FILES').'", extensions : "jpg,gif,png"}'."\n"; + //$js.=' {title : "Zip files", extensions : "zip"}'."\n"; + $js.=' ],'."\n"; + $js.=''."\n"; + /*if ($this->method != 6) { + if ((int)$this->imageWidth > 0 || (int)$this->imageWidth > 0) { + $js.=' resize : {width : '.$this->imageWidth.', height : '.$this->imageHeight.', quality : '.$this->imageQuality.'},'."\n"; + $js.=''."\n"; + } + }*/ + if ($this->method == 1) { + $js.=' flash_swf_url : \''.JURI::root(true).'/components/com_phocadownload/assets/plupload/plupload.flash.swf\''."\n"; + } else if ($this->method == 3) { + $js.=' silverlight_xap_url : \''.JURI::root(true).'/components/com_phocadownload/assets/plupload/plupload.silverlight.xap\''."\n"; + } + $js.=' });'."\n"; + + $js.=''."\n"; + + $js.='function attachCallbacks(Uploader) {'."\n"; + $js.=' Uploader.bind(\'FileUploaded\', function(Up, File, Response) {'."\n"; + $js.=' var obj = eval(\'(\' + Response.response + \')\');'."\n"; + //if ($this->method == 4 || $this->method == 6) { + if ($this->method == 6) { + $js.=' var queueFiles = Uploader.total.failed + Uploader.total.uploaded;'."\n"; + $js.=' var uploaded0 = Uploader.total.uploaded;'."\n"; + } else { + $js.=' var queueFiles = Uploader.total.failed + Uploader.total.uploaded + 1;'."\n"; + $js.=' var uploaded0 = Uploader.total.uploaded + 1;'."\n"; + } + $js.=''."\n"; + $js.=' if ((typeof(obj.result) != \'undefined\') && obj.result == \'error\') {'."\n"; + $js.=' '."\n"; + if ($this->method == 6) { + //$js.=' var uploaded0 = Uploader.total.uploaded;'."\n"; + } else { + //$js.=' var uploaded0 = Uploader.total.uploaded + 1;'."\n"; + } + $js.=' Up.trigger("Error", {message : obj.message, code : obj.code, details : obj.details, file: File});'."\n"; + $js.=' if( queueFiles == Uploader.files.length) {'."\n"; + if ($this->method == 6) { + $js.=' var uploaded0 = Uploader.total.uploaded;'."\n"; + } else { + $js.=' var uploaded0 = Uploader.total.uploaded;'."\n"; + } + $js.=' window.location = \''.$this->reload.'\' + \'&muuploaded=\' + uploaded0 + \'&mufailed=\' + Uploader.total.failed;'."\n"; + //$js.=' alert(\'Error\' + obj.message)'."\n"; + $js.=' }'."\n"; + $js.=' return false; '."\n"; + $js.=''."\n"; + $js.=' } else {'."\n"; + $js.=' if( queueFiles == Uploader.files.length) {'."\n"; + //$js.=' var uploaded = Uploader.total.uploaded + 1;'."\n"; + if ($this->method == 6) { + $js.=' var uploaded = Uploader.total.uploaded;'."\n"; + } else { + $js.=' var uploaded = Uploader.total.uploaded + 1;'."\n"; + } + $js.=' window.location = \''.$this->reload.'\' + \'&muuploaded=\' + uploaded + \'&mufailed=\' + Uploader.total.failed;'."\n"; + //$js.=' alert(\'OK\' + obj.message)'."\n"; + $js.=' }'."\n"; + $js.=' }'."\n"; + $js.=' });'."\n"; + $js.=' '."\n"; + $js.=' Uploader.bind(\'Error\', function(Up, ErrorObj) {'."\n"; + $js.=''."\n"; + // $js.=' if (ErrorObj.code == 100) { '."\n"; + //$js.=' pgJQ(\'#\' + ErrorObj.file.id).append(\'
\'+ ErrorObj.message + ErrorObj.details +\'
\');'."\n"; + $js.=' pgJQ(\'#\' + ErrorObj.file.id).append(\'
\'+ ErrorObj.message + ErrorObj.details +\'
\');'."\n"; + // $js.=' }'."\n"; + $js.=' }); '."\n"; + $js.='}'; + + $js.='});'."\n";// End $(function() + + $document->addScriptDeclaration($js); + } + + public function getMultipleUploadHTML($width = '', $height = '330', $mootools = 1) { + + + switch ($this->method) { + case 2: + $name = 'gears_uploader'; + $msg = JText::_('COM_PHOCADOWNLOAD_NOT_INSTALLED_GEARS'); + break; + case 3: + $name = 'silverlight_uploader'; + $msg = JText::_('COM_PHOCADOWNLOAD_NOT_INSTALLED_SILVERLIGHT'); + break; + case 4: + $name = 'html5_uploader'; + $msg = JText::_('COM_PHOCADOWNLOAD_NOT_SUPPORTED_HTML5'); + break; + + case 5: + $name = 'browserplus_uploader'; + $msg = JText::_('COM_PHOCADOWNLOAD_NOT_INSTALLED_BROWSERPLUS'); + break; + + case 6: + $name = 'html4_uploader'; + $msg = JText::_('COM_PHOCADOWNLOAD_NOT_SUPPORTED_HTML4'); + break; + + case 1: + default: + $name = 'flash_uploader'; + $msg = JText::_('COM_PHOCADOWNLOAD_NOT_INSTALLED_FLASH'); + break; + } + + $style = ''; + if ($width != '') { + $style .= 'width: '.(int)$width.'px;'; + } + if ($height != '') { + $style .= 'height: '.(int)$height.'px;'; + } + + return '
'.$msg.'
'; + + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/file/fileuploadsingle.php b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/file/fileuploadsingle.php new file mode 100644 index 00000000..e69ce4f0 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/file/fileuploadsingle.php @@ -0,0 +1,39 @@ +' + .''; + + } else { + $html = '' + //.'' + .'' + .'' + .''; + } + + return $html; + + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/file/index.html b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/file/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/file/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/html/batch.php b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/html/batch.php new file mode 100644 index 00000000..4bcdd119 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/html/batch.php @@ -0,0 +1,60 @@ +setQuery( $query ); + $data = $db->loadObjectList(); + $tree = array(); + $text = ''; + $catId= -1; + $tree = PhocaDownloadCategory::CategoryTreeOption($data, $tree, 0, $text, $catId); + + if ($category == 1) { + array_unshift($tree, JHTML::_('select.option', 0, JText::_('JLIB_HTML_ADD_TO_ROOT'), 'value', 'text')); + } + + + // Create the batch selector to change select the category by which to move or copy. + $lines = array( + '', + '
', + '', + JHTML::_( 'select.radiolist', $options, 'batch[move_copy]', '', 'value', 'text', 'm'), + '
' + ); + + return implode("\n", $lines); + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/html/grid.php b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/html/grid.php new file mode 100644 index 00000000..738e2f10 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/html/grid.php @@ -0,0 +1,30 @@ + array('disapprove', 'COM_PHOCADOWNLOAD_APPROVED', 'COM_PHOCADOWNLOAD_NOT_APPROVE_ITEM', 'COM_PHOCADOWNLOAD_APPROVED', false, 'publish', 'publish'), + 0 => array('approve', 'COM_PHOCADOWNLOAD_NOT_APPROVED', 'COM_PHOCADOWNLOAD_APPROVE_ITEM', 'COM_PHOCADOWNLOAD_NOT_APPROVED', false, 'unpublish', 'unpublish') + ); + return self::state($states, $value, $i, $prefix, $enabled, true, $checkbox); + } +} diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/html/index.html b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/html/index.html new file mode 100644 index 00000000..42682b47 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/html/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/html/jgrid.php b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/html/jgrid.php new file mode 100644 index 00000000..6b275a2d --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/html/jgrid.php @@ -0,0 +1,37 @@ + array('disapprove', 'COM_PHOCADOWNLOAD_APPROVED', 'COM_PHOCADOWNLOAD_NOT_APPROVE_ITEM', 'COM_PHOCADOWNLOAD_APPROVED', false, 'publish', 'publish'), + 0 => array('approve', 'COM_PHOCADOWNLOAD_NOT_APPROVED', 'COM_PHOCADOWNLOAD_APPROVE_ITEM', 'COM_PHOCADOWNLOAD_NOT_APPROVED', false, 'unpublish', 'unpublish') + ); + return self::state($states, $value, $i, $prefix, $enabled, true, $checkbox); + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/index.html b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/log/index.html b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/log/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/log/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/log/log.php b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/log/log.php new file mode 100644 index 00000000..fed5ac9b --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/log/log.php @@ -0,0 +1,68 @@ +get('enable_logging', 0); + // No Logging + if ($logging == 0) { + return false; + } + + // Only Downloads + if ($logging == 1 && $type == 2) { + return false; + } + + // Only Uploads + if ($logging == 2 && $type == 1) { + return false; + } + + + $user = JFactory::getUser(); + $uri = JFactory::getURI(); + $db = JFactory::getDBO(); + + $row = JTable::getInstance('PhocaDownloadLogging', 'Table'); + $data = array(); + $data['type'] = (int)$type; + $data['fileid'] = (int)$fileid; + $data['catid'] = 0;// Don't stored catid, bind the catid while displaying log + $data['userid'] = (int)$user->id; + $data['ip'] = $_SERVER["REMOTE_ADDR"]; + $data['page'] = $uri->toString(); + + + if (!$row->bind($data)) { + $this->setError($db->getErrorMsg()); + return false; + } + + $jnow = JFactory::getDate(); + $row->date = $jnow->toSql(); + + if (!$row->check()) { + $this->setError($db->getErrorMsg()); + return false; + } + + if (!$row->store()) { + $this->setError($db->getErrorMsg()); + return false; + } + return true; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/mail/index.html b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/mail/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/mail/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/mail/mail.php b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/mail/mail.php new file mode 100644 index 00000000..7591c091 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/mail/mail.php @@ -0,0 +1,83 @@ +getCfg( 'sitename' ); + $mailfrom = $app->getCfg( 'mailfrom' ); + $fromname = $sitename; + $date = JHTML::_('date', gmdate('Y-m-d H:i:s'), JText::_( 'DATE_FORMAT_LC2' )); + $user = JFactory::getUser(); + $params = $app->getParams(); + + if (isset($user->name) && $user->name != '') { + $name = $user->name; + } else { + $name = JText::_('COM_PHOCADOWNLOAD_ANONYMOUS'); + } + if (isset($user->username) && $user->username != '') { + $userName = ' ('.$user->username.')'; + } else { + $userName = ''; + } + + if ($method == 1) { + $subject = $sitename. ' - ' . JText::_( 'COM_PHOCADOWNLOAD_FILE_DOWNLOADED' ); + $title = JText::_( 'COM_PHOCADOWNLOAD_FILE_DOWNLOADED' ); + $messageText = JText::_( 'COM_PHOCADOWNLOAD_FILE') . ' "' .$fileName . '" '.JText::_('COM_PHOCADOWNLOAD_WAS_DOWNLOADED_BY'). ' '.$name . $userName.'.'; + } else { + $subject = $sitename. ' - ' . JText::_( 'COM_PHOCADOWNLOAD_SUCCESS_FILE_UPLOADED' ); + $title = JText::_( 'COM_PHOCADOWNLOAD_SUCCESS_NEW_FILE_UPLOADED' ); + $messageText = JText::_( 'COM_PHOCADOWNLOAD_FILE') . ' "' .$fileName . '" '.JText::_('COM_PHOCADOWNLOAD_WAS_UPLOADED_BY'). ' '.$name . $userName.'.'; + } + + //get all super administrator + $query = 'SELECT name, email, sendEmail' . + ' FROM #__users' . + ' WHERE id = '.(int)$id . + ' ORDER BY id'; + $db->setQuery( $query ); + $rows = $db->loadObjectList(); + + if (isset($rows[0]->email)) { + $email = $rows[0]->email; + } + + + $message = $title . "\n\n" + . JText::_( 'COM_PHOCADOWNLOAD_WEBSITE' ) . ': '. $sitename . "\n" + . JText::_( 'COM_PHOCADOWNLOAD_DATE' ) . ': '. $date . "\n" + . 'IP: ' . $_SERVER["REMOTE_ADDR"]. "\n\n" + . JText::_( 'COM_PHOCADOWNLOAD_MESSAGE' ) . ': '."\n" + . "\n\n" + . $messageText + . "\n\n" + . JText::_( 'COM_PHOCADOWNLOAD_REGARDS' ) .", \n" + . $sitename ."\n"; + + $subject = html_entity_decode($subject, ENT_QUOTES); + $message = html_entity_decode($message, ENT_QUOTES); + + $mail = JFactory::getMailer(); + $mail->sendMail($mailfrom, $fromname, $email, $subject, $message); + return true; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/ordering/index.html b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/ordering/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/ordering/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/ordering/ordering.php b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/ordering/ordering.php new file mode 100644 index 00000000..246458bc --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/ordering/ordering.php @@ -0,0 +1,152 @@ + JText::_('COM_PHOCADOWNLOAD_ORDERING_ASC'), + 2 => JText::_('COM_PHOCADOWNLOAD_ORDERING_DESC'), + 3 => JText::_('COM_PHOCADOWNLOAD_TITLE_ASC'), + 4 => JText::_('COM_PHOCADOWNLOAD_TITLE_DESC'), + 5 => JText::_('COM_PHOCADOWNLOAD_DATE_ASC'), + 6 => JText::_('COM_PHOCADOWNLOAD_DATE_DESC'), + //7 => JText::_('COM_PHOCADOWNLOAD_ID_ASC'), + //8 => JText::_('COM_PHOCADOWNLOAD_ID_DESC'), + 11 => JText::_('COM_PHOCADOWNLOAD_FILENAME_ASC'), + 12 => JText::_('COM_PHOCADOWNLOAD_FILENAME_DESC'), + + 15 => JText::_('COM_PHOCADOWNLOAD_COUNT_ASC'), + 16 => JText::_('COM_PHOCADOWNLOAD_COUNT_DESC'), + 13 => JText::_('COM_PHOCADOWNLOAD_AVERAGE_ASC'), + 14 => JText::_('COM_PHOCADOWNLOAD_AVERAGE_DESC'), + 9 => JText::_('COM_PHOCADOWNLOAD_DOWNLOADS_ASC'), + 10 => JText::_('COM_PHOCADOWNLOAD_DOWNLOADS_DESC')); + return $imgOrdering; + } + + public static function getOrderingCategoryArray() { + $imgOrdering = array( + 1 => JText::_('COM_PHOCADOWNLOAD_ORDERING_ASC'), + 2 => JText::_('COM_PHOCADOWNLOAD_ORDERING_DESC'), + 3 => JText::_('COM_PHOCADOWNLOAD_TITLE_ASC'), + 4 => JText::_('COM_PHOCADOWNLOAD_TITLE_DESC'), + 5 => JText::_('COM_PHOCADOWNLOAD_DATE_ASC'), + 6 => JText::_('COM_PHOCADOWNLOAD_DATE_DESC'), + //7 => JText::_('COM_PHOCADOWNLOAD_ID_ASC'), + //8 => JText::_('COM_PHOCADOWNLOAD_ID_DESC'), + 11 => JText::_('COM_PHOCADOWNLOAD_COUNT_ASC'), + 12 => JText::_('COM_PHOCADOWNLOAD_COUNT_DESC'), + 13 => JText::_('COM_PHOCADOWNLOAD_AVERAGE_ASC'), + 14 => JText::_('COM_PHOCADOWNLOAD_AVERAGE_DESC'), + 15 => JText::_('COM_PHOCADOWNLOAD_HITS_ASC'), + 16 => JText::_('COM_PHOCADOWNLOAD_HITS_DESC')); + return $imgOrdering; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/pagination/index.html b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/pagination/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/pagination/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/pagination/pagination.php b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/pagination/pagination.php new file mode 100644 index 00000000..2a2edad2 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/pagination/pagination.php @@ -0,0 +1,40 @@ +get( 'pagination', '5,10,15,20,50,100' ); + $paginationArray = explode( ',', $pagination ); + + // Initialize variables + $limits = array (); + + foreach ($paginationArray as $paginationValue) { + $limits[] = JHTML::_('select.option', $paginationValue); + } + $limits[] = JHTML::_('select.option', '0', JText::_('COM_PHOCADOWNLOAD_ALL')); + + $selected = $this->viewall ? 0 : $this->limit; + + // Build the select list + if ($app->isAdmin()) { + $html = JHTML::_('select.genericlist', $limits, 'limit', 'class="inputbox" size="1" onchange="submitform();"', 'value', 'text', $selected); + } else { + $html = JHTML::_('select.genericlist', $limits, 'limit', 'class="inputbox input-mini" size="1" onchange="this.form.submit()"', 'value', 'text', $selected); + } + return $html; + } + +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/path/index.html b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/path/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/path/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/path/path.php b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/path/path.php new file mode 100644 index 00000000..48a2641b --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/path/path.php @@ -0,0 +1,88 @@ +get( 'download_folder', 'phocadownload' ); + $downloadFolderPap = $paramsC->get( 'download_folder_pap', 'phocadownloadpap' ); + // Absolute path which can be outside public_html - if this will be set, download folder will be ignored + $absolutePath = $paramsC->get( 'absolute_path', '' ); + + // Path of preview and play + $downloadFolderPap = JPath::clean($downloadFolderPap); + $path['orig_abs_pap'] = JPATH_ROOT . DS . $downloadFolderPap; + $path['orig_abs_pap_ds'] = $path['orig_abs_pap'] . DS ; + + if ($group['f'] == 2) { + // Images + $path['orig_abs'] = JPATH_ROOT . DS . 'images' . DS . 'phocadownload' ; + $path['orig_abs_ds'] = $path['orig_abs'] . DS ; + $path['orig_abs_user_upload'] = $path['orig_abs'] . DS . 'userupload' ; + $path['orig_abs_user_upload_pap']= $path['orig_abs_pap'] . DS . 'userupload' ; + $path['orig_rel_ds'] = '../images/phocadownload/'; + } else if ($group['f'] == 3) { + // Play and Preview + $path['orig_abs'] = $path['orig_abs_pap']; + $path['orig_abs_ds'] = $path['orig_abs_pap_ds']; + $path['orig_abs_user_upload'] = $path['orig_abs'] . DS . 'userupload' ; + $path['orig_abs_user_upload_pap']= $path['orig_abs_pap'] . DS . 'userupload' ; + $path['orig_rel_ds'] = '../'.str_replace('/', DS, JPath::clean($downloadFolderPap)).'/'; + } else { + // Standard Path + if ($absolutePath != '') { + $downloadFolder = str_replace('/', DS, JPath::clean($absolutePath)); + $path['orig_abs'] = str_replace('/', DS, JPath::clean($absolutePath)); + $path['orig_abs_ds'] = JPath::clean($path['orig_abs'] . DS) ; + $path['orig_abs_user_upload'] = JPath::clean($path['orig_abs'] . DS . 'userupload') ; + $path['orig_abs_user_upload_pap']= JPath::clean($path['orig_abs_pap'] . DS . 'userupload') ; + //$downloadFolderRel = str_replace(DS, '/', JPath::clean($downloadFolder)); + $path['orig_rel_ds'] = ''; + + } else { + $downloadFolder = str_replace('/', DS, JPath::clean($downloadFolder)); + $path['orig_abs'] = JPATH_ROOT . DS . $downloadFolder ; + $path['orig_abs_ds'] = JPATH_ROOT . DS . $downloadFolder . DS ; + $path['orig_abs_user_upload'] = $path['orig_abs'] . DS . 'userupload' ; + $path['orig_abs_user_upload_pap']= $path['orig_abs_pap'] . DS . 'userupload' ; + + $downloadFolderRel = str_replace(DS, '/', JPath::clean($downloadFolder)); + $path['orig_rel_ds'] = '../' . $downloadFolderRel .'/'; + } + } + return $path; + } + + public static function getPathMedia() { + + //TODO create a singleton + $option = 'com_phocadownload'; + $instance = new StdClass(); + $baseFront = JURI::root(true); + $instance->media_css_abs = JPATH_ROOT . DS . 'media'. DS . $option . DS . 'css' . DS; + $instance->media_img_abs = JPATH_ROOT . DS . 'media'. DS . $option . DS . 'images' . DS; + $instance->media_js_abs = JPATH_ROOT . DS . 'media'. DS . $option . DS . 'js' . DS; + $instance->media_css_rel = 'media/'. $option .'/css/'; + $instance->media_img_rel = 'media/'. $option .'/images/'; + $instance->media_js_rel = 'components/'. $option .'/assets/'; + $instance->media_css_rel_full = $baseFront . '/' . $instance->media_css_rel; + $instance->media_img_rel_full = $baseFront . '/' . $instance->media_img_rel; + $instance->media_js_rel_full = $baseFront . '/' . $instance->media_js_rel; + return $instance; + + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/path/route.php b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/path/route.php new file mode 100644 index 00000000..3e33ecdf --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/path/route.php @@ -0,0 +1,393 @@ +getMenu(); + $active = $menu->getActive(); + + $activeId = 0; + if (isset($active->id)){ + $activeId = $active->id; + } + + $itemId = 0; + $option = $app->input->get( 'option', '', 'string' ); + $view = $app->input->get( 'view', '', 'string' ); + if ($option == 'com_phocadownload' && $view == 'category') { + if ((int)$activeId > 0) { + // 2) if there are two menu links, try to select the one active + $itemId = $activeId; + } + } + + + $needles = array( + 'categories' => '' + ); + + $link = 'index.php?option=com_phocadownload&view=categories'; + + if($item = self::_findItem($needles, 1)) { + if(isset($item->query['layout'])) { + $link .= '&layout='.$item->query['layout']; + } + + // 1) get standard item id if exists + if ((int)$itemId > 0) { + $link .= '&Itemid='.(int)$itemId; + } else if (isset($item->id)) { + $link .= '&Itemid='.(int)$item->id;; + } + + /*if (isset($item->id)) { + $link .= '&Itemid='.$item->id; + }*/ + } + return $link; + } + + public static function getCategoryRoute($catid, $catidAlias = '') { + + // TEST SOLUTION + $app = JFactory::getApplication(); + $menu = $app->getMenu(); + $active = $menu->getActive(); + $option = $app->input->get( 'option', '', 'string' ); + + $activeId = 0; + if (isset($active->id)){ + $activeId = $active->id; + } + if ((int)$activeId > 0 && $option == 'com_phocadownload') { + $needles = array( + 'category' => (int)$catid, + 'categories' => (int)$activeId + ); + } else { + $needles = array( + 'category' => (int)$catid, + 'categories' => '' + ); + } + + if ($catidAlias != '') { + $catid = $catid . ':' . $catidAlias; + } + + //Create the link + $link = 'index.php?option=com_phocadownload&view=category&id='. $catid; + + if($item = self::_findItem($needles)) { + if(isset($item->query['layout'])) { + $link .= '&layout='.$item->query['layout']; + } + if(isset($item->id)) { + $link .= '&Itemid='.$item->id; + } + }; + + return $link; + } + + public static function getCategoryRouteByTag($tagId) + { + $needles = array( + 'category' => '', + //'section' => (int) $sectionid, + 'categories' => '' + ); + + $db = JFactory::getDBO(); + + $query = 'SELECT a.id, a.title, a.link_ext, a.link_cat' + .' FROM #__phocadownload_tags AS a' + .' WHERE a.id = '.(int)$tagId; + + $db->setQuery($query, 0, 1); + $tag = $db->loadObject(); + + if (!$db->query()) { + $this->setError($db->getErrorMsg()); + return false; + } + + //Create the link + if (isset($tag->id)) { + $link = 'index.php?option=com_phocadownload&view=category&id=tag&tagid='.(int)$tag->id; + } else { + $link = 'index.php?option=com_phocadownload&view=category&id=tag&tagid=0'; + } + + if($item = self::_findItem($needles)) { + if(isset($item->query['layout'])) { + $link .= '&layout='.$item->query['layout']; + } + if(isset($item->id)) { + $link .= '&Itemid='.$item->id; + } + }; + + return $link; + } + + + public static function getFileRoute($id, $catid = 0, $idAlias = '', $catidAlias = '', $sectionid = 0, $type = 'file', $suffix = '') + { + // TEST SOLUTION + $app = JFactory::getApplication(); + $menu = $app->getMenu(); + $active = $menu->getActive(); + $option = $app->input->get( 'option', '', 'string' ); + + $activeId = 0; + if (isset($active->id)){ + $activeId = $active->id; + } + + if ((int)$activeId > 0 && $option == 'com_phocadownload') { + + $needles = array( + 'file' => (int) $id, + 'category' => (int) $catid, + 'categories' => (int)$activeId + ); + } else { + $needles = array( + 'file' => (int) $id, + 'category' => (int) $catid, + 'categories' => '' + ); + } + + if ($idAlias != '') { + $id = $id . ':' . $idAlias; + } + if ($catidAlias != '') { + $catid = $catid . ':' . $catidAlias; + } + + //Create the link + + switch ($type) + { + + + case 'play': + $link = 'index.php?option=com_phocadownload&view=play&id='. $id.'&tmpl=component'; + break; + case 'detail': + $link = 'index.php?option=com_phocadownload&view=file&id='. $id.'&tmpl=component'; + break; + case 'download': + $link = 'index.php?option=com_phocadownload&view=category&download='. $id . '&id='. $catid; + break; + default: + $link = 'index.php?option=com_phocadownload&view=file&id='. $id; + break; + + } + + if ($item = self::_findItem($needles)) { + if (isset($item->id)) { + $link .= '&Itemid='.$item->id; + } + } + + if ($suffix != '') { + $link .= '&'.$suffix; + } + + return $link; + + + } + + public static function getDownloadRoute($id, $catid, $token, $directDownload = 1) + { + $needles = array( + 'download' => '', + 'categories' => '', + 'category' => (int) $catid, + 'file' => (int) $id + ); + if ($directDownload == 1) { + $link = 'index.php?option=com_phocadownload&view=download&id='. $token.'&download=1&' . JSession::getFormToken() . '=1'; + } else { + $link = 'index.php?option=com_phocadownload&view=download&id='. $token; + } + + if($item = self::_findItem($needles)) { + if (isset($item->id)) { + $link .= '&Itemid='.$item->id; + } + } + + return $link; + } + + public static function getFeedRoute($id, $catid = 0, $sectionid = 0, $type = 'rss') + { + $needles = array( + 'categories' => '', + //'section' => (int) $sectionid, + 'category' => (int) $catid, + 'file' => (int) $id + ); + + /* + if ($idAlias != '') { + $id = $id . ':' . $idAlias; + } + if ($catidAlias != '') { + $catid = $catid . ':' . $catidAlias; + }*/ + + //Create the link + $link = 'index.php?option=com_phocadownload&view=feed&id='.$id.'&format=feed&type='.$type; + + if($item = self::_findItem($needles, 1)) { + if (isset($item->id)) { + $link .= '&Itemid='.$item->id; + } + } + return $link; + } + + public static function getGuestbookRoute($id, $title) + { + $needles = array( + 'guestbook' => (int) $id + ); + + $link = 'index.php?option=com_phocaguestbook&view=guestbook&cid='.(int)$id.'&reporttitle='.strip_tags($title).'&tmpl=component'; + + if($item = self::_findItem($needles, 1, 'com_phocaguestbook')) { + if (isset($item->id)) { + $link .= '&Itemid='.$item->id; + } + } + return $link; + } + + + + + /* + function getSectionRoute($sectionid, $sectionidAlias = '') + { + $needles = array( + 'section' => (int) $sectionid, + 'sections' => '' + ); + + if ($sectionidAlias != '') { + $sectionid = $sectionid . ':' . $sectionidAlias; + } + + //Create the link + $link = 'index.php?option=com_phocadownload&view=section&id='.$sectionid; + + if($item = self::_findItem($needles)) { + if(isset($item->query['layout'])) { + $link .= '&layout='.$item->query['layout']; + } + $link .= '&Itemid='.$item->id; + } + + return $link; + } + + function getSectionsRoute() + { + $needles = array( + 'sections' => '' + ); + + //Create the link + $link = 'index.php?option=com_phocadownload&view=sections'; + + if($item = self::_findItem($needles)) { + if(isset($item->query['layout'])) { + $link .= '&layout='.$item->query['layout']; + } + if (isset($item->id)) { + $link .= '&Itemid='.$item->id; + } + } + + return $link; + }*/ + + protected static function _findItem($needles, $notCheckId = 0, $component = 'com_phocadownload') + { + + $app = JFactory::getApplication(); + $menus = $app->getMenu('site', array()); + $items = $menus->getItems('component', $component); + + if(!$items) { + return $app->input->get('Itemid', 0, '', 'int'); + //return null; + } + + $match = null; + + + foreach($needles as $needle => $id) + { + + if ($notCheckId == 0) { + foreach($items as $item) { + if ((@$item->query['view'] == $needle) && (@$item->query['id'] == $id)) { + $match = $item; + break; + } + } + } else { + foreach($items as $item) { + if (@$item->query['view'] == $needle) { + $match = $item; + break; + } + } + } + + if(isset($match)) { + break; + } + } + + return $match; + } +} +?> diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/rate/index.html b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/rate/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/rate/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/rate/rate.php b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/rate/rate.php new file mode 100644 index 00000000..d8011929 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/rate/rate.php @@ -0,0 +1,288 @@ +setQuery($query, 0, 1); + $votesStatistics = $db->loadObject(); + // if no count, set the average to 0 + if($votesStatistics->count == 0) { + $votesStatistics->count = (int)0; + $votesStatistics->average = (float)0; + } + + if (isset($votesStatistics->count) && isset($votesStatistics->average)) { + // Insert or update + $query = 'SELECT vs.id AS id' + .' FROM #__phocadownload_file_votes_statistics AS vs' + .' WHERE vs.fileid = '.(int) $fileid + .' ORDER BY vs.id'; + $db->setQuery($query, 0, 1); + $votesStatisticsId = $db->loadObject(); + + // Yes, there is id (UPDATE) x No, there isn't (INSERT) + if (!empty($votesStatisticsId->id)) { + + $query = 'UPDATE #__phocadownload_file_votes_statistics' + .' SET count = ' .(int)$votesStatistics->count + .' , average = ' .(float)$votesStatistics->average + .' WHERE fileid = '.(int) $fileid; + $db->setQuery($query); + + if (!$db->query()) { + $this->setError('Database Error Voting 1'); + return false; + } + + } else { + + $query = 'INSERT into #__phocadownload_file_votes_statistics' + .' (id, fileid, count, average)' + .' VALUES (null, '.(int)$fileid + .' , '.(int)$votesStatistics->count + .' , '.(float)$votesStatistics->average + .')'; + $db->setQuery($query); + + if (!$db->query()) { + $this->setError('Database Error Voting 2'); + return false; + } + + } + } else { + return false; + } + return true; + } + + public static function getVotesStatisticsFile($id) { + + $db = JFactory::getDBO(); + $query = 'SELECT vs.count AS count, vs.average AS average' + .' FROM #__phocadownload_file_votes_statistics AS vs' + .' WHERE vs.fileid = '.(int) $id + .' ORDER BY vs.fileid'; + $db->setQuery($query, 0, 1); + $votesStatistics = $db->loadObject(); + + return $votesStatistics; + } + + public static function checkUserVoteFile($fileid, $userid) { + + $db = JFactory::getDBO(); + $query = 'SELECT v.id AS id' + .' FROM #__phocadownload_file_votes AS v' + .' WHERE v.fileid = '. (int)$fileid + .' AND v.userid = '. (int)$userid + .' ORDER BY v.id'; + $db->setQuery($query, 0, 1); + $checkUserVote = $db->loadObject(); + if ($checkUserVote) { + return true; + } + return false; + } + + + public static function renderRateFile($id, $displayRating, $small = 1, $refresh = false) { + + $user = JFactory::getUser(); + $neededAccessLevels = PhocaDownloadAccess::getNeededAccessLevels(); + $access = PhocaDownloadAccess::isAccess($user->getAuthorisedViewLevels(), $neededAccessLevels); + + + if ($small == 1) { + $smallO = '-small'; + $ratio = 18; + } else { + $smallO = ''; + $ratio = 22; + } + + $o = ''; + + //.$rating['urlvote'].$amp.'controller=detail&task=rate&rating=1 + //$amp = PhocaDownloadAccess::setQuestionmarkOrAmp($rating['urlvote']); + $href = 'javascript:void(0);'; + + if ((int)$displayRating != 1) { + return ''; + } else { + + $rating['alreadyratedfile'] = self::checkUserVoteFile( (int)$id, (int)$user->id ); + + $rating['notregisteredfile'] = true; + //$rating['usernamefile'] = ''; + if ($access > 0) { + $rating['notregisteredfile'] = false; + $rating['usernamefile'] = $user->name; + } + + $rating['votescountfile'] = 0; + $rating['votesaveragefile'] = 0; + $rating['voteswidthfile'] = 0; + $votesStatistics = self::getVotesStatisticsFile((int)$id); + if (!empty($votesStatistics->count)) { + $rating['votescountfile'] = $votesStatistics->count; + } + if (!empty($votesStatistics->average)) { + $rating['votesaveragefile'] = $votesStatistics->average; + if ($rating['votesaveragefile'] > 0) { + $rating['votesaveragefile'] = round(((float)$rating['votesaveragefile'] / 0.5)) * 0.5; + $rating['voteswidthfile'] = $ratio * $rating['votesaveragefile']; + } else { + $rating['votesaveragefile'] = (int)0;// not float displaying + } + } + + // Leave message for already voted images + //$vote = JRequest::getVar('vote', 0, '', 'int'); + $voteMsg = JText::_('COM_PHOCADOWNLOAD_RATING_ALREADY_RATED_FILE'); + //if ($vote == 1) { + // $voteMsg = JText::_('COM_PHOCADOWNLOAD_ALREADY_RATED_FILE_THANKS'); + //} + + $rating['votestextimg'] = 'VOTE'; + if ((int)$rating['votescountfile'] > 1) { + $rating['votestextimg'] = 'VOTES'; + } + + $o .= '
' + . JText::_('COM_PHOCADOWNLOAD_RATING'). ': ' . $rating['votesaveragefile'] .' / ' + .$rating['votescountfile'] . ' ' . JText::_('COM_PHOCADOWNLOAD_'.$rating['votestextimg']). '  
'; + + if ($rating['alreadyratedfile']) { + $o .= '
'; + + $or ='
'.JText::_('COM_PHOCADOWNLOAD_RATING_ALREADY_RATED_FILE').'
'; + + } else if ($rating['notregisteredfile']) { + + $o .= '
'; + + $or ='
'.JText::_('COM_PHOCADOWNLOAD_ONLY_REGISTERED_LOGGED_RATE_FILE').'
'; + + } else { + + $o .= '
'; + + $or ='
'; + } + + + + } + + if ($refresh == true) { + return $o;//we are in Ajax, return only content of pdvoting div + } else { + return '
'.$o.'
' .$or ;//not in ajax, return the contend in div + } + + + } + + public static function renderRateFileJS($small = 1) { + + $document = JFactory::getDocument(); + $url = 'index.php?option=com_phocadownload&view=ratingfilea&task=rate&format=json&'.JSession::getFormToken().'=1'; + $urlRefresh = 'index.php?option=com_phocadownload&view=ratingfilea&task=refreshrate&small='.$small.'&format=json&'.JSession::getFormToken().'=1'; + $imgLoadingUrl = JURI::base(). 'media/com_phocadownload/images/icon-loading2.gif'; + $imgLoadingHTML = ''; + $js = ''; + $document->addCustomTag($js); + + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/render/layout.php b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/render/layout.php new file mode 100644 index 00000000..d0173af7 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/render/layout.php @@ -0,0 +1,327 @@ +params = JComponentHelper::getParams('com_phocadownload'); + } + + if ($this->filePath == '') { + $this->filePath = PhocaDownloadPath::getPathSet('file'); + } + + if ($this->iconPath == '') { + $this->iconPath = PhocaDownloadPath::getPathSet('icon'); + } + + if ($this->cssImagePath == '') { + $this->cssImagePath = str_replace('../', JURI::base(true) . '/', $this->iconPath['orig_rel_ds']); + } + + if ($this->fileAbsPath == '') { + $this->fileAbsPath = $this->filePath['orig_abs_ds']; + } + } + + + public function getName($title, $filename, $preferTitle = 0) + { + + $name = $title; + $fon = $this->params->get('filename_or_name', 'filename'); + + if ($fon == 'title') { + $name = $title; + } else if ($fon == 'filename') { + $name = PhocaDownloadFile::getTitleFromFilenameWithExt($filename); + } else if ($fon == 'filenametitle') { + if ($preferTitle == 1) { + $name = $title; + } else { + // Must be solved before + $name = PhocaDownloadFile::getTitleFromFilenameWithExt($filename); + } + } + + return $name; + } + + public function getImageFileName($imageFilename, $fileName = '', $type = 1, $iconSize = 16) + { + + $name['filenamestyle'] = ''; + $name['filenamethumb'] = ''; + + if ($imageFilename != '') { + $thumbnail = false; + $thumbnail = preg_match("/phocathumbnail/i", $imageFilename); + if ($thumbnail) { + $name['filenamethumb'] = '
' + . '
'; + $name['filenamestyle'] = ''; + } else { + $name['filenamethumb'] = ''; + $name['filenamestyle'] = 'style="background: url(\'' . $this->cssImagePath . $imageFilename . '\') 0 center no-repeat;"'; + } + } else { + $file_icon_mime = $this->params->get('file_icon_mime', 1); + if ($fileName != '' && $file_icon_mime == 1) { + if ($type == 3) { // Plugin + $file_icon_size = $iconSize; + } else if ($type == 2) { + $file_icon_size = $this->params->get('file_icon_size_md', 16); + } else { + $file_icon_size = $this->params->get('file_icon_size', 16); + } + $icon = PhocaDownloadFile::getMimeTypeIcon($fileName, (int)$file_icon_size, 1); + $name['filenamethumb'] = ''; + $name['filenamestyle'] = $icon; + } + } + + + return $name; + } + + public function getFileSize($filename) + { + + $size = ''; + if ($filename != '') { + $absFile = str_replace('/', DS, JPath::clean($this->fileAbsPath . $filename)); + if (JFile::exists($absFile)) { + $size = PhocaDownloadFile::getFileSizeReadable(filesize($absFile)); + } else { + $size = ''; + } + } + + return $size; + } + + public function getProtectEmail($email) + { + + $email = str_replace('@', '[' . JText::_('COM_PHOCADOWNLOAD_AT') . ']', $email); + $email = str_replace('.', '[' . JText::_('COM_PHOCADOWNLOAD_DOT') . ']', $email); + + return $email; + } + + public function getFileDate($filename, $date) + { + + $dateO = ''; + $ddt = $this->params->get('display_date_type', 0); + if ((int)$ddt > 0) { + if ($filename != '') { + $dateO = PhocaDownloadFile::getFileTime($filename, $ddt); + } + } else { + $dateO = JHTML::Date($date, JText::_('DATE_FORMAT_LC3')); + } + + $newDate = date_create($date); + date_modify($newDate, "+1 hour"); + $newDate = date_format($newDate, "Y-m-d H:i:s"); + + $dateArray = explode(" ", $newDate); + + return $dateO . ' ' . $dateArray[1]; + } + + public function isValueEditor($text) + { + + if ($text != '' && $text != '

 

' && $text != '

 

' && $text != '

' && $text != '
') { + return true; + } + return false; + } + + public function getImageDownload($img) + { + + return ''; + } + + public function displayTags($fileId, $type = 0) + { + + $o = ''; + $db = JFactory::getDBO(); + + $query = 'SELECT a.id, a.title, a.link_ext, a.link_cat' + . ' FROM #__phocadownload_tags AS a' + . ' LEFT JOIN #__phocadownload_tags_ref AS r ON r.tagid = a.id' + . ' WHERE r.fileid = ' . (int)$fileId + . ' ORDER BY a.id'; + + $db->setQuery($query); + $fileIdObject = $db->loadObjectList(); + + if (!$db->query()) { + $this->setError($db->getErrorMsg()); + return false; + } + + $tl = $this->params->get('tags_links', 0); + + $class = ''; + if ($type == 1) { + $class = 'class="label label-default"'; + } + + foreach ($fileIdObject as $k => $v) { + $o .= ''; + if ($tl == 0) { + $o .= $v->title; + } else if ($tl == 1) { + if ($v->link_ext != '') { + $o .= '' . $v->title . ''; + } else { + $o .= $v->title; + } + } else if ($tl == 2) { + + if ($v->link_cat != '') { + $query = 'SELECT a.id, a.alias' + . ' FROM #__phocadownload_categories AS a' + . ' WHERE a.id = ' . (int)$v->link_cat + . ' ORDER BY a.id'; + + $db->setQuery($query, 0, 1); + $category = $db->loadObject(); + + if (!$db->query()) { + $this->setError($db->getErrorMsg()); + return false; + } + if (isset($category->id) && isset($category->alias)) { + $link = PhocaDownloadRoute::getCategoryRoute($category->id, $category->alias); + $o .= '' . $v->title . ''; + } else { + $o .= $v->title; + } + } else { + $o .= $v->title; + } + } else if ($tl == 3) { + $link = PhocaDownloadRoute::getCategoryRouteByTag($v->id); + $o .= '' . $v->title . ''; + } + + $o .= ' '; + } + + return $o; + } + + public function displayTagsString($string = '') + { + $o = array(); + if ($string != '') { + $sA = explode(',', $string); + if (!empty($sA)) { + foreach ($sA as $k => $v) { + + // Specific cases for Joomla! CMS + switch ($v) { + case '1.5': + $c = 'pd-j-15'; + break; + case '1.7': + $c = 'pd-j-17'; + break; + case '2.5': + $c = 'pd-j-25'; + break; + case '3.x': + $c = 'pd-j-3x'; + break; + case '3.5': + $c = 'pd-j-35'; + break; + default: + $c = 'label-default'; + break; + } + + $o[] = '' . $v . ''; + } + } + } + return implode(" ", $o); + } + + public function displayVideo($url, $view = 0, $ywidth = 0, $yheight = 0) + { + + $o = ''; + if ($url != '' && PhocaDownloadUtils::isURLAddress($url)) { + + + $ssl = strpos($url, 'https'); + $yLink = 'http://www.youtube.com/v/'; + if ($ssl != false) { + $yLink = 'https://www.youtube.com/v/'; + } + + $shortUrl = 'http://youtu.be/'; + $shortUrl2 = 'https://youtu.be/'; + $pos = strpos($url, $shortUrl); + $pos2 = strpos($url, $shortUrl2); + if ($pos !== false) { + $code = str_replace($shortUrl, '', $url); + } else if ($pos2 !== false) { + $code = str_replace($shortUrl2, '', $url); + } else { + $codeArray = explode('=', $url); + $code = str_replace($codeArray[0] . '=', '', $url); + } + + + + if ($view == 0) { + // Category View + $youtubeheight = $this->params->get('youtube_height_cv', 240); + $youtubewidth = $this->params->get('youtube_width_cv', 320); + } else { + // Detail View + $youtubeheight = $this->params->get('youtube_height_dv', 360); + $youtubewidth = $this->params->get('youtube_width_dv', 480); + } + + if ((int)$ywidth > 0) { + $youtubewidth = (int)$ywidth; + } + if ((int)$yheight > 0) { + $youtubeheight = (int)$yheight; + } + + $o .= '' + . '' + . '' + . '' + . ''; + } + return $o; + } +} diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/render/renderadmin.php b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/render/renderadmin.php new file mode 100644 index 00000000..5dbf6cac --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/render/renderadmin.php @@ -0,0 +1,104 @@ +' + .'' + .JHTML::_('image', $imgUrl . $image, $text ) + .'
'.$text.'
'. "\n"; + } + + public static function getLinks() { + $app = JFactory::getApplication(); + $option = $app->input->get('option'); + $oT = strtoupper($option); + + $links = array(); + switch ($option) { + + case 'com_phocadownload': + $links[] = array('Phoca Download site', 'http://www.phoca.cz/phocadownload'); + $links[] = array('Phoca Download documentation site', 'http://www.phoca.cz/documentation/category/17-phoca-download-component'); + $links[] = array('Phoca Download download site', 'http://www.phoca.cz/download/category/68-phoca-download'); + break; + + } + + $links[] = array('Phoca News', 'http://www.phoca.cz/news'); + $links[] = array('Phoca Forum', 'http://www.phoca.cz/forum'); + + $components = array(); + $components[] = array('Phoca Gallery','phocagallery', 'pg'); + $components[] = array('Phoca Guestbook','phocaguestbook', 'pgb'); + $components[] = array('Phoca Download','phocadownload', 'pd'); + $components[] = array('Phoca Documentation','phocadocumentation', 'pdc'); + $components[] = array('Phoca Favicon','phocafavicon', 'pfv'); + $components[] = array('Phoca SEF','phocasef', 'psef'); + $components[] = array('Phoca PDF','phocapdf', 'ppdf'); + $components[] = array('Phoca Restaurant Menu','phocamenu', 'prm'); + $components[] = array('Phoca Maps','phocamaps', 'pm'); + $components[] = array('Phoca Font','phocafont', 'pf'); + $components[] = array('Phoca Email','phocaemail', 'pe'); + $components[] = array('Phoca Install','phocainstall', 'pi'); + $components[] = array('Phoca Template','phocatemplate', 'pt'); + $components[] = array('Phoca Panorama','phocapanorama', 'pp'); + $components[] = array('Phoca Photo','phocaphoto', 'ph'); + $components[] = array('Phoca Commander','phocacommander', 'pcm'); + + $banners = array(); + $banners[] = array('Phoca Restaurant Menu','phocamenu', 'prm'); + + $o = ''; + $o .= '

 

'; + $o .= '

'.JText::_($oT.'_USEFUL_LINKS'). '

'; + $o .= ''; + + $o .= '
'; + $o .= '

 

'; + $o .= '

'.JText::_($oT.'_USEFUL_TIPS'). '

'; + + $m = mt_rand(0, 10); + if ((int)$m > 0) { + $o .= '
'; + $num = range(0,(count($components) - 1 )); + shuffle($num); + for ($i = 0; $i<3; $i++) { + $numO = $num[$i]; + $o .= '
'; + $o .= '
'.JHTML::_('image', 'media/'.$option.'/images/administrator/icon-box-'.$components[$numO][2].'.png', ''). '
'; + $o .= '
'.$components[$numO][0].'
'; + $o .= '
'; + } + $o .= '
'; + $o .= '
'; + } else { + $num = range(0,(count($banners) - 1 )); + shuffle($num); + $numO = $num[0]; + $o .= '
'.JHTML::_('image', 'media/'.$option.'/images/administrator/b-'.$banners[$numO][2].'.png', ''). '
'; + + } + + $o .= '

 

'; + $o .= '

'.JText::_($oT.'_PLEASE_READ'). '

'; + $o .= '
'.JText::_($oT.'_PHOCA_NEEDS_YOUR_HELP'). '
'; + + $o .= '
'; + return $o; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/render/renderadminview.php b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/render/renderadminview.php new file mode 100644 index 00000000..e6d6e163 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/render/renderadminview.php @@ -0,0 +1,80 @@ +
'."\n" + .'
'."\n"; + } + + public function endForm() { + return '
'."\n".'
'."\n".''."\n"; + } + + public function formInputs() { + + return ''. "\n" + . JHtml::_('form.token'). "\n"; + } + + public function navigation($tabs) { + $o = ''; + return $o; + } + + public function group($form, $formArray, $clear = 0) { + $o = ''; + if (!empty($formArray)) { + if ($clear == 1) { + foreach ($formArray as $value) { + $o .= '
'. $form->getLabel($value) . '
'."\n" + . '
'. "\n" + . '
' . $form->getInput($value). '
'."\n"; + } + } else { + foreach ($formArray as $value) { + $o .= '
'."\n" + . '
'. $form->getLabel($value) . '
'."\n" + . '
' . $form->getInput($value). '
'."\n" + . '
' . "\n"; + } + } + } + return $o; + } + + public function item($form, $item, $suffix = '') { + $value = $o = ''; + if ($suffix != '') { + $value = $suffix; + } else { + $value = $form->getInput($item); + } + $o .= '
'."\n"; + $o .= '
'. $form->getLabel($item) . '
'."\n" + . '
' . $value.'
'."\n" + . '
' . "\n"; + return $o; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/render/renderadminviews.php b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/render/renderadminviews.php new file mode 100644 index 00000000..a24d8e9c --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/render/renderadminviews.php @@ -0,0 +1,399 @@ +' . "\n" + .'Joomla.orderTable = function() {' . "\n" + .' table = document.getElementById("sortTable");' . "\n" + .' direction = document.getElementById("directionTable");' . "\n" + .' order = table.options[table.selectedIndex].value;' . "\n" + .' if (order != \''. $listOrder.'\') {' . "\n" + .' dirn = \'asc\';' . "\n" + .' } else {' . "\n" + .' dirn = direction.options[direction.selectedIndex].value;' . "\n" + .' }' . "\n" + .' Joomla.tableOrdering(order, dirn, \'\');' . "\n" + .'}' . "\n" + .'' . "\n"; + } + + public function startForm($option, $view, $id = 'adminForm', $name = 'adminForm') { + return '
'."\n"; + } + + public function endForm() { + return '
'."\n".'
'."\n"; + } + + public function startFilter($txtFilter = ''){ + $o = '
'."\n". JHtmlSidebar::render()."\n"; + + + if ($txtFilter != '') { + $o .= '
'."\n" . '
'."\n" + + . ''."\n"; + } else { + $o .= '
'; + } + + return $o; + } + + public function endFilter() { + return '
' . "\n" . '
' . "\n"; + } + + public function selectFilterPublished($txtSp, $state) { + return '
'. "\n" + .'
'. "\n"; + } + + public function selectFilterType($txtSp, $type, $typeList) { + return '
'. "\n" + .'
'. "\n"; + } + + public function selectFilterLanguage($txtLng, $state) { + return '
'. "\n" + .'
'. "\n"; + } + + public function selectFilterCategory($categoryList, $txtLng, $state) { + return '
'. "\n" + .'
'. "\n"; + } + + public function selectFilterLevels($txtLng, $state) { + $levelList = array(1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5); + return + '
'. "\n" + .'
'. "\n"; + } + + public function startMainContainer() { + return '
'. "\n"; + } + + public function endMainContainer() { + return '
'. "\n"; + } + + public function startFilterBar($id = 0) { + if ((int)$id > 0) { + return '
'. "\n"; + } else { + return '
'. "\n"; + } + + } + + public function endFilterBar() { + return '
' . "\n" . '
'. "\n"; + } + + public function inputFilterSearch($txtSl, $txtSd, $state) { + return ''. "\n"; + } + + /*public function inputFilterSearchClear($txtFs, $txtFc) { + return '
'. "\n" + .''. "\n" + .''. "\n" + .'
'. "\n"; + }*/ + + public function inputFilterSearchClear($txtFs, $txtFc) { + return '
'. "\n" + .''. "\n" + .''. "\n" + .'
'. "\n"; + } + + + public function inputFilterSearchLimit($txtSl, $paginationLimitBox) { + return '
'. "\n" + .''. "\n" + .$paginationLimitBox ."\n" . '
'. "\n"; + } + + public function selectFilterDirection($txtOd, $txtOasc, $txtOdesc, $listDirn) { + $ascDir = $descDir = ''; + if ($listDirn == 'asc') {$ascDir = 'selected="selected"';} + if ($listDirn == 'desc') {$descDir = 'selected="selected"';} + return '
'. "\n" + .''. "\n" + .''. "\n" + .'
'. "\n"; + } + + public function selectFilterSortBy($txtSb, $sortFields, $listOrder) { + return '
'. "\n" + .''. "\n" + .''. "\n" + .'
'. "\n"; + } + + public function startTable($id) { + return ''. "\n"; + } + + public function endTable() { + return '
'. "\n"; + } + public function tblFoot($listFooter, $columns) { + return '' . "\n" . ''.$listFooter.''. "\n".''. "\n"; + } + + public function startTblHeader() { + return ''."\n".''."\n"; + } + + public function endTblHeader() { + return ''."\n".''."\n"; + } + + public function thOrdering($txtHo, $listDirn, $listOrder ) { + return ''. "\n" + . JHtml::_('grid.sort', '', 'a.ordering', $listDirn, $listOrder, null, 'asc', $txtHo). "\n" + . ''; + } + + public function thCheck($txtCh) { + return ''. "\n" + .''. "\n" + .''. "\n"; + } + + public function tdOrder($canChange, $saveOrder, $orderkey){ + + $o = ''. "\n"; + if ($canChange) { + $disableClassName = ''; + $disabledLabel = ''; + if (!$saveOrder) { + $disabledLabel = JText::_('JORDERINGDISABLED'); + $disableClassName = 'inactive tip-top'; + } + $o .= ''."\n"; + } else { + $o .= ''."\n"; + } + $orderkeyPlus = $orderkey + 1; + $o .= ''. "\n" + .''. "\n"; + return $o; + } + + public function tdRating($ratingAvg) { + $o = ''; + $voteAvg = round(((float)$ratingAvg / 0.5)) * 0.5; + $voteAvgWidth = 16 * $voteAvg; + $o .= '
    ' + .'
  • ' + .'
  • '; + + for ($ir = 2;$ir < 6;$ir++) { + $o .= '
  • '; + } + $o .= '
'; + $o .=''. "\n"; + return $o; + } + + public function tdLanguage($lang, $langTitle, $langTitleE ) { + + $o = ''; + if ($lang == '*') { + $o .= JText::_('JALL'); + } else { + if ($langTitle) { + $o .= $langTitleE; + } else { + $o .= JText::_('JUNDEFINED');; + } + } + $o .= ''. "\n"; + return $o; + } + + /*public function formInputs($listOrder, $originalOrders) { + + return ''. "\n" + .''. "\n" + .''. "\n" + .''. "\n" + . JHtml::_('form.token'). "\n" + .''. "\n"; + }*/ + + public function formInputs($listOrder, $listDirn, $originalOrders) { + + return ''. "\n" + .''. "\n" + .''. "\n" + .''. "\n" + . JHtml::_('form.token'). "\n" + .''. "\n"; + } + + public function td($value, $class = '') { + if ($class != ''){ + return ''. $value.''. "\n"; + } else { + return ''. $value.''. "\n"; + } + } + + /* TODO: + * CHANGE PATHS + * SET NEW PARAM IN PG: '/media/com_phocagallery/images/administrator/' + */ + public function tdImage($item, $button, $txtE, $class = '', $avatarAbs = '', $avatarRel = '') { + $o = ''. "\n"; + $o .= '
'. "\n" + .'
'. "\n" + .'
'. "\n" + .'
'. "\n" + .'
'. "\n" + .'
'. "\n"; + + if ($avatarAbs != '' && $avatarRel != '') { + // AVATAR + if (JFile::exists($avatarAbs.$item->avatar)){ + $o .= '' + .''.JText::_($txtE).'' + .''; + } else { + $o .= JHTML::_( 'image', '/media/com_phocagallery/images/administrator/phoca_thumb_s_no_image.gif', ''); + } + } else { + // PICASA + if (isset($item->extid) && $item->extid !='') { + + $resW = explode(',', $item->extw); + $resH = explode(',', $item->exth); + $correctImageRes = PhocaGalleryImage::correctSizeWithRate($resW[2], $resH[2], 50, 50); + $imgLink = $item->extl; + + $o .= '' + . ''.JText::_($txtE).'' + .''. "\n"; + } else if (isset ($item->fileoriginalexist) && $item->fileoriginalexist == 1) { + + $imageRes = PhocaGalleryImage::getRealImageSize($item->filename, 'small'); + $correctImageRes = PhocaGalleryImage::correctSizeWithRate($imageRes['w'], $imageRes['h'], 50, 50); + $imgLink = PhocaGalleryFileThumbnail::getThumbnailName($item->filename, 'large'); + + $o .= '' + . ''.JText::_($txtE).'' + .''. "\n"; + } else { + $o .= JHTML::_( 'image', 'media/com_phocagallery/images/administrator/phoca_thumb_s_no_image.gif', ''); + } + } + $o .= '
'. "\n" + .'
'. "\n" + .'
'. "\n" + .'
'. "\n" + .'
'. "\n" + .'
'. "\n"; + $o .= ''. "\n"; + return $o; + } + + + public function tdPublishDownUp ($publishUp, $publishDown, $langPref) { + + $o = ''; + $db = JFactory::getDBO(); + //$app = JFactory::getApplication(); + $nullDate = $db->getNullDate(); + $now = JFactory::getDate(); + $config = JFactory::getConfig(); + $publish_up = JFactory::getDate($publishUp); + $publish_down = JFactory::getDate($publishDown); + //$tz = new DateTimeZone($config->get('offset')); + //$publish_up->setTimezone($tz); + //$publish_down->setTimezone($tz); + + + if ( $now->toUnix() <= $publish_up->toUnix() ) { + $text = JText::_( $langPref . '_PENDING' ); + } else if ( ( $now->toUnix() <= $publish_down->toUnix() || $publishDown == $nullDate ) ) { + $text = JText::_( $langPref . '_ACTIVE' ); + } else if ( $now->toUnix() > $publish_down->toUnix() ) { + $text = JText::_( $langPref . '_EXPIRED' ); + } + + $times = ''; + if (isset($publishUp)) { + if ($publishUp == $nullDate) { + $times .= JText::_( $langPref . '_START') . ': '.JText::_( $langPref . '_ALWAYS' ); + } else { + $times .= JText::_( $langPref . '_START') .": ". JHtml::_('date', $publish_up, 'D, d M Y H:i:s'); + } + } + if (isset($publishDown)) { + + if ($publishDown == $nullDate) { + $times .= "
". JText::_( $langPref . '_FINISH'). ': '. JText::_( $langPref . '_NO_EXPIRY' ); + } else { + $times .= "
". JText::_( $langPref . '_FINISH') .": ". JHtml::_('date', $publish_down, 'D, d M Y H:i:s'); + } + } + + if ( $times ) { + $o .= '' + .'' + .''. $text.'' + .''. "\n"; + } else { + $o .= ''. "\n"; + } + return $o; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/render/renderfront.php b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/render/renderfront.php new file mode 100644 index 00000000..8b2cc83a --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/render/renderfront.php @@ -0,0 +1,317 @@ +input->get('Itemid', 0, 'int'); + $db = JFactory::getDBO(); + $query = 'SELECT a.filename as filename, a.type as type, a.menulink as menulink' + .' FROM #__phocadownload_styles AS a' + .' WHERE a.published = 1' + .' ORDER BY a.type, a.ordering ASC'; + $db->setQuery($query); + $filenames = $db->loadObjectList(); + if (!empty($filenames)) { + foreach ($filenames as $fk => $fv) { + + $path = PhocaDownloadFile::getCSSPath($fv->type, 1); + + if ($fv->menulink != '' && (int)$fv->menulink > 1) { + + $menuLinks = explode(',', $fv->menulink); + $isIncluded = in_array((int)$itemid, $menuLinks); + if ($isIncluded) { + JHtml::stylesheet($path . $fv->filename ); + } + } else { + JHtml::stylesheet($path . $fv->filename ); + } + } + } + } + + public static function renderPhocaDownload() { + return '
Po' + .'wered by Phoca Down'.'load
'; + } + + public static function displayMirrorLinks($view = 1, $link, $title, $target) { + + $paramsC = JComponentHelper::getParams( 'com_phocadownload' ); + $param['display_mirror_links'] = $paramsC->get( 'display_mirror_links', 0 ); + $o = ''; + + $displayM = 0; + if ($view == 1) { + //Category View + if ($param['display_mirror_links'] == 1 || $param['display_mirror_links'] == 3 + || $param['display_mirror_links'] == 4 || $param['display_mirror_links'] == 6) { + $displayM = 1; + } + + } else { + //File View + if ($param['display_mirror_links'] == 2 || $param['display_mirror_links'] == 3 + || $param['display_mirror_links'] == 5 || $param['display_mirror_links'] == 6) { + $displayM = 1; + } + } + + + + if ($displayM == 1 && $link != '' && PhocaDownloadUtils::isURLAddress($link) && $title != '') { + + $targetO = ''; + if ($target != '') { + $targetO = 'target="'.$target.'"'; + } + $o .= ''.strip_tags($title).''; + + } + + return $o; + } + + public static function displayReportLink($view = 1, $title = '') { + + $paramsC = JComponentHelper::getParams( 'com_phocadownload' ); + $param['display_report_link'] = $paramsC->get( 'display_report_link', 0 ); + $param['report_link_guestbook_id'] = $paramsC->get( 'report_link_guestbook_id', 0 ); + $o = ''; + + $displayL = 0; + if ($view == 1) { + //Category View + if ($param['display_report_link'] == 1 || $param['display_report_link'] == 3) { + $displayL = 1; + } + + } else { + //File View + if ($param['display_report_link'] == 2 || $param['display_report_link'] == 3) { + $displayL = 1; + } + } + + if ($displayL == 1 && (int)$param['report_link_guestbook_id'] > 0) { + + $onclick = "window.open(this.href,'win2','width=600,height=500,scrollbars=yes,menubar=no,resizable=yes'); return false;"; + //$href = JRoute::_('index.php?option=com_phocaguestbook&view=guestbook&id='.(int)$param['report_link_guestbook_id'].'&reporttitle='.strip_tags($title).'&tmpl=component&Itemid='. JRequest::getVar('Itemid', 0, '', 'int') ); + + $href = PhocaDownloadRoute::getGuestbookRoute((int)$param['report_link_guestbook_id'],urlencode(strip_tags($title) )); + //$href = JRoute::_('index.php?option=com_phocaguestbook&view=guestbook&id='.(int)$param['report_link_guestbook_id'].'&reporttitle='.strip_tags($title).'&tmpl=component'); + + + $o .= ''.JText::_('COM_PHOCADOWNLOAD_REPORT').''; + + } + + return $o; + } + + public static function displayNewIcon ($date, $time = 0) { + + if ($time == 0) { + return ''; + } + + $dateAdded = strtotime($date, time()); + $dateToday = time(); + $dateExists = $dateToday - $dateAdded; + $dateNew = $time * 24 * 60 * 60; + + + if ($dateExists < $dateNew) { + //return ' '. JHTML::_('image', 'media/com_phocadownload/images/icon-new.png', JText::_('COM_PHOCADOWNLOAD_NEW')); + return ' '.JText::_('COM_PHOCADOWNLOAD_NEW').''; + } else { + return ''; + } + + } + + public static function displayHotIcon ($hits, $requiredHits = 0) { + + if ($requiredHits == 0) { + return ''; + } + + if ($requiredHits <= $hits) { + //return ' '. JHTML::_('image', 'media/com_phocadownload/images/icon-hot.png', JText::_('COM_PHOCADOWNLOAD_HOT')); + return ' '.JText::_('COM_PHOCADOWNLOAD_HOT').''; + } else { + return ''; + } + } + + public static function renderOnUploadJS() { + + $tag = ""; + + return $tag; + } + + public static function renderDescriptionUploadJS($chars) { + + $tag = ""; + + return $tag; + } + + public static function userTabOrdering() { + $js = "\t". '' . "\n"; + + return $js; + } + + public static function renderOverlibCSS($ol_fg_color, $ol_bg_color, $ol_tf_color, $ol_cf_color, $opacity = 0.8) { + + $opacityPer = (float)$opacity * 100; + + $css = "\n"; + + return $css; + } + + public static function renderBootstrapModalJs($item = '.btn') { + $document = JFactory::getDocument(); + JHtml::_('jquery.framework', false); + $s = ' + jQuery(document).ready(function(){ + + jQuery("#phModalPlay").on("hidden.bs.modal", function (e) { + jQuery("#phModalPlay iframe").attr("src", jQuery("#phModalPlay iframe").attr("src")); + jQuery("audio").each(function(){this.pause();this.currentTime = 0;}); + jQuery("video").each(function(){this.pause();this.currentTime = 0;}); + }); + + + jQuery("'.$item.'").on("click", function () { + var $target = jQuery(this).data("target"); + var $href = jQuery(this).data("href"); + var $body = $target + "Body"; + var $dialog = $target + "Dialog"; + var $height = jQuery(this).data("height"); + var $width = jQuery(this).data("width"); + var $heightD= jQuery(this).data("height-dialog"); + var $widthD = jQuery(this).data("width-dialog"); + var $type = jQuery(this).data("type"); + jQuery($body).css("height", $height); + jQuery($target).css("width", $width); + jQuery($body).css("overflow-y", "auto"); + jQuery($dialog).css("height", $heightD); + jQuery($dialog).css("width", $widthD); + + + if ($type == "image") { + jQuery($body).html(\'\'); + } else if ($type == "document") { + $widthD = $widthD -50; + $heightD = $heightD -40; + jQuery($body).html(\'\'); + } else { + jQuery($body).load($href, function (response, status, xhr) { + if (status == "success") { + /*jQuery($target).modal({ show: true });*/ + } + }); + } + }); + });'; + $document->addScriptDeclaration($s); + } + + /* Launch + .. + */ + + public static function bootstrapModalHtml($item = 'phModal', $title) { + + $close = JText::_('COM_PHOCADOWNLAD_CLOSE'); + $o = ''; + + return $o; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/stat/index.html b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/stat/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/stat/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/stat/stat.php b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/stat/stat.php new file mode 100644 index 00000000..8d50fcd5 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/stat/stat.php @@ -0,0 +1,84 @@ +quoteName('#__phocadownload_user_stat') + .' WHERE '. $db->quoteName('userid') + .' = ' + .$db->Quote((int)$user->id) + .' AND '. $db->quoteName('fileid') + .' = ' + .$db->Quote((int)$downloadId); + + $db->setQuery($query); + $results = $db->loadObjectList(); + + $date = gmdate('Y-m-d H:i:s'); + if ($results) { + // Update count + $query = 'UPDATE '.$db->quoteName('#__phocadownload_user_stat') + .' SET count = (count + 1),' + .' date = '.$db->Quote($date) + .' WHERE userid = '.$db->Quote((int)$user->id) + .' AND fileid = '.$db->Quote((int)$downloadId); + + $db->setQuery($query); + $db->query(); + } else { + + $query = 'INSERT INTO '.$db->quoteName('#__phocadownload_user_stat') + .' ('.$db->quoteName('count').',' + .' '.$db->quoteName('userid').',' + .' '.$db->quoteName('fileid').',' + .' '.$db->quoteName('date').')' + .' VALUES ('.$db->Quote(1).',' + .' '.$db->Quote((int)$user->id).',' + .' '.$db->Quote((int)$downloadId).',' + .' '.$db->Quote($date).')'; + $db->setQuery($query); + $db->query(); + } + return true; + } + + public static function getCountFilePerUser($downloadId) { + $db = JFactory::getDBO(); + $user = JFactory::getUser(); + + $query = ' SELECT count FROM '.$db->quoteName('#__phocadownload_user_stat') + .' WHERE '. $db->quoteName('userid') + .' = ' + .$db->Quote((int)$user->id) + .' AND '. $db->quoteName('fileid') + .' = ' + .$db->Quote((int)$downloadId) + .' LIMIT 0, 1'; + + $db->setQuery($query); + $count = $db->loadObject(); + if (isset($count->count)) { + return (int)$count->count; + } else { + return 0; + } + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/tag/index.html b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/tag/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/tag/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/tag/tag.php b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/tag/tag.php new file mode 100644 index 00000000..80372f63 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/tag/tag.php @@ -0,0 +1,103 @@ +setQuery($query); + + if (!$db->query()) { + echo PhocaDownloadException::renderErrorInfo('Database Error - Getting Selected Tags'); + return false; + } + if ($select == 1) { + $tags = $db->loadColumn(); + } else { + $tags = $db->loadObjectList(); + } + + return $tags; + } + + public static function storeTags($tagsArray, $fileId) { + + + if ((int)$fileId > 0) { + $db = JFactory::getDBO(); + $query = ' DELETE ' + .' FROM #__phocadownload_tags_ref' + . ' WHERE fileid = '. (int)$fileId; + $db->setQuery($query); + if (!$db->query()) { + echo PhocaDownloadException::renderErrorInfo('Database Error - Deleting FileId Tags'); + return false; + } + + if (!empty($tagsArray)) { + + $values = array(); + $valuesString = ''; + + foreach($tagsArray as $k => $v) { + $values[] = ' ('.(int)$fileId.', '.(int)$v.')'; + } + + if (!empty($values)) { + $valuesString = implode($values, ','); + + $query = ' INSERT INTO #__phocadownload_tags_ref (fileid, tagid)' + .' VALUES '.(string)$valuesString; + + $db->setQuery($query); + if (!$db->query()) { + echo PhocaDownloadException::renderErrorInfo('Database Error - Insert FileId Tags'); + return false; + } + + } + } + } + + } + + public static function getAllTagsSelectBox($name, $id, $activeArray, $javascript = NULL, $order = 'id' ) { + + $db = JFactory::getDBO(); + $query = 'SELECT a.id AS value, a.title AS text' + .' FROM #__phocadownload_tags AS a' + . ' ORDER BY '. $order; + //. ' ORDER BY a.id'; + $db->setQuery($query); + + if (!$db->query()) { + echo PhocaDownloadException::renderErrorInfo('Database Error - Getting All Tags'); + return false; + } + + $tags = $db->loadObjectList(); + + $tagsO = JHTML::_('select.genericlist', $tags, $name, 'class="inputbox" size="4" multiple="multiple"'. $javascript, 'value', 'text', $activeArray, $id); + + return $tagsO; + } +} \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/user/index.html b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/user/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/user/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/user/user.php b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/user/user.php new file mode 100644 index 00000000..8d4b2dc3 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/user/user.php @@ -0,0 +1,134 @@ +get( 'user_ucp_lang', 1 ); + + $o = array(); + + switch ($userLang){ + case 2: + $registry = new JRegistry; + $registry->loadString($user->params); + $o['lang'] = $registry->get('language','*'); + $o['langinput'] = ''; + break; + + case 3: + $o['lang'] = JFactory::getLanguage()->getTag(); + $o['langinput'] = ''; + break; + + default: + case 1: + $o['lang'] = '*'; + $o['langinput'] = ''; + break; + } + return $o; + } + + public static function getUserFileInfo($file, $userId) { + + $db = JFactory::getDBO(); + $allFile['size'] = 0; + $allFile['count'] = 0; + $query = 'SELECT SUM(a.filesize) AS sumfiles, COUNT(a.id) AS countfiles' + .' FROM #__phocadownload AS a' + .' WHERE a.owner_id = '.(int)$userId; + $db->setQuery($query, 0, 1); + $fileData = $db->loadObject(); + + if(isset($fileData->sumfiles) && (int)$fileData->sumfiles > 0) { + $allFile['size'] = (int)$allFile['size'] + (int)$fileData->sumfiles; + } + + if (isset($file['size'])) { + $allFile['size'] = (int)$allFile['size'] + (int)$file['size']; + $allFile['count'] = (int)$fileData->countfiles + 1; + } + + return $allFile; + } + + /** + * Method to display multiple select box + * @param string $name Name (id, name parameters) + * @param array $active Array of items which will be selected + * @param int $nouser Select no user + * @param string $javascript Add javascript to the select box + * @param string $order Ordering of items + * @param int $reg Only registered users + * @return array of id + */ + + public static function usersList( $name, $id, $active, $nouser = 0, $javascript = NULL, $order = 'name', $reg = 1 ) { + + $activeArray = $active; + if ($active != '') { + $activeArray = explode(',',$active); + } + + $db = JFactory::getDBO(); + $and = ''; + if ($reg) { + // does not include registered users in the list + $and = ' AND m.group_id != 2'; + } + + $query = 'SELECT u.id AS value, u.name AS text' + . ' FROM #__users AS u' + . ' JOIN #__user_usergroup_map AS m ON m.user_id = u.id' + . ' WHERE u.block = 0' + . $and + . ' GROUP BY u.id' + . ' ORDER BY '. $order; + + + + $db->setQuery( $query ); + if ( $nouser ) { + + // Access rights (Default open for all) + // Upload and Delete rights (Default closed for all) + switch ($name) { + case 'jform[accessuserid][]': + $idInput1 = -1; + $idText1 = JText::_( 'COM_PHOCADOWNLOAD_ALL_REGISTERED_USERS' ); + $idInput2 = -2; + $idText2 = JText::_( 'COM_PHOCADOWNLOAD_NOBODY' ); + break; + + Default: + $idInput1 = -2; + $idText1 = JText::_( 'COM_PHOCADOWNLOAD_NOBODY' ); + $idInput2 = -1; + $idText2 = JText::_( 'COM_PHOCADOWNLOAD_ALL_REGISTERED_USERS' ); + break; + } + + $users[] = JHTML::_('select.option', $idInput1, '- '. $idText1 .' -' ); + $users[] = JHTML::_('select.option', $idInput2, '- '. $idText2 .' -' ); + + $users = array_merge( $users, $db->loadObjectList() ); + } else { + $users = $db->loadObjectList(); + } + + $users = JHTML::_('select.genericlist', $users, $name, 'class="inputbox" size="4" multiple="multiple"'. $javascript, 'value', 'text', $activeArray, $id ); + + return $users; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/utils/exception.php b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/utils/exception.php new file mode 100644 index 00000000..de132f3e --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/utils/exception.php @@ -0,0 +1,25 @@ +'.JText::_($msg).'
'; + } else { + return '
'.$msg.'
'; + } + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/utils/external.php b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/utils/external.php new file mode 100644 index 00000000..946ffca6 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/utils/external.php @@ -0,0 +1,24 @@ +checkAccess('phoca', 'category', $fileName->catid); + } else if (file_exists(JPATH_ADMINISTRATOR . DS . "components" . DS . "com_osemsc" . DS . "warehouse" . DS . "api.php")) { + require_once (JPATH_ADMINISTRATOR . DS . "components" . DS . "com_osemsc" . DS . "warehouse" . DS . "api.php"); + $checkmsc = new OSEMSCAPI(); + $checkmsc->ACLCheck("phoca", "cat", $fileName->catid, true); + } + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/utils/index.html b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/utils/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/utils/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/utils/settings.php b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/utils/settings.php new file mode 100644 index 00000000..d81ef0d0 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/utils/settings.php @@ -0,0 +1,126 @@ +setQuery($query, 0, 1); + $layout = $db->loadObject(); + + if (!$db->query()) { + $this->setError($db->getErrorMsg()); + return false; + } + + if (isset($layout->$type)) { + return $layout->$type; + } + + return ''; + + } + + public static function getLayoutParams($type) { + + $params = array(); + switch($type) { + + case 'categories': + $params['style'] = array('pd-title','pd-desc', 'pd-subcategory', 'pd-no-subcat');//'pd-', + $params['search'] = array('{pdtitle}','{pddescription}', '{pdsubcategories}', '{pdclear}'); + break; + + case 'category': + $params['style'] = array('pd-title','pd-image', 'pd-file', 'pd-fdesc', 'pd-mirrors', 'pd-mirror', 'pd-report', 'pd-rating', 'pd-tags', 'pd-buttons', 'pd-downloads', 'pd-video'); + $params['search'] = array('{pdtitle}','{pdimage}', '{pdfile}', '{pdfilesize}', '{pdversion}', '{pdlicense}', '{pdauthor}', '{pdauthoremail}', '{pdfiledate}', '{pddownloads}', '{pddescription}', '{pdfeatures}', '{pdchangelog}', '{pdnotes}', '{pdmirrorlink1}', '{pdmirrorlink2}', '{pdreportlink}', '{pdrating}', '{pdtags}', '{pdfiledesctop}', '{pdfiledescbottom}', '{pdbuttondownload}', '{pdbuttondetails}', '{pdbuttonpreview}', '{pdbuttonplay}', '{pdvideo}'); + break; + + + case 'file': + $params['style'] = array('pd-title','pd-image', 'pd-file', 'pd-fdesc', 'pd-mirrors', 'pd-mirror', 'pd-report', 'pd-rating', 'pd-tags', 'pd-downloads', 'pd-video'); + $params['search'] = array('{pdtitle}','{pdimage}', '{pdfile}', '{pdfilesize}', '{pdversion}', '{pdlicense}', '{pdauthor}', '{pdauthoremail}', '{pdfiledate}', '{pddownloads}', '{pddescription}', '{pdfeatures}', '{pdchangelog}', '{pdnotes}', '{pdmirrorlink1}', '{pdmirrorlink2}', '{pdreportlink}', '{pdrating}', '{pdtags}', '{pdvideo}'); + break; + } + + return $params; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/utils/utils.php b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/utils/utils.php new file mode 100644 index 00000000..5f7f72ac --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/libraries/phocadownload/utils/utils.php @@ -0,0 +1,128 @@ +Powe'.'red b'.'y Pho' + .'ca Downl'.'oad
'; + } + + public static function getExtensionVersion($c = 'phocadownload') { + $folder = JPATH_ADMINISTRATOR .DS. 'components'.DS.'com_'.$c; + if (JFolder::exists($folder)) { + $xmlFilesInDir = JFolder::files($folder, '.xml$'); + } else { + $folder = JPATH_SITE .DS. 'components'.DS.'com_'.$c; + if (JFolder::exists($folder)) { + $xmlFilesInDir = JFolder::files($folder, '.xml$'); + } else { + $xmlFilesInDir = null; + } + } + + $xml_items = ''; + if (count($xmlFilesInDir)) + { + foreach ($xmlFilesInDir as $xmlfile) + { + if ($data = JApplicationHelper::parseXMLInstallFile($folder.DS.$xmlfile)) { + foreach($data as $key => $value) { + $xml_items[$key] = $value; + } + } + } + } + + if (isset($xml_items['version']) && $xml_items['version'] != '' ) { + return $xml_items['version']; + } else { + return ''; + } + } + + public static function setVars( $task = '') { + + $a = array(); + $app = JFactory::getApplication(); + $a['o'] = htmlspecialchars(strip_tags($app->input->get('option'))); + $a['c'] = str_replace('com_', '', $a['o']); + $a['n'] = 'Phoca' . ucfirst(str_replace('com_phoca', '', $a['o'])); + $a['l'] = strtoupper($a['o']); + $a['i'] = 'media/'.$a['o'].'/images/administrator/'; + $a['s'] = 'media/'.$a['o'].'/css/administrator/'.$a['c'].'.css'; + $a['task'] = $a['c'] . htmlspecialchars(strip_tags($task)); + $a['tasks'] = $a['task']. 's'; + return $a; + } + + public static function getAliasName($alias) { + $alias = JApplication::stringURLSafe($alias); + if (trim(str_replace('-', '', $alias)) == '') { + $alias = JFactory::getDate()->format("Y-m-d-H-i-s"); + } + return $alias; + } + + public static function strTrimAll($input) { + $output = ''; + $input = trim($input); + for($i=0;$i 0); + } else if (empty($value)) { + return array(0 => 0); + } else if (is_array($value)) { + return $value; + } else { + return array(0 => $value); + } + + } + public static function isURLAddress($url) { + return preg_match('|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $url); + } + + public static function setQuestionmarkOrAmp($url) { + $isThereQMR = false; + $isThereQMR = preg_match("/\?/i", $url); + if ($isThereQMR) { + return '&'; + } else { + return '?'; + } + } + + public static function getToken($title = '') { + $salt = md5($title . 'string '. date('s'). mt_rand(0,9999) . str_replace(mt_rand(0,9), mt_rand(0,9999), date('r')). 'end string'); + $token = hash('sha256', $salt . time()); + return $token; + } + + public static function cleanFolderUrlName($string) { + $string = str_replace('@', '-', $string); + $string = str_replace('?', '-', $string); + $string = str_replace('&', '-', $string); + $string = str_replace('%', '-', $string); + return $string; + + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/fields/index.html b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocaaccesslevel.php b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocaaccesslevel.php new file mode 100644 index 00000000..0aff87d2 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocaaccesslevel.php @@ -0,0 +1,103 @@ +element['class'] ? ' class="'.(string) $this->element['class'].'"' : ''; + $attr .= ((string) $this->element['disabled'] == 'true') ? ' disabled="disabled"' : ''; + $attr .= $this->element['size'] ? ' size="'.(int) $this->element['size'].'"' : ''; + $attr .= $this->multiple ? ' multiple="multiple"' : ''; + + // Initialize JavaScript field attributes. + $attr .= $this->element['onchange'] ? ' onchange="'.(string) $this->element['onchange'].'"' : ''; + + // Get the field options. + $options = $this->getOptions(); + + + return $this->_level( $this->name, $this->value, $attr, $options, $this->id); + } + + + public static function _level($name, $selected, $attribs = '', $params = true, $id = false) { + + $db = JFactory::getDbo(); + $query = $db->getQuery(true); + + $query->select('a.id AS value, a.title AS text'); + $query->from('#__viewlevels AS a'); + //PHOCAEDIT + $query->where('a.id <> 1'); + //ENDPHOCAEDIT + $query->group('a.id'); + $query->order('a.ordering ASC'); + $query->order('`title` ASC'); + + // Get the options. + $db->setQuery($query); + $options = $db->loadObjectList(); + + // Check for a database error. + if ($db->getErrorNum()) { + JError::raiseWarning(500, $db->getErrorMsg()); + return null; + } + + // If params is an array, push these options to the array + if (is_array($params)) { + $options = array_merge($params,$options); + } + // If all levels is allowed, push it into the array. + elseif ($params) { + array_unshift($options, JHtml::_('select.option', '', JText::_('JOPTION_ACCESS_SHOW_ALL_LEVELS'))); + } + + return JHtml::_('select.genericlist', $options, $name, + array( + 'list.attr' => $attribs, + 'list.select' => $selected, + 'id' => $id + ) + ); + } +} diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocacolortext.php b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocacolortext.php new file mode 100644 index 00000000..d46dd38f --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocacolortext.php @@ -0,0 +1,90 @@ +_getPhocaParams( $this->element['name'] ); + + JHTML::stylesheet( 'administrator/components/com_phocadownload/assets/jcp/picker.css' ); + $document->addScript(JURI::base(true).'/components/com_phocadownload/assets/jcp/picker.js'); + + // Initialize some field attributes. + $size = $this->element['size'] ? ' size="'.(int) $this->element['size'].'"' : ''; + $class = $this->element['class'] ? ' class="'.(string) $this->element['class'].'"' : ''; + $maxLength = $this->element['maxlength'] ? ' maxlength="'.(int) $this->element['maxlength'].'"' : ''; + $readonly = ((string) $this->element['readonly'] == 'true') ? ' readonly="readonly"' : ''; + $disabled = ((string) $this->element['disabled'] == 'true') ? ' disabled="disabled"' : ''; + // Initialize JavaScript field attributes. + $onchange = $this->element['onchange'] ? ' onchange="'.(string) $this->element['onchange'].'"' : ''; + + $value = htmlspecialchars($this->value, ENT_COMPAT, 'UTF-8'); + + // TODO 1.6 + // MENU - Set Default value to "" because of saving "" value into the menu link ( use global = "") + if ($option == "com_menus") { + $DefaultValue = (string)$this->element['default']; + if ($value == $DefaultValue) { + $value = ''; + } + } + + $html =''; + + // Color Picker + $nameCP = str_replace('[', '_', $this->name); + $nameCP = str_replace(']', '', $nameCP); + $html .= '' . JText::_('COM_PHOCADOWNLOAD_PICK_COLOR') . ''; + + // MENU - Display the global value + if ($option == "com_menus") { + $html .= '[ ' . $globalValue . ' ]'; + } + return $html; + + } + + protected function getLabel() { + echo '
'; + return parent::getLabel(); + echo '
'; + } + + protected function _setPhocaParams(){ + + $component = 'com_phocadownload'; + $table = JTable::getInstance('extension'); + $idCom = $table->find( array('element' => $component )); + $table->load($idCom); + $phocaParams = new JParameter( $table->params ); + $this->phocaParams = $phocaParams; + } + + protected function _getPhocaParams( $name ){ + + // Don't call sql query by every param item (it will be loaded only one time) + if (!$this->phocaParams) { + $params = $this->_setPhocaParams(); + } + $globalValue = $this->phocaParams->get( $name, '' ); + return $globalValue; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocadownloadcategory.php b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocadownloadcategory.php new file mode 100644 index 00000000..2dd0026a --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocadownloadcategory.php @@ -0,0 +1,67 @@ +setQuery( $query ); + $data = $db->loadObjectList(); + + // TODO - check for other views than category edit + $view = JRequest::getVar( 'view' ); + $catId = -1; + if ($view == 'phocadownloadcat') { + $id = $this->form->getValue('id'); // id of current category + if ((int)$id > 0) { + $catId = $id; + } + } + /*if ($view == 'phocadownloadfile') { + $id = $this->form->getValue('catid'); // id of current category + if ((int)$id > 0) { + $catId = $id; + } + }*/ + + + + //$required = ((string) $this->element['required'] == 'true') ? TRUE : FALSE; + $attr = ''; + $attr .= $this->required ? ' required aria-required="true"' : ''; + $attr .= ' class="inputbox"'; + + $tree = array(); + $text = ''; + $tree = PhocaDownloadCategory::CategoryTreeOption($data, $tree, 0, $text, $catId); + + //if ($required == TRUE) { + + //} else { + + array_unshift($tree, JHTML::_('select.option', '', '- '.JText::_('COM_PHOCADOWNLOAD_SELECT_CATEGORY').' -', 'value', 'text')); + //} + return JHTML::_('select.genericlist', $tree, $this->name, trim($attr), 'value', 'text', $this->value, $this->id ); + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocadownloadeditor.php b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocadownloadeditor.php new file mode 100644 index 00000000..1cc31243 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocadownloadeditor.php @@ -0,0 +1,128 @@ +element['rows']; + $cols = (int) $this->element['cols']; + $height = ((string) $this->element['height']) ? (string) $this->element['height'] : '250'; + $width = ((string) $this->element['width']) ? (string) $this->element['width'] : '100%'; + + // Build the buttons array. + $buttons = (string) $this->element['buttons']; + if ($buttons == 'true' || $buttons == 'yes' || $buttons == '1') { + $buttons = true; + } else if ($buttons == 'false' || $buttons == 'no' || $buttons == '0') { + $buttons = false; + } else { + $buttons = explode(',', $buttons); + } + + $hide = ((string) $this->element['hide']) ? explode(',',(string) $this->element['hide']) : array(); + + $globalValue = $this->_getPhocaParameter( 'display_editor' ); + if ($globalValue == '') { + $globalValue = 1; + } + $widthE = $width + 200; + if ($globalValue == 1) { + // Get an editor object. + $editor = $this->getEditor(); + + $editorOutput = '
'. $editor->display($this->name, htmlspecialchars($this->value, ENT_COMPAT, 'UTF-8'), $width, $height, $cols, $rows, $buttons ? (is_array($buttons) ? array_merge($buttons,$hide) : $hide) : false, $this->id).'
'; + + return '
' .$editorOutput; + } + else { + $style = ''; + if ($width != '' && $height != '') { + $style = 'style="width:'.$width.'; height:'.$height.'"'; + } + return ''; + } + + } + + protected function & getEditor() + { + // Only create the editor if it is not already created. + if (empty($this->editor)) { + + // Initialize variables. + $editor = null; + + // Get the editor type attribute. Can be in the form of: editor="desired|alternative". + $type = trim((string) $this->element['editor']); + if ($type) { + // Get the list of editor types. + $types = explode('|', $type); + + // Get the database object. + $db = JFactory::getDBO(); + + // Iterate over teh types looking for an existing editor. + foreach ($types as $element) { + // Build the query. + $query = $db->getQuery(true); + $query->select('element'); + $query->from('#__extensions'); + $query->where('element = '.$db->quote($element)); + $query->where('folder = '.$db->quote('editors')); + $query->where('enabled = 1'); + + // Check of the editor exists. + $db->setQuery($query, 0, 1); + $editor = $db->loadResult(); + + // If an editor was found stop looking. + if ($editor) { + break; + } + } + } + + // Create the JEditor intance based on the given editor. + $this->editor = JFactory::getEditor($editor ? $editor : null); + } + + return $this->editor; + } + + public function save() + { + return $this->getEditor()->save($this->id); + } + + protected function _setPhocaParams(){ + $component = 'com_phocadownload'; + $paramsC = JComponentHelper::getParams($component) ; + $this->phocaParams = $paramsC; + } + + protected function _getPhocaParameter( $name ){ + + // Don't call sql query by every param item (it will be loaded only one time) + if (!$this->phocaParams) { + $params = $this->_setPhocaParams(); + } + $globalValue = $this->phocaParams->get( $name, '' ); + return $globalValue; + } +} diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocadownloadfile.php b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocadownloadfile.php new file mode 100644 index 00000000..2d0e593a --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocadownloadfile.php @@ -0,0 +1,47 @@ +setQuery( $query ); + + $messages = $db->loadObjectList(); + $options = array(); + if ($messages) + { + foreach($messages as $message) + { + $options[] = JHtml::_('select.option', $message->id, $message->title); + } + } + + $attr = ''; + $attr .= $this->required ? ' required aria-required="true"' : ''; + $attr .= ' class="inputbox"'; + + array_unshift($options, JHTML::_('select.option', '', '- '.JText::_('COM_PHOCADOWNLOAD_SELECT_FILE').' -', 'value', 'text')); + return JHTML::_('select.genericlist', $options, $this->name, trim($attr), 'value', 'text', $this->value, $this->id ); + + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocadownloadlicense.php b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocadownloadlicense.php new file mode 100644 index 00000000..37c55a2e --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocadownloadlicense.php @@ -0,0 +1,37 @@ +setQuery( $query ); + $licenses = $db->loadObjectList(); + + $id = $this->form->getValue('id'); // id of current license + $required = ((string) $this->element['required'] == 'true') ? TRUE : FALSE; + + array_unshift($licenses, JHTML::_('select.option', '', '- '.JText::_('COM_PHOCADOWNLOAD_SELECT_LICENSE').' -', 'value', 'text')); + + return JHTML::_('select.genericlist', $licenses, $this->name, 'class="inputbox"', 'value', 'text', $this->value, $this->id ); + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocadownloadordering.php b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocadownloadordering.php new file mode 100644 index 00000000..91e01d26 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocadownloadordering.php @@ -0,0 +1,88 @@ +form->getValue('id'); + + if ($this->element['table']) { + switch (strtolower($this->element['table'])) { + + case "category": + $whereLabel = 'parent_id'; + $whereValue = (int) $this->form->getValue('parent_id'); + $table = '#__phocadownload_categories'; + break; + + case "tag": + $whereLabel = ''; + $whereValue = ''; + $table = '#__phocadownload_tags'; + break; + + case "file": + default: + $whereLabel = 'catid'; + $whereValue = (int) $this->form->getValue('catid'); + $table = '#__phocadownload'; + break; + + } + } else { + $whereLabel = 'catid'; + $whereValue = (int) $this->form->getValue('catid'); + $table = '#__phocadownload'; + } + + // Initialize some field attributes. + $attr .= $this->element['class'] ? ' class="'.(string) $this->element['class'].'"' : ''; + $attr .= ((string) $this->element['disabled'] == 'true') ? ' disabled="disabled"' : ''; + $attr .= $this->element['size'] ? ' size="'.(int) $this->element['size'].'"' : ''; + + // Initialize JavaScript field attributes. + $attr .= $this->element['onchange'] ? ' onchange="'.(string) $this->element['onchange'].'"' : ''; + + + + // Build the query for the ordering list. + $query = 'SELECT ordering AS value, title AS text' . + ' FROM ' . $table; + if ($whereLabel != '') { + $query .= ' WHERE '.$whereLabel.' = ' . (int) $whereValue; + } + $query .= ' ORDER BY ordering'; + + // Create a read-only list (no name) with a hidden input to store the value. + if ((string) $this->element['readonly'] == 'true') { + $html[] = JHtml::_('list.ordering', '', $query, trim($attr), $this->value, $id ? 0 : 1); + $html[] = ''; + } + // Create a regular list. + else { + $html[] = JHtml::_('list.ordering', $this->name, $query, trim($attr), $this->value, $id ? 0 : 1); + } + + return implode($html); + } +} \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocadownloadtoken.php b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocadownloadtoken.php new file mode 100644 index 00000000..36745c53 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocadownloadtoken.php @@ -0,0 +1,51 @@ +element['size'] ? ' size="'.(int) $this->element['size'].'"' : ''; + $maxLength = $this->element['maxlength'] ? ' maxlength="'.(int) $this->element['maxlength'].'"' : ''; + $class = $this->element['class'] ? ' class="'.(string) $this->element['class'].'"' : ''; + $readonly = ((string) $this->element['readonly'] == 'true') ? ' readonly="readonly"' : ''; + $disabled = ((string) $this->element['disabled'] == 'true') ? ' disabled="disabled"' : ''; + + $maptype = ( (string)$this->element['maptype'] ? $this->element['maptype'] : '' ); + + // Initialize JavaScript field attributes. + $onchange = (string) $this->element['onchange']; + $onchangeOutput = ' onChange="'.(string) $this->element['onchange'].'"'; + + + + $html[] = '
'; + $html[] = ''; + $html[] = '' + . JText::_('COM_PHOCADOWNLOAD_SET_TOKEN').''; + $html[] = '
'. "\n"; + return implode("\n", $html); + + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocahead.php b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocahead.php new file mode 100644 index 00000000..805f8e8e --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocahead.php @@ -0,0 +1,48 @@ +'; + $phocaImage = ( (string)$this->element['phocaimage'] ? $this->element['phocaimage'] : '' ); + $image = ''; + + if ($phocaImage != ''){ + $image = JHTML::_('image', $ti . $phocaImage, '' ); + } + + if ($this->element['default']) { + if ($image != '') { + return '
' + .'
'. $image.' '. JText::_($this->element['default']) . '
' + .'
'; + } else { + return '
' + .''. JText::_($this->element['default']) . '' + .'
'; + } + } else { + return parent::getLabel(); + } + echo '
'; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocaheadexpert.php b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocaheadexpert.php new file mode 100644 index 00000000..c2ce723c --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocaheadexpert.php @@ -0,0 +1,48 @@ +'; + $phocaImage = ( (string)$this->element['phocaimage'] ? $this->element['phocaimage'] : '' ); + $image = ''; + + if ($phocaImage != ''){ + $image = JHTML::_('image', $ti . $phocaImage, '' ); + } + + if ($this->element['default']) { + if ($image != '') { + return '
' + .'
'. $image.' '. JText::_($this->element['default']) . '
' + .'
'; + } else { + return '
' + .''. JText::_($this->element['default']) . '' + .'
'; + } + } else { + return parent::getLabel(); + } + echo '
'; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocainfotext.php b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocainfotext.php new file mode 100644 index 00000000..6d99f121 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocainfotext.php @@ -0,0 +1,33 @@ +element['class'] != '') { + $class = $this->element['class']; + } + + return '
'.$this->value.'
'; + } + + + protected function getLabel() + { + echo '
'; + + return parent::getLabel(); + + echo '
'; + } + +} \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocalongtext.php b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocalongtext.php new file mode 100644 index 00000000..d5ee5d82 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocalongtext.php @@ -0,0 +1,83 @@ +_getPhocaParams( $this->element['name'] ); + + // Initialize some field attributes. + $size = $this->element['size'] ? ' size="'.(int) $this->element['size'].'"' : ''; + $class = $this->element['class'] ? ' class="'.(string) $this->element['class'].'"' : ''; + $maxLength = $this->element['maxlength'] ? ' maxlength="'.(int) $this->element['maxlength'].'"' : ''; + $readonly = ((string) $this->element['readonly'] == 'true') ? ' readonly="readonly"' : ''; + $disabled = ((string) $this->element['disabled'] == 'true') ? ' disabled="disabled"' : ''; + // Initialize JavaScript field attributes. + $onchange = $this->element['onchange'] ? ' onchange="'.(string) $this->element['onchange'].'"' : ''; + + $value = htmlspecialchars($this->value, ENT_COMPAT, 'UTF-8'); + + // TODO 1.6 + // MENU - Set Default value to "" because of saving "" value into the menu link ( use global = "") + if ($option == "com_menus") { + $DefaultValue = (string)$this->element['default']; + if ($value == $DefaultValue) { + $value = ''; + } + } + + // MENU - Display the global value + if ($option == "com_menus") { + $html =''; + $html .='
[]
'; + } else { + $html =''; + } + return $html; + } + + protected function getLabel() { + echo '
'; + return parent::getLabel(); + echo '
'; + } + + protected function _setPhocaParams(){ + + $component = 'com_phocadownload'; + $table = JTable::getInstance('extension'); + $idCom = $table->find( array('element' => $component )); + $table->load($idCom); + $phocaParams = new JParameter( $table->params ); + $this->phocaParams = $phocaParams; + } + + protected function _getPhocaParams( $name ){ + + // Don't call sql query by every param item (it will be loaded only one time) + if (!$this->phocaParams) { + $params = $this->_setPhocaParams(); + } + $globalValue = $this->phocaParams->get( $name, '' ); + return $globalValue; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocaselectfilename.php b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocaselectfilename.php new file mode 100644 index 00000000..3129bd0b --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocaselectfilename.php @@ -0,0 +1,87 @@ +element['manager'] ? '&manager='.(string) $this->element['manager'] : ''; + + $group = PhocaDownloadSettings::getManagerGroup((string) $this->element['manager']); + $textButton = 'COM_PHOCADOWNLOAD_FORM_SELECT_'.strtoupper($group['t']); + + $link = 'index.php?option=com_phocadownload&view=phocadownloadmanager'.$group['c'].$managerOutput.'&field='.$this->id; + + // Initialize some field attributes. + $attr = $this->element['class'] ? ' class="'.(string) $this->element['class'].'"' : ''; + $attr .= $this->element['size'] ? ' size="'.(int) $this->element['size'].'"' : ''; + + // Initialize JavaScript field attributes. + $onchange = (string) $this->element['onchange']; + + // Load the modal behavior script. + JHtml::_('behavior.modal', 'a.modal_'.$this->id); + + // If external image, we don't need the filename will be required + $extId = (int) $this->form->getValue('extid'); + if ($extId > 0) { + $readonly = ' readonly="readonly"'; + return ''; + } + + // Build the script. + $script = array(); + $script[] = ' function phocaSelectFileName_'.$this->id.'(title) {'; + $script[] = ' document.getElementById("'.$this->id.'_id").value = title;'; + $script[] = ' '.$onchange; + $script[] = ' SqueezeBox.close();'; + $script[] = ' }'; + + // Add the script to the document head. + JFactory::getDocument()->addScriptDeclaration(implode("\n", $script)); + + + /*$html[] = '
'; + $html[] = ' '; + $html[] = '
'; + + // Create the user select button. + $html[] = '
'; + $html[] = '
'; + $html[] = ' '; + $html[] = ' '.JText::_($textButton).''; + $html[] = '
'; + $html[] = '
';*/ + + $html[] = '
'; + $html[] = ''; + $html[] = '' + . JText::_($textButton).''; + $html[] = '
'. "\n"; + + + return implode("\n", $html); + } +} \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocatags.php b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocatags.php new file mode 100644 index 00000000..aafab89f --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocatags.php @@ -0,0 +1,34 @@ +form->getValue('id'); + + $activeTags = array(); + if ((int)$id > 0) { + $activeTags = PhocaDownloadTag::getTags($id, 1); + } + + + return PhocaDownloadTag::getAllTagsSelectBox($this->name, $this->id, $activeTags, NULL, 'a.id' ); + + + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocatext.php b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocatext.php new file mode 100644 index 00000000..448b0789 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocatext.php @@ -0,0 +1,75 @@ +_getPhocaParams( $this->element['name'] ); + + // Initialize some field attributes. + $size = $this->element['size'] ? ' size="'.(int) $this->element['size'].'"' : ''; + $class = $this->element['class'] ? ' class="'.(string) $this->element['class'].'"' : ''; + $maxLength = $this->element['maxlength'] ? ' maxlength="'.(int) $this->element['maxlength'].'"' : ''; + $readonly = ((string) $this->element['readonly'] == 'true') ? ' readonly="readonly"' : ''; + $disabled = ((string) $this->element['disabled'] == 'true') ? ' disabled="disabled"' : ''; + // Initialize JavaScript field attributes. + $onchange = $this->element['onchange'] ? ' onchange="'.(string) $this->element['onchange'].'"' : ''; + + $value = htmlspecialchars($this->value, ENT_COMPAT, 'UTF-8'); + + // TODO 1.6 + // MENU - Set Default value to "" because of saving "" value into the menu link ( use global = "") + if ($option == "com_menus") { + $DefaultValue = (string)$this->element['default']; + if ($value == $DefaultValue) { + $value = ''; + } + } + + $html =''; + + // MENU - Display the global value + if ($option == "com_menus") { + $html .= '[ ' . $globalValue . ' ]'; + } + + return $html; + } + + protected function getLabel() { + echo '
'; + return parent::getLabel(); + echo '
'; + } + + protected function _setPhocaParams(){ + $component = 'com_phocadownload'; + $paramsC = JComponentHelper::getParams($component) ; + $this->phocaParams = $paramsC; + } + + protected function _getPhocaParams( $name ){ + // Don't call sql query by every param item (it will be loaded only one time) + if (!$this->phocaParams) { + $params = $this->_setPhocaParams(); + } + $globalValue = $this->phocaParams->get( $name, '' ); + return $globalValue; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocatextarea.php b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocatextarea.php new file mode 100644 index 00000000..da2298b1 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocatextarea.php @@ -0,0 +1,81 @@ +_getPhocaParams( $this->element['name'] ); + + // Initialize some field attributes. + $class = $this->element['class'] ? ' class="'.(string) $this->element['class'].'"' : ''; + $disabled = ((string) $this->element['disabled'] == 'true') ? ' disabled="disabled"' : ''; + $columns = $this->element['cols'] ? ' cols="'.(int) $this->element['cols'].'"' : ''; + $rows = $this->element['rows'] ? ' rows="'.(int) $this->element['rows'].'"' : ''; + + // Initialize JavaScript field attributes. + $onchange = $this->element['onchange'] ? ' onchange="'.(string) $this->element['onchange'].'"' : ''; + + $value = htmlspecialchars($this->value, ENT_COMPAT, 'UTF-8'); + + // TODO 1.6 + // MENU - Set Default value to "" because of saving "" value into the menu link ( use global = "") + if ($option == "com_menus") { + $DefaultValue = (string)$this->element['default']; + if ($value == $DefaultValue) { + $value = ''; + } + } + + // MENU - Display the global value + if ($option == "com_menus") { + $html =''; + $html .='
[]
'; + } else { + $html = ''; + } + return $html; + } + + protected function getLabel() { + echo '
'; + return parent::getLabel(); + echo '
'; + } + + protected function _setPhocaParams(){ + $component = 'com_phocadownload'; + $paramsC = JComponentHelper::getParams($component) ; + $this->phocaParams = $paramsC; + } + + protected function _getPhocaParams( $name ){ + + // Don't call sql query by every param item (it will be loaded only one time) + if (!$this->phocaParams) { + $params = $this->_setPhocaParams(); + } + $globalValue = $this->phocaParams->get( $name, '' ); + return $globalValue; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocausers.php b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocausers.php new file mode 100644 index 00000000..ceb78138 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/fields/phocausers.php @@ -0,0 +1,28 @@ +form->getValue($this->element['name']); + + return PhocaDownloadUser::usersList($this->name, $this->id, $userId, 1, NULL,'name', 0 ); + + + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/forms/index.html b/packages/phocadownload/administrator/components/com_phocadownload/models/forms/index.html new file mode 100644 index 00000000..42682b47 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/forms/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/forms/phocadownloadcat.xml b/packages/phocadownload/administrator/components/com_phocadownload/models/forms/phocadownloadcat.xml new file mode 100644 index 00000000..6a1da9da --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/forms/phocadownloadcat.xml @@ -0,0 +1,88 @@ + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + +
+ + +
+ +
+
+ + +
diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/forms/phocadownloadfile.xml b/packages/phocadownload/administrator/components/com_phocadownload/models/forms/phocadownloadfile.xml new file mode 100644 index 00000000..7f33b2e4 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/forms/phocadownloadfile.xml @@ -0,0 +1,159 @@ + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + +
+
+ +
diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/forms/phocadownloadlayout.xml b/packages/phocadownload/administrator/components/com_phocadownload/models/forms/phocadownloadlayout.xml new file mode 100644 index 00000000..ee00a7f6 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/forms/phocadownloadlayout.xml @@ -0,0 +1,22 @@ + +
+ +
+ + + + + + + + + + + +
+ + + + + +
diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/forms/phocadownloadlic.xml b/packages/phocadownload/administrator/components/com_phocadownload/models/forms/phocadownloadlic.xml new file mode 100644 index 00000000..65a51785 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/forms/phocadownloadlic.xml @@ -0,0 +1,33 @@ + +
+ +
+ + + + + + + + + + + + + + + +
+ + +
+ + + + + + + +
+ +
diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/forms/phocadownloadmanager.xml b/packages/phocadownload/administrator/components/com_phocadownload/models/forms/phocadownloadmanager.xml new file mode 100644 index 00000000..8742e423 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/forms/phocadownloadmanager.xml @@ -0,0 +1,33 @@ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
+
diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/forms/phocadownloadstyle.xml b/packages/phocadownload/administrator/components/com_phocadownload/models/forms/phocadownloadstyle.xml new file mode 100644 index 00000000..81c2e3c2 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/forms/phocadownloadstyle.xml @@ -0,0 +1,32 @@ + +
+ +
+ + + + + + + + + + + + + + + + +
+ + +
+ + + + + + +
+
diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/forms/phocadownloadtag.xml b/packages/phocadownload/administrator/components/com_phocadownload/models/forms/phocadownloadtag.xml new file mode 100644 index 00000000..5ce177d4 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/forms/phocadownloadtag.xml @@ -0,0 +1,37 @@ + +
+ +
+ + + + + + + + + + + + + + + +
+ + +
+ + + + + + + + + + +
+ + +
diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/index.html b/packages/phocadownload/administrator/components/com_phocadownload/models/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadcat.php b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadcat.php new file mode 100644 index 00000000..495323fd --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadcat.php @@ -0,0 +1,627 @@ +catid)) { + return $user->authorise('core.delete', 'com_phocadownload.phocadownloadcat.'.(int) $record->catid); + } else { + return parent::canDelete($record); + } + } + + protected function canEditState($record){ + $user = JFactory::getUser(); + + if (!empty($record->catid)) { + return $user->authorise('core.edit.state', 'com_phocadownload.phocadownloadcat.'.(int) $record->catid); + } else { + return parent::canEditState($record); + } + } + + public function getTable($type = 'PhocaDownloadCat', $prefix = 'Table', $config = array()){ + return JTable::getInstance($type, $prefix, $config); + } + + public function getForm($data = array(), $loadData = true) { + + $app = JFactory::getApplication(); + $form = $this->loadForm('com_phocadownload.phocadownloadcat', 'phocadownloadcat', array('control' => 'jform', 'load_data' => $loadData)); + if (empty($form)) { + return false; + } + return $form; + } + + protected function loadFormData() + { + // Check the session for previously entered form data. + $data = JFactory::getApplication()->getUserState('com_phocadownload.edit.phocadownloadcat.data', array()); + + if (empty($data)) { + $data = $this->getItem(); + } + + return $data; + } + + public function getItem($pk = null) { + if ($item = parent::getItem($pk)) { + // Convert the params field to an array. + $registry = new JRegistry; + $registry->loadString($item->metadata); + $item->metadata = $registry->toArray(); + } + + return $item; + } + + protected function prepareTable($table){ + jimport('joomla.filter.output'); + $date = JFactory::getDate(); + $user = JFactory::getUser(); + + $table->title = htmlspecialchars_decode($table->title, ENT_QUOTES); + $table->alias = JApplication::stringURLSafe($table->alias); + + if (empty($table->alias)) { + $table->alias = JApplication::stringURLSafe($table->title); + } + + if (empty($table->id)) { + // Set the values + //$table->created = $date->toSql(); + + // Set ordering to the last item if not set + if (empty($table->ordering)) { + $db = JFactory::getDbo(); + $db->setQuery('SELECT MAX(ordering) FROM #__phocadownload_categories'); + $max = $db->loadResult(); + + $table->ordering = $max+1; + } + } + else { + // Set the values + //$table->modified = $date->toSql(); + //$table->modified_by = $user->get('id'); + } + } + + + protected function getReorderConditions($table = null) + { + $condition = array(); + $condition[] = 'parent_id = '. (int) $table->parent_id; + //$condition[] = 'state >= 0'; + return $condition; + } + + + + + + + /* + * Custom Save method - libraries/joomla/application/component/modeladmin.php + */ + public function save($data) + { + + // = = = = = = = = = = + // Default VALUES FOR Rights in FRONTEND + // ACCESS - 0: all users can see the category (registered or not registered) + // if registered or not registered it will be set in ACCESS LEVEL not here) + // if -1 - user was not selected so every registered or special users can see category + // UPLOAD - -2: nobody can upload or add images in front (if 0 - every users can do it) + // DELETE - -2: nobody can upload or add images in front (if 0 - every users can do it) + if(!isset($data['accessuserid'])) { $data['accessuserid'] = array();} + if(!isset($data['uploaduserid'])) { $data['uploaduserid'] = array();} + if(!isset($data['deleteuserid'])) { $data['deleteuserid'] = array();} + $accessUserIdArray = PhocaDownloadUtils::toArray($data['accessuserid']); + $uploadUserIdArray = PhocaDownloadUtils::toArray($data['uploaduserid']); + $deleteUserIdArray = PhocaDownloadUtils::toArray($data['deleteuserid']); + + if (isset($data['access']) && (int)$data['access'] > 0 && (int)$accessUserIdArray[0] == 0) { + $accessUserId[0] = -1; + } + $data['accessuserid'] = implode(',',$accessUserIdArray); + $data['uploaduserid'] = implode(',',$uploadUserIdArray); + $data['deleteuserid'] = implode(',',$deleteUserIdArray); + + // = = = = = = = = = = + + + // Initialise variables; + $dispatcher = JDispatcher::getInstance(); + $table = $this->getTable(); + $pk = (!empty($data['id'])) ? $data['id'] : (int)$this->getState($this->getName().'.id'); + $isNew = true; + + // Include the content plugins for the on save events. + JPluginHelper::importPlugin('content'); + + // Load the row if saving an existing record. + if ($pk > 0) { + $table->load($pk); + $isNew = false; + } + + // Bind the data. + if (!$table->bind($data)) { + $this->setError($table->getError()); + return false; + } + + if(intval($table->date) == 0) { + $table->date = JFactory::getDate()->toSql(); + } + + // Prepare the row for saving + $this->prepareTable($table); + + // Check the data. + if (!$table->check()) { + $this->setError($table->getError()); + return false; + } + + // Trigger the onContentBeforeSave event. + /*$result = $dispatcher->trigger($this->event_before_save, array($this->option.'.'.$this->name, $table, $isNew)); + if (in_array(false, $result, true)) { + $this->setError($table->getError()); + return false; + }*/ + + // Store the data. + if (!$table->store()) { + $this->setError($table->getError()); + return false; + } + + // Clean the cache. + $cache = JFactory::getCache($this->option); + $cache->clean(); + + // Trigger the onContentAfterSave event. + //$dispatcher->trigger($this->event_after_save, array($this->option.'.'.$this->name, $table, $isNew)); + + $pkName = $table->getKeyName(); + if (isset($table->$pkName)) { + $this->setState($this->getName().'.id', $table->$pkName); + } + $this->setState($this->getName().'.new', $isNew); + + + + return true; + } + + + + + + + function delete(&$cid = array()) { + $app = JFactory::getApplication(); + $db = JFactory::getDBO(); + + $result = false; + if (count( $cid )) { + JArrayHelper::toInteger($cid); + $cids = implode( ',', $cid ); + + // FIRST - if there are subcategories - - - - - + $query = 'SELECT c.id, c.name, c.title, COUNT( s.parent_id ) AS numcat' + . ' FROM #__phocadownload_categories AS c' + . ' LEFT JOIN #__phocadownload_categories AS s ON s.parent_id = c.id' + . ' WHERE c.id IN ( '.$cids.' )' + . ' GROUP BY c.id' + ; + $db->setQuery( $query ); + + if (!($rows2 = $db->loadObjectList())) { + JError::raiseError( 500, $db->stderr('Load Data Problem') ); + return false; + } + + // Add new CID without categories which have subcategories (we don't delete categories with subcat) + $err_cat = array(); + $cid = array(); + foreach ($rows2 as $row) { + if ($row->numcat == 0) { + $cid[] = (int) $row->id; + } else { + $err_cat[] = $row->title; + } + } + // - - - - - - - - - - - - - - - + + // Images with new cid - - - - - + if (count( $cid )) { + JArrayHelper::toInteger($cid); + $cids = implode( ',', $cid ); + + // Select id's from phocadownload tables. If the category has some images, don't delete it + $query = 'SELECT c.id, c.name, c.title, COUNT( s.catid ) AS numcat' + . ' FROM #__phocadownload_categories AS c' + . ' LEFT JOIN #__phocadownload AS s ON s.catid = c.id' + . ' WHERE c.id IN ( '.$cids.' )' + . ' GROUP BY c.id'; + + $db->setQuery( $query ); + + if (!($rows = $db->loadObjectList())) { + JError::raiseError( 500, $db->stderr('Load Data Problem') ); + return false; + } + + $err_img = array(); + $cid = array(); + foreach ($rows as $row) { + if ($row->numcat == 0) { + $cid[] = (int) $row->id; + } else { + $err_img[] = $row->title; + } + } + + if (count( $cid )) { + $cids = implode( ',', $cid ); + $query = 'DELETE FROM #__phocadownload_categories' + . ' WHERE id IN ( '.$cids.' )'; + $db->setQuery( $query ); + if (!$db->query()) { + $this->setError($this->_db->getErrorMsg()); + return false; + } + + // Delete items in phocadownload_user_category + /* $query = 'DELETE FROM #__phocadownload_user_category' + . ' WHERE catid IN ( '.$cids.' )'; + $db->setQuery( $query ); + if (!$db->query()) { + $this->setError($this->_db->getErrorMsg()); + return false; + }*/ + } + } + + // There are some images in the category - don't delete it + $msg = ''; + if (count( $err_cat ) || count( $err_img )) { + if (count( $err_cat )) { + $cids_cat = implode( ", ", $err_cat ); + $msg .= JText::plural( 'COM_PHOCADOWNLOAD_ERROR_DELETE_CONTAIN_CAT', $cids_cat ); + } + + if (count( $err_img )) { + $cids_img = implode( ", ", $err_img ); + $msg .= JText::plural( 'COM_PHOCADOWNLOAD_ERROR_DELETE_CONTAIN_FILE', $cids_img ); + } + $link = 'index.php?option=com_phocadownload&view=phocadownloadcats'; + $app->redirect($link, $msg); + } + } + return true; + } + + protected function batchCopy($value, $pks, $contexts) + { + $categoryId = (int) $value; + + + $table = $this->getTable(); + $db = $this->getDbo(); + + // Check that the category exists + if ($categoryId) { + $categoryTable = JTable::getInstance('PhocaDownloadCat', 'Table'); + + if (!$categoryTable->load($categoryId)) { + if ($error = $categoryTable->getError()) { + // Fatal error + $this->setError($error); + return false; + } + else { + $this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_MOVE_CATEGORY_NOT_FOUND')); + return false; + } + } + } + + //if (empty($categoryId)) { + if (!isset($categoryId)) { + $this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_MOVE_CATEGORY_NOT_FOUND')); + return false; + } + + // Check that the user has create permission for the component + $extension = JRequest::getCmd('option'); + $user = JFactory::getUser(); + if (!$user->authorise('core.create', $extension)) { + $this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_CREATE')); + return false; + } + + $i = 0; + + // Parent exists so we let's proceed + while (!empty($pks)) + { + // Pop the first ID off the stack + $pk = array_shift($pks); + + $table->reset(); + + // Check that the row actually exists + if (!$table->load($pk)) { + if ($error = $table->getError()) { + // Fatal error + $this->setError($error); + return false; + } + else { + // Not fatal error + $this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk)); + continue; + } + } + + // Alter the title & alias + $data = $this->generateNewTitle($categoryId, $table->alias, $table->title); + $table->title = $data['0']; + $table->alias = $data['1']; + + // Reset the ID because we are making a copy + $table->id = 0; + + // New category ID + $table->parent_id = $categoryId; + + // Ordering + $table->ordering = $this->increaseOrdering($categoryId); + + $table->hits = 0; + + // Check the row. + if (!$table->check()) { + $this->setError($table->getError()); + return false; + } + + // Store the row. + if (!$table->store()) { + $this->setError($table->getError()); + return false; + } + + // Get the new item ID + $newId = $table->get('id'); + + // Add the new ID to the array + $newIds[$i] = $newId; + $i++; + } + + // Clean the cache + $this->cleanCache(); + + return $newIds; + } + + protected function batchMove($value, $pks, $contexts) + { + $categoryId = (int) $value; + + $table = $this->getTable(); + //$db = $this->getDbo(); + + // Check that the category exists + if ($categoryId) { + $categoryTable = JTable::getInstance('PhocaDownloadCat', 'Table'); + if (!$categoryTable->load($categoryId)) { + if ($error = $categoryTable->getError()) { + // Fatal error + $this->setError($error); + return false; + } + else { + $this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_MOVE_CATEGORY_NOT_FOUND')); + return false; + } + } + } + + //if (empty($categoryId)) { + if (!isset($categoryId)) { + $this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_MOVE_CATEGORY_NOT_FOUND')); + return false; + } + + // Check that user has create and edit permission for the component + $extension = JRequest::getCmd('option'); + $user = JFactory::getUser(); + if (!$user->authorise('core.create', $extension)) { + $this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_CREATE')); + return false; + } + + if (!$user->authorise('core.edit', $extension)) { + $this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT')); + return false; + } + + // Parent exists so we let's proceed + foreach ($pks as $pk) + { + // Check that the row actually exists + if (!$table->load($pk)) { + if ($error = $table->getError()) { + // Fatal error + $this->setError($error); + return false; + } + else { + // Not fatal error + $this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk)); + continue; + } + } + + // Set the new category ID + $table->parent_id = $categoryId; + + + // Cannot move the node to be a child of itself. + if ((int)$table->id == (int)$categoryId) { + $e = new JException(JText::sprintf('JLIB_DATABASE_ERROR_INVALID_NODE_RECURSION', get_class($pk))); + $this->setError($e); + return false; + } + + // Check the row. + if (!$table->check()) { + $this->setError($table->getError()); + return false; + } + + // Store the row. + if (!$table->store()) { + $this->setError($table->getError()); + return false; + } + } + + // Clean the cache + $this->cleanCache(); + + return true; + } + + + public function increaseOrdering($categoryId) { + + $ordering = 1; + $this->_db->setQuery('SELECT MAX(ordering) FROM #__phocadownload_categories WHERE parent_id='.(int)$categoryId); + $max = $this->_db->loadResult(); + $ordering = $max + 1; + return $ordering; + } + + + public function batch($commands, $pks, $contexts) + { + + // Sanitize user ids. + $pks = array_unique($pks); + JArrayHelper::toInteger($pks); + + // Remove any values of zero. + if (array_search(0, $pks, true)) { + unset($pks[array_search(0, $pks, true)]); + } + + if (empty($pks)) { + $this->setError(JText::_('JGLOBAL_NO_ITEM_SELECTED')); + return false; + } + + $done = false; + + if (!empty($commands['assetgroup_id'])) { + if (!$this->batchAccess($commands['assetgroup_id'], $pks)) { + return false; + } + + $done = true; + } + + //PHOCAEDIT - Parent is by Phoca 0 not 1 like by Joomla! + $comCat =false; + if ($commands['category_id'] == '') { + $comCat = false; + } else if ( $commands['category_id'] == '0') { + $comCat = true; + } else if ((int)$commands['category_id'] > 0) { + $comCat = true; + } + + if ($comCat) + //if (isset($commands['category_id'])) + { + $cmd = JArrayHelper::getValue($commands, 'move_copy', 'c'); + + if ($cmd == 'c') + { + $result = $this->batchCopy($commands['category_id'], $pks, $contexts); + if (is_array($result)) + { + $pks = $result; + } + else + { + return false; + } + } + elseif ($cmd == 'm' && !$this->batchMove($commands['category_id'], $pks, $contexts)) + { + return false; + } + $done = true; + } + + if (!empty($commands['language_id'])) + { + if (!$this->batchLanguage($commands['language_id'], $pks, $contexts)) + { + return false; + } + + $done = true; + } + + if (!$done) { + $this->setError(JText::_('JLIB_APPLICATION_ERROR_INSUFFICIENT_BATCH_INFORMATION')); + return false; + } + + // Clear the cache + $this->cleanCache(); + + return true; + } + + + protected function generateNewTitle($category_id, $alias, $title) + { + // Alter the title & alias + $table = $this->getTable(); + while ($table->load(array('alias' => $alias, 'parent_id' => $category_id))) + { + $title = JString::increment($title); + $alias = JString::increment($alias, 'dash'); + } + + return array($title, $alias); + } + +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadcats.php b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadcats.php new file mode 100644 index 00000000..dfc4a1e9 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadcats.php @@ -0,0 +1,281 @@ +getUserStateFromRequest($this->context.'.filter.search', 'filter_search'); + $this->setState('filter.search', $search); + + $accessId = $app->getUserStateFromRequest($this->context.'.filter.access', 'filter_access', null, 'int'); + $this->setState('filter.access', $accessId); + + $state = $app->getUserStateFromRequest($this->context.'.filter.state', 'filter_published', '', 'string'); + $this->setState('filter.state', $state); + + // Not used in SQL - used in view in recursive category tree function + $levels = $app->getUserStateFromRequest($this->context.'.filter.level', 'filter_level', '', 'string'); + $this->setState('filter.level', $levels); + + $categoryId = $app->getUserStateFromRequest($this->context.'.filter.parent_id', 'filter_parent_id', null); + $this->setState('filter.parent_id', $categoryId); + + $language = $app->getUserStateFromRequest($this->context.'.filter.language', 'filter_language', ''); + $this->setState('filter.language', $language); + + // Load the parameters. + $params = JComponentHelper::getParams('com_phocadownload'); + $this->setState('params', $params); + + // List state information. + parent::populateState('a.title', 'asc'); + } + + protected function getStoreId($id = '') + { + // Compile the store id. + $id .= ':'.$this->getState('filter.search'); + $id .= ':'.$this->getState('filter.access'); + $id .= ':'.$this->getState('filter.state'); + $id .= ':'.$this->getState('filter.category_id'); + $id .= ':'.$this->getState('filter.file_id'); + + return parent::getStoreId($id); + } + + /* + * Because of tree we need to load all the items + * + * We need to load all items because of creating tree + * After creating tree we get info from pagination + * and will set displaying of categories for current pagination + * E.g. pagination is limitstart 5, limit 5 - so only categories from 5 to 10 will be displayed (in Default.php) + */ + + public function getItems() + { + // Get a storage key. + $store = $this->getStoreId(); + + // Try to load the data from internal storage. + if (!empty($this->cache[$store])) { + return $this->cache[$store]; + } + + // Load the list items. + $query = $this->getListQuery(); + //$items = $this->_getList($query, $this->getState('list.start'), $this->getState('list.limit')); + + $items = $this->_getList($query); + + // Check for a database error. + if ($this->_db->getErrorNum()) { + $this->setError($this->_db->getErrorMsg()); + return false; + } + + // Add the items to the internal cache. + $this->cache[$store] = $items; + + return $this->cache[$store]; + } + + protected function getListQuery() + { + /* + $query = ' SELECT a.*, cc.title AS parentname, u.name AS editor, v.average AS ratingavg, ua.username AS usercatname, c.countid AS countid, ag.title AS access_level' + . ' FROM #__phocadownload_categories AS a ' + . ' LEFT JOIN #__users AS u ON u.id = a.checked_out ' + . ' LEFT JOIN #__viewlevels AS ag ON ag.id = a.access ' + . ' LEFT JOIN #__phocadownload_categories AS cc ON cc.id = a.parent_id' + . ' LEFT JOIN #__phocadownload_votes_statistics AS v ON v.catid = a.id' + . ' LEFT JOIN #__users AS ua ON ua.id = a.owner_id' + . ' JOIN (SELECT c.parent_id, count(*) AS countid' + . ' FROM #__phocadownload_categories AS c' + .' GROUP BY c.parent_id ) AS c' + .' ON a.parent_id = c.parent_id' + . $where + . $orderby; + */ + // Create a new query object. + $db = $this->getDbo(); + $query = $db->getQuery(true); + + // Select the required fields from the table. + $query->select( + $this->getState( + 'list.select', + 'a.*' + ) + ); + $query->from('`#__phocadownload_categories` AS a'); + + // Join over the language + $query->select('l.title AS language_title'); + $query->join('LEFT', '`#__languages` AS l ON l.lang_code = a.language'); + + // Join over the users for the checked out user. + + + $query->select('uc.name AS editor'); + $query->join('LEFT', '#__users AS uc ON uc.id=a.checked_out'); + + + + // Join over the asset groups. + $query->select('ag.title AS access_level'); + $query->join('LEFT', '#__viewlevels AS ag ON ag.id = a.access'); + + // Join over the categories. + $query->select('c.title AS parentcat_title, c.id AS parentcat_id'); + $query->join('LEFT', '#__phocadownload_categories AS c ON c.id = a.parent_id'); + + //$query->select('ua.id AS userid, ua.username AS username, ua.name AS usernameno'); + //$query->join('LEFT', '#__users AS ua ON ua.id = a.owner_id'); + + + + $query->select('cc.countid AS countid'); + $query->join('LEFT', '(SELECT cc.parent_id, count(*) AS countid' + . ' FROM #__phocadownload_categories AS cc' + .' GROUP BY cc.parent_id ) AS cc' + .' ON a.parent_id = cc.parent_id'); + + + // Filter by access level. + if ($access = $this->getState('filter.access')) { + $query->where('a.access = '.(int) $access); + } + + // Filter by published state. + $published = $this->getState('filter.state'); + if (is_numeric($published)) { + $query->where('a.published = '.(int) $published); + } + else if ($published === '') { + $query->where('(a.published IN (0, 1))'); + } + + // Filter by category. + $categoryId = $this->getState('filter.parent_id'); + if (is_numeric($categoryId)) { + $query->where('a.parent_id = ' . (int) $categoryId); + } + + // Filter on the language. + if ($language = $this->getState('filter.language')) { + $query->where('a.language = ' . $db->quote($language)); + } + + // Filter by search in title + $search = $this->getState('filter.search'); + if (!empty($search)) + { + if (stripos($search, 'id:') === 0) { + $query->where('a.id = '.(int) substr($search, 3)); + } + else + { + $search = $db->Quote('%'.$db->escape($search, true).'%'); + $query->where('( a.title LIKE '.$search.' OR a.alias LIKE '.$search.')'); + } + } + + $query->group('a.id'); + + // Add the list ordering clause. + $orderCol = $this->state->get('list.ordering', 'title'); + $orderDirn = $this->state->get('list.direction', 'asc'); + /*if ($orderCol == 'a.ordering' || $orderCol == 'parentcat_title') { + $orderCol = 'parentcat_title '.$orderDirn.', a.ordering'; + }*/ + $query->order($db->escape($orderCol.' '.$orderDirn)); + + //echo nl2br(str_replace('#__', 'jos_', $query->__toString())); + + + return $query; + } + + public function getTotal() { + $store = $this->getStoreId('getTotal'); + if (isset($this->cache[$store])) { + return $this->cache[$store]; + } + + // PHOCAEDIT + if (isset($this->total) && (int)$this->total > 0) { + $total = (int)$this->total; + } else { + $query = $this->_getListQuery(); + + try { + $total = (int) $this->_getListCount($query); + } + catch (RuntimeException $e) { + $this->setError($e->getMessage()); + + return false; + } + } + + $this->cache[$store] = $total; + return $this->cache[$store]; + } + + public function setTotal($total) { + // When we use new total and new pagination, we need to clean their cache + $store1 = $this->getStoreId('getTotal'); + $store2 = $this->getStoreId('getStart'); + $store3 = $this->getStoreId('getPagination'); + + unset($this->cache[$store1]); + unset($this->cache[$store2]); + unset($this->cache[$store3]); + $this->total = (int)$total; + } + +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloaddownloads.php b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloaddownloads.php new file mode 100644 index 00000000..23c24d05 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloaddownloads.php @@ -0,0 +1,214 @@ +getUserStateFromRequest($this->context.'.filter.search', 'filter_search'); + $this->setState('filter.search', $search); +/* + $accessId = $app->getUserStateFromRequest($this->context.'.filter.access', 'filter_access', null, 'int'); + $this->setState('filter.access', $accessId); + + $state = $app->getUserStateFromRequest($this->context.'.filter.state', 'filter_published', '', 'string'); + $this->setState('filter.state', $state); +*/ + $id = JRequest::getVar( 'id', '', '', 'int'); + if ((int)$id > 0) { + $this->setState('filter.filestat_id', $id); + } else { + //$fileStatId = $app->getUserStateFromRequest($this->context.'.filter.filestat_id', 'filter_filestat_id', $id); + $this->setState('filter.filestat_id', 0); + } +/* + $language = $app->getUserStateFromRequest($this->context.'.filter.language', 'filter_language', ''); + $this->setState('filter.language', $language);*/ + + // Load the parameters. + $params = JComponentHelper::getParams('com_phocadownload'); + $this->setState('params', $params); + + // List state information. + parent::populateState('username', 'asc'); + } + + protected function getStoreId($id = '') + { + // Compile the store id. + $id .= ':'.$this->getState('filter.search'); + /*$id .= ':'.$this->getState('filter.access'); + $id .= ':'.$this->getState('filter.state'); + $id .= ':'.$this->getState('filter.category_id');*/ + $id .= ':'.$this->getState('filter.filestat_id'); + + return parent::getStoreId($id); + } + + + protected function getListQuery() + { + /*$query = ' SELECT a.id, a.userid, a.fileid, d.filename AS filename, d.title AS filetitle, a.count, a.date, u.name AS uname, u.username AS username, 0 AS checked_out' + . ' FROM #__phocadownload_user_stat AS a ' + . ' LEFT JOIN #__phocadownload AS d ON d.id = a.fileid ' + . ' LEFT JOIN #__users AS u ON u.id = a.userid ' + . $where + . ' GROUP by a.id' + . $orderby; + */ + // Create a new query object. + $db = $this->getDbo(); + $query = $db->getQuery(true); + + // Select the required fields from the table. + $query->select( + $this->getState( + 'list.select', + 'a.*' + ) + ); + $query->from('`#__phocadownload_user_stat` AS a'); + + // Join over the language + //$query->select('l.title AS language_title'); + //$query->join('LEFT', '`#__languages` AS l ON l.lang_code = a.language'); + + // Join over the users for the checked out user. + + + //$query->select('uc.name AS editor'); + //$query->join('LEFT', '#__users AS uc ON uc.id=a.checked_out'); + + + + // Join over the asset groups. + //$query->select('ag.title AS access_level'); + //$query->join('LEFT', '#__viewlevels AS ag ON ag.id = a.access'); + + // Join over the categories. + $query->select('d.filename AS filename, d.title AS filetitle'); + $query->join('LEFT', '#__phocadownload AS d ON d.id = a.fileid'); + + $query->select('ua.id AS userid, ua.username AS username, ua.name AS usernameno'); + $query->join('LEFT', '#__users AS ua ON ua.id = a.userid'); + + //$query->select('v.average AS ratingavg'); + //$query->join('LEFT', '#__phocadownload_img_votes_statistics AS v ON v.imgid = a.id'); + + // Filter by access level. + //if ($access = $this->getState('filter.access')) { + // $query->where('a.access = '.(int) $access); + //} + + // Filter by published state. + /*$published = $this->getState('filter.state'); + if (is_numeric($published)) { + $query->where('a.published = '.(int) $published); + } + else if ($published === '') { + $query->where('(a.published IN (0, 1))'); + } + + // Filter by category.*/ + /*$fileStatId = $this->getState('filter.filestat_id'); + + if (is_numeric($fileStatId)) { + $query->where('a.fileid = ' . (int) $fileStatId); + }*/ + + // Filter by search in title + $search = $this->getState('filter.search'); + + if (!empty($search)) + { + if (stripos($search, 'id:') === 0) { + $query->where('a.id = '.(int) substr($search, 3)); + } + else + { + $search = $db->Quote('%'.$db->escape($search, true).'%'); + $query->where('( ua.username LIKE '.$search.' OR ua.name LIKE '.$search.' OR d.filename LIKE '.$search.' OR d.title LIKE '.$search.')'); + } + } + + $query->group('a.id'); + + // Add the list ordering clause. + //$orderCol = $this->state->get('list.ordering'); + //$orderDirn = $this->state->get('list.direction'); + $orderCol = $this->state->get('list.ordering', 'username'); + $orderDirn = $this->state->get('list.direction', 'asc'); + + if ($orderCol == 'a.id' || $orderCol == 'username') { + $orderCol = 'ua.username '.$orderDirn.', a.id'; + } + $query->order($db->escape($orderCol.' '.$orderDirn)); + + + return $query; + + } + + + function reset($cid = array()) { + if (count( $cid )) { + JArrayHelper::toInteger($cid); + $cids = implode( ',', $cid ); + $date = gmdate('Y-m-d H:i:s'); + //Delete it from DB + $query = 'UPDATE #__phocadownload_user_stat' + .' SET count = 0,' + .' date = '.$this->_db->Quote($date) + .' WHERE id IN ( '.$cids.' )'; + + $this->_db->setQuery( $query ); + if(!$this->_db->query()) { + $this->setError($this->_db->getErrorMsg()); + return false; + } + } + return true; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadfile.php b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadfile.php new file mode 100644 index 00000000..eed9d609 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadfile.php @@ -0,0 +1,690 @@ +catid)) { + return $user->authorise('core.delete', 'com_phocadownload.phocadownloadfile.'.(int) $record->catid); + } else { + return parent::canDelete($record); + } + } + + protected function canEditState($record) + { + $user = JFactory::getUser(); + + if (!empty($record->catid)) { + return $user->authorise('core.edit.state', 'com_phocadownload.phocadownloadfile.'.(int) $record->catid); + } else { + return parent::canEditState($record); + } + } + + public function getTable($type = 'PhocaDownload', $prefix = 'Table', $config = array()) + { + return JTable::getInstance($type, $prefix, $config); + } + + public function getForm($data = array(), $loadData = true) { + + $app = JFactory::getApplication(); + $form = $this->loadForm('com_phocadownload.phocadownloadfile', 'phocadownloadfile', array('control' => 'jform', 'load_data' => $loadData)); + + if (empty($form)) { + return false; + } + return $form; + } + + protected function loadFormData() + { + // Check the session for previously entered form data. + $data = JFactory::getApplication()->getUserState('com_phocadownload.edit.phocadownload.data', array()); + + if (empty($data)) { + $data = $this->getItem(); + } + + return $data; + } + + public function getItem($pk = null) + { + if ($item = parent::getItem($pk)) { + // Convert the params field to an array. + $registry = new JRegistry; + $registry->loadString($item->metadata); + $item->metadata = $registry->toArray(); + } + + return $item; + } + + protected function prepareTable($table) + { + jimport('joomla.filter.output'); + $date = JFactory::getDate(); + $user = JFactory::getUser(); + + $table->title = htmlspecialchars_decode($table->title, ENT_QUOTES); + $table->alias = JApplication::stringURLSafe($table->alias); + + if (empty($table->alias)) { + $table->alias = JApplication::stringURLSafe($table->title); + } + + if (empty($table->id)) { + // Set the values + //$table->created = $date->toSql(); + + // Set ordering to the last item if not set + if (empty($table->ordering)) { + $db = JFactory::getDbo(); + //$db->setQuery('SELECT MAX(ordering) FROM #__phocadownload'); + $db->setQuery('SELECT MAX(ordering) FROM #__phocadownload WHERE catid = '.(int)$table->catid); + $max = $db->loadResult(); + + $table->ordering = $max+1; + } + } + else { + // Set the values + //$table->modified = $date->toSql(); + //$table->modified_by = $user->get('id'); + } + } + + + + protected function getReorderConditions($table = null) + { + $condition = array(); + $condition[] = 'catid = '. (int) $table->catid; + //$condition[] = 'state >= 0'; + return $condition; + } + + function approve(&$pks, $value = 1) + { + // Initialise variables. + $dispatcher = JDispatcher::getInstance(); + $user = JFactory::getUser(); + $table = $this->getTable('phocadownload'); + $pks = (array) $pks; + + // Include the content plugins for the change of state event. + JPluginHelper::importPlugin('content'); + + // Access checks. + foreach ($pks as $i => $pk) { + if ($table->load($pk)) { + if (!$this->canEditState($table)) { + // Prune items that you can't change. + unset($pks[$i]); + JError::raiseWarning(403, JText::_('JLIB_APPLICATION_ERROR_EDIT_STATE_NOT_PERMITTED')); + } + } + } + + // Attempt to change the state of the records. + if (!$table->approve($pks, $value, $user->get('id'))) { + $this->setError($table->getError()); + return false; + } + + $context = $this->option.'.'.$this->name; + + // Trigger the onContentChangeState event. + /* $result = $dispatcher->trigger($this->event_change_state, array($context, $pks, $value)); + if (in_array(false, $result, true)) { + $this->setError($table->getError()); + return false; + } */ + + return true; + } + + function save($data) { + + //$data['filesize'] = PhocaDownloadUtils::getFileSize($data['filename'], 0); + + if ($data['alias'] == '') { + $data['alias'] = $data['title']; + } + + //$data['alias'] = PhocaDownloadText::get AliasName($data['alias']); + + + // Initialise variables; + $dispatcher = JDispatcher::getInstance(); + $table = $this->getTable(); + $pk = (!empty($data['id'])) ? $data['id'] : (int)$this->getState($this->getName().'.id'); + $isNew = true; + + // Include the content plugins for the on save events. + JPluginHelper::importPlugin('content'); + + // Load the row if saving an existing record. + if ($pk > 0) { + $table->load($pk); + $isNew = false; + } + + // ================================================= + // Make a copy for play and preview + $paramsC = JComponentHelper::getParams('com_phocadownload') ; + $papCopy = $paramsC->get( 'pap_copy', 0 ); + $overwriteExistingFiles = $paramsC->get( 'overwrite_existing_files', 0 ); + $path = PhocaDownloadPath::getPathSet(); + + + if ($papCopy == 2 || $papCopy == 3) { + $canPlay = PhocaDownloadFile::canPlay($data['filename']); + $canPreview = PhocaDownloadFile::canPreview($data['filename']); + $filepath = JPath::clean($path['orig_abs_ds'] . DS.$data['filename']); + $filepathPAP = JPath::clean($path['orig_abs_pap_ds'] . DS.$data['filename']); + $filepathPAPFolder = JPath::clean($path['orig_abs_pap_ds'] . DS. PhocaDownloadFile::getFolderFromTheFile($data['filename'])); + + if ($canPlay || $canPreview) { + + $uploadPAP = 1;// upload file for preview and play + if (JFile::exists($filepathPAP) && $overwriteExistingFiles == 0) { + //$errUploadMsg = JText::_("COM_PHOCADOWNLOAD_FILE_ALREADY_EXISTS"); + //return false; + $uploadPAP = 0; // don't upload if it exists, it is not main file, don't do false and exit + + if ($canPlay == 1) { + // set new file only no other is set + if ($data['filename_play'] != '') { + $uploadPAP = 0; + } else { + $data['filename_play'] = $data['filename']; + } + } else if ($canPreview == 1) { + // set new file only no other is set + if ($data['filename_preview'] != '') { + $uploadPAP = 0; + } else { + $data['filename_preview'] = $data['filename']; + } + } + } + + + // Overwrite file and add no new item to database + $fileExistsPAP = 0; + if (JFile::exists($filepathPAP) && $overwriteExistingFiles == 1) { + $fileExistsPAP = 1; + + if ($canPlay == 1) { + // set new file only no other is set or it is the same like currect - to overwrite updated version of the same file + if ($data['filename_play'] == '' || $data['filename_play'] == $data['filename']) { + $data['filename_play'] = $data['filename']; + } else { + $uploadPAP = 0; + } + } else if ($canPreview == 1) { + // set new file only no other is set or it is the same like currect - to overwrite updated version of the same file + if ($data['filename_preview'] == '' || $data['filename_preview'] == $data['filename']) { + $data['filename_preview'] = $data['filename']; + } else { + $uploadPAP = 0; + } + } + } + + if ($uploadPAP == 0) { + + } else { + if (!JFolder::exists($filepathPAPFolder)) { + if (JFolder::create($filepathPAPFolder)) { + $dataFile = "\n\n\n"; + JFile::write($filepathPAPFolder . DS ."index.html", $dataFile); + } + // else { + //$errUploadMsg = JText::_("COM_PHOCADOWNLOAD_UNABLE_TO_CREATE_FOLDER"); + //return false; + //} + } + + if (!JFile::copy($filepath, $filepathPAP)) { + //$errUploadMsg = JText::_("COM_PHOCADOWNLOAD_UNABLE_TO_UPLOAD_FILE"); + //return false; + } else { + + + if ($canPlay == 1) { + $data['filename_play'] = $data['filename']; + } else if ($canPreview == 1) { + $data['filename_preview'] = $data['filename']; + } + } + } + } + } + // ============================================== + + + // Bind the data. + if (!$table->bind($data)) { + $this->setError($table->getError()); + return false; + } + + // Date - - - - - + $nullDate = $this->_db->getNullDate(); + $config = JFactory::getConfig(); + $tzoffset = $config->get('offset'); + //$date = JFactory::getDate($table->date, $tzoffset); + //$table->date = $date->toSql(); + + // Append time if not added to publish date + //if (strlen(trim($table->publish_up)) <= 10) { + // $table->publish_up .= ' 00:00:00'; + //} + //$date = JFactory::getDate($table->publish_up, $tzoffset); + //$table->publish_up = $date->toSql(); + + if ($table->id) { + + // Test Solution add date when it is removed + if (!intval($table->date)) { + $date = JFactory::getDate(); + $table->date = $date->toSql(); + } + + } else { + if (!intval($table->date)) { + $date = JFactory::getDate(); + $table->date = $date->toSql(); + } + } + + if(intval($table->publish_up) == 0) { + $table->publish_up = JFactory::getDate()->toSql(); + } + + // Handle never unpublish date + if (trim($table->publish_down) == JText::_('Never') || trim( $table->publish_down ) == '') { + $table->publish_down = $nullDate; + } else { + if (strlen(trim( $table->publish_down )) <= 10) { + $table->publish_down .= ' 00:00:00'; + } + //$date = JFactory::getDate($table->publish_down, $tzoffset); + $date = JFactory::getDate($table->publish_down); + $table->publish_down = $date->toSql(); + } + // - - - - - - + + + // if new item, order last in appropriate group + if (!$table->id) { + $where = 'catid = ' . (int) $table->catid ; + $table->ordering = $table->getNextOrder( $where ); + } + + + + + + + + // Prepare the row for saving + $this->prepareTable($table); + + // Check the data. + if (!$table->check()) { + $this->setError($table->getError()); + return false; + } + + // Trigger the onContentBeforeSave event. + /* $result = $dispatcher->trigger($this->event_before_save, array($this->option.'.'.$this->name, $table, $isNew)); + if (in_array(false, $result, true)) { + $this->setError($table->getError()); + return false; + } */ + + // Store the data. + if (!$table->store()) { + $this->setError($table->getError()); + return false; + } + + // Store to ref table + if (!isset($data['tags'])) { + $data['tags'] = array(); + } + if ((int)$table->id > 0) { + PhocaDownloadTag::storeTags($data['tags'], (int)$table->id); + } + + // Clean the cache. + $cache = JFactory::getCache($this->option); + $cache->clean(); + + // Trigger the onContentAfterSave event. + //$dispatcher->trigger($this->event_after_save, array($this->option.'.'.$this->name, $table, $isNew)); + + $pkName = $table->getKeyName(); + if (isset($table->$pkName)) { + $this->setState($this->getName().'.id', $table->$pkName); + } + $this->setState($this->getName().'.new', $isNew); + + + + + + return true; + } + + + + function delete(&$cid = array()) { + + $result = false; + + $paramsC = JComponentHelper::getParams('com_phocadownload'); + $deleteExistingFiles = $paramsC->get( 'delete_existing_files', 0 ); + + if (count( $cid )) { + JArrayHelper::toInteger($cid); + $cids = implode( ',', $cid ); + + // - - - - - - - - - - - - - + // Get all filenames we want to delete from database, we delete all thumbnails from server of this file + $queryd = 'SELECT filename as filename FROM #__phocadownload WHERE id IN ( '.$cids.' )'; + $this->_db->setQuery($queryd); + $fileObject = $this->_db->loadObjectList(); + // - - - - - - - - - - - - - + + + //Delete it from DB + $query = 'DELETE FROM #__phocadownload' + . ' WHERE id IN ( '.$cids.' )'; + $this->_db->setQuery( $query ); + if(!$this->_db->query()) { + $this->setError($this->_db->getErrorMsg); + return false; + } + + //Delete tags from DB + $query = 'DELETE FROM #__phocadownload_tags_ref' + . ' WHERE fileid IN ( '.$cids.' )'; + $this->_db->setQuery( $query ); + if(!$this->_db->query()) { + $this->setError($this->_db->getErrorMsg()); + return false; + } + + // - - - - - - - - - - - - - - + // DELETE FILES ON SERVER + if ($deleteExistingFiles == 1) { + $path = PhocaDownloadPath::getPathSet(); + foreach ($fileObject as $key => $value) { + //The file can be stored in other category - don't delete it from server because other category use it + $querys = "SELECT id as id FROM #__phocadownload WHERE filename='".$value->filename."' "; + $this->_db->setQuery($querys); + $sameFileObject = $this->_db->loadObject(); + // same file in other category doesn't exist - we can delete it + if (!$sameFileObject) { + JFile::delete(JPath::clean($path['orig_abs_ds'].$value->filename)); + } + } + } + + } + return true; + } + + protected function batchCopy($value, $pks, $contexts) + { + $categoryId = (int) $value; + + $table = $this->getTable(); + $db = $this->getDbo(); + + // Check that the category exists + if ($categoryId) { + $categoryTable = JTable::getInstance('PhocaDownloadCat', 'Table'); + if (!$categoryTable->load($categoryId)) { + if ($error = $categoryTable->getError()) { + // Fatal error + $this->setError($error); + return false; + } + else { + $this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_MOVE_CATEGORY_NOT_FOUND')); + return false; + } + } + } + + if (empty($categoryId)) { + $this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_MOVE_CATEGORY_NOT_FOUND')); + return false; + } + + // Check that the user has create permission for the component + $extension = JRequest::getCmd('option'); + $user = JFactory::getUser(); + if (!$user->authorise('core.create', $extension)) { + $this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_CREATE')); + return false; + } + + $i = 0; + + // Parent exists so we let's proceed + while (!empty($pks)) + { + // Pop the first ID off the stack + $pk = array_shift($pks); + + $table->reset(); + + // Check that the row actually exists + if (!$table->load($pk)) { + if ($error = $table->getError()) { + // Fatal error + $this->setError($error); + return false; + } + else { + // Not fatal error + $this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk)); + continue; + } + } + + // Alter the title & alias + $data = $this->generateNewTitle($categoryId, $table->alias, $table->title); + $table->title = $data['0']; + $table->alias = $data['1']; + + // Reset the ID because we are making a copy + $table->id = 0; + + // New category ID + $table->catid = $categoryId; + + // Ordering + $table->ordering = $this->increaseOrdering($categoryId); + + $table->hits = 0; + + // Check the row. + if (!$table->check()) { + $this->setError($table->getError()); + return false; + } + + // Store the row. + if (!$table->store()) { + $this->setError($table->getError()); + return false; + } + + $newId = $table->get('id'); + + // Add the new ID to the array + $newIds[$i] = $newId; + $i++; + } + + // Clean the cache + $this->cleanCache(); + + return $newIds; + } + + /** + * Batch move articles to a new category + * + * @param integer $value The new category ID. + * @param array $pks An array of row IDs. + * + * @return booelan True if successful, false otherwise and internal error is set. + * + * @since 11.1 + */ + protected function batchMove($value, $pks, $contexts) + { + $categoryId = (int) $value; + + $table = $this->getTable(); + //$db = $this->getDbo(); + + // Check that the category exists + if ($categoryId) { + $categoryTable = JTable::getInstance('PhocaDownloadCat', 'Table'); + if (!$categoryTable->load($categoryId)) { + if ($error = $categoryTable->getError()) { + // Fatal error + $this->setError($error); + return false; + } + else { + $this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_MOVE_CATEGORY_NOT_FOUND')); + return false; + } + } + } + + if (empty($categoryId)) { + $this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_MOVE_CATEGORY_NOT_FOUND')); + return false; + } + + // Check that user has create and edit permission for the component + $extension = JRequest::getCmd('option'); + $user = JFactory::getUser(); + if (!$user->authorise('core.create', $extension)) { + $this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_CREATE')); + return false; + } + + if (!$user->authorise('core.edit', $extension)) { + $this->setError(JText::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EDIT')); + return false; + } + + // Parent exists so we let's proceed + foreach ($pks as $pk) + { + // Check that the row actually exists + if (!$table->load($pk)) { + if ($error = $table->getError()) { + // Fatal error + $this->setError($error); + return false; + } + else { + // Not fatal error + $this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_BATCH_MOVE_ROW_NOT_FOUND', $pk)); + continue; + } + } + + // Set the new category ID + $table->catid = $categoryId; + + // Check the row. + if (!$table->check()) { + $this->setError($table->getError()); + return false; + } + + // Store the row. + if (!$table->store()) { + $this->setError($table->getError()); + return false; + } + } + + // Clean the cache + $this->cleanCache(); + + return true; + } + + + public function increaseOrdering($categoryId) { + + $ordering = 1; + $this->_db->setQuery('SELECT MAX(ordering) FROM #__phocadownload WHERE catid='.(int)$categoryId); + $max = $this->_db->loadResult(); + $ordering = $max + 1; + return $ordering; + } + /* + function copyQuick($cid) { + $table = $this->getTable(); + + + foreach ($cid as $id) { + $table->load($id); + + // Find last ordering + $this->_db->setQuery('SELECT MAX(ordering) FROM #__phocadownload WHERE catid='.(int)$table->catid); + $max = $this->_db->loadResult(); + $table->ordering = $max+1; + // End Ordering + $table->id = null; + $table->hits = 0; + + if ( !$table->check() ) { + $this->setError($this->_db->getErrorMsg()); + return false; + } + if ( !$table->store() ) { + $this->setError($this->_db->getErrorMsg()); + return false; + } + } + return true; + }*/ + +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadfiles.php b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadfiles.php new file mode 100644 index 00000000..3061c4c8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadfiles.php @@ -0,0 +1,203 @@ +getUserStateFromRequest($this->context.'.filter.search', 'filter_search'); + $this->setState('filter.search', $search); + + $accessId = $app->getUserStateFromRequest($this->context.'.filter.access', 'filter_access', null, 'int'); + $this->setState('filter.access', $accessId); + + $state = $app->getUserStateFromRequest($this->context.'.filter.state', 'filter_published', '', 'string'); + $this->setState('filter.state', $state); + + $categoryId = $app->getUserStateFromRequest($this->context.'.filter.category_id', 'filter_category_id', null); + $this->setState('filter.category_id', $categoryId); + + $language = $app->getUserStateFromRequest($this->context.'.filter.language', 'filter_language', ''); + $this->setState('filter.language', $language); + + // Load the parameters. + $params = JComponentHelper::getParams('com_phocadownload'); + $this->setState('params', $params); + + // List state information. + parent::populateState('a.title', 'asc'); + } + + protected function getStoreId($id = '') + { + // Compile the store id. + $id .= ':'.$this->getState('filter.search'); + $id .= ':'.$this->getState('filter.access'); + $id .= ':'.$this->getState('filter.state'); + $id .= ':'.$this->getState('filter.category_id'); + $id .= ':'.$this->getState('filter.image_id'); + + return parent::getStoreId($id); + } + + + protected function getListQuery() + { + /* + SELECT a.*, cc.title AS categorytitle, s.title AS sectiontitle, u.name AS editor, g.name AS groupname, us.id AS ownerid, us.username AS ownername ' + . ' FROM #__phocadownload AS a ' + . ' LEFT JOIN #__phocadownload_categories AS cc ON cc.id = a.catid' + . ' LEFT JOIN #__phocadownload_sections AS s ON s.id = a.sectionid' + . ' LEFT JOIN #__groups AS g ON g.id = a.access' + . ' LEFT JOIN #__users AS u ON u.id = a.checked_out' + . ' LEFT JOIN #__users AS us ON us.id = a.owner_id' + */ + // Create a new query object. + $db = $this->getDbo(); + $query = $db->getQuery(true); + + // Select the required fields from the table. + $query->select( + $this->getState( + 'list.select', + 'a.*' + ) + ); + $query->from('`#__phocadownload` AS a'); + + // Join over the language + $query->select('l.title AS language_title'); + $query->join('LEFT', '`#__languages` AS l ON l.lang_code = a.language'); + + // Join over the users for the checked out user. + + + $query->select('uc.name AS editor'); + $query->join('LEFT', '#__users AS uc ON uc.id=a.checked_out'); + + $query->select('uua.id AS uploaduserid, uua.username AS uploadusername, uua.name AS uploadname'); + $query->join('LEFT', '#__users AS uua ON uua.id=a.userid'); + + // Join over the asset groups. + $query->select('ag.title AS access_level'); + $query->join('LEFT', '#__viewlevels AS ag ON ag.id = a.access'); + + // Join over the categories. + $query->select('c.title AS category_title, c.id AS category_id'); + $query->join('LEFT', '#__phocadownload_categories AS c ON c.id = a.catid'); + + $query->select('ua.id AS userid, ua.username AS username, ua.name AS usernameno'); + $query->join('LEFT', '#__users AS ua ON ua.id = a.owner_id'); + + //$query->select('v.average AS ratingavg'); + //$query->join('LEFT', '#__phocadownload_img_votes_statistics AS v ON v.imgid = a.id'); + + // Filter by access level. + if ($access = $this->getState('filter.access')) { + $query->where('a.access = '.(int) $access); + } + + // Filter by published state. + $published = $this->getState('filter.state'); + if (is_numeric($published)) { + $query->where('a.published = '.(int) $published); + } + else if ($published === '') { + $query->where('(a.published IN (0, 1))'); + } + + // Filter by category. + $categoryId = $this->getState('filter.category_id'); + if (is_numeric($categoryId)) { + $query->where('a.catid = ' . (int) $categoryId); + } + + // Filter on the language. + if ($language = $this->getState('filter.language')) { + $query->where('a.language = ' . $db->quote($language)); + } + + // Filter by search in title + $search = $this->getState('filter.search'); + if (!empty($search)) + { + if (stripos($search, 'id:') === 0) { + $query->where('a.id = '.(int) substr($search, 3)); + } + else + { + $search = $db->Quote('%'.$db->escape($search, true).'%'); + $query->where('( a.title LIKE '.$search.' OR a.filename LIKE '.$search.')'); + } + } + + $query->group('a.id'); + + // Add the list ordering clause. + //$orderCol = $this->state->get('list.ordering'); + //$orderDirn = $this->state->get('list.direction'); + $orderCol = $this->state->get('list.ordering', 'title'); + $orderDirn = $this->state->get('list.direction', 'asc'); + if ($orderCol == 'a.ordering' || $orderCol == 'category_title') { + $orderCol = 'category_title '.$orderDirn.', a.ordering'; + } + $query->order($db->escape($orderCol.' '.$orderDirn)); + + + return $query; + } + + public function getNotApprovedFile() { + + $query = 'SELECT COUNT(a.id) AS count' + .' FROM #__phocadownload AS a' + .' WHERE approved = 0'; + $this->_db->setQuery($query, 0, 1); + $countNotApproved = $this->_db->loadObject(); + return $countNotApproved; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadlayout.php b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadlayout.php new file mode 100644 index 00000000..0e9cc27f --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadlayout.php @@ -0,0 +1,50 @@ +loadForm('com_phocadownload.phocadownloadlayout', 'phocadownloadlayout', array('control' => 'jform', 'load_data' => $loadData)); + if (empty($form)) { + return false; + } + return $form; + } + + protected function loadFormData() + { + // Check the session for previously entered form data. + $data = JFactory::getApplication()->getUserState('com_phocadownload.edit.phocadownloadlayout.data', array()); + + if (empty($data)) { + $data = $this->getItem(); + } + + return $data; + } + +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadlic.php b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadlic.php new file mode 100644 index 00000000..a46429a1 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadlic.php @@ -0,0 +1,93 @@ +loadForm('com_phocadownload.phocadownloadlic', 'phocadownloadlic', array('control' => 'jform', 'load_data' => $loadData)); + if (empty($form)) { + return false; + } + return $form; + } + + protected function loadFormData() + { + // Check the session for previously entered form data. + $data = JFactory::getApplication()->getUserState('com_phocadownload.edit.phocadownloadlic.data', array()); + + if (empty($data)) { + $data = $this->getItem(); + } + + return $data; + } + + protected function prepareTable($table) + { + jimport('joomla.filter.output'); + $date = JFactory::getDate(); + $user = JFactory::getUser(); + + $table->title = htmlspecialchars_decode($table->title, ENT_QUOTES); + $table->alias = JApplication::stringURLSafe($table->alias); + + if (empty($table->alias)) { + $table->alias = JApplication::stringURLSafe($table->title); + } + + if (empty($table->id)) { + // Set the values + //$table->created = $date->toSql(); + + // Set ordering to the last item if not set + if (empty($table->ordering)) { + $db = JFactory::getDbo(); + $db->setQuery('SELECT MAX(ordering) FROM #__phocadownload_licenses'); + $max = $db->loadResult(); + + $table->ordering = $max+1; + } + } + else { + // Set the values + //$table->modified = $date->toSql(); + //$table->modified_by = $user->get('id'); + } + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadlics.php b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadlics.php new file mode 100644 index 00000000..96684bac --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadlics.php @@ -0,0 +1,154 @@ +getUserStateFromRequest($this->context.'.filter.search', 'filter_search'); + $this->setState('filter.search', $search); + +/* $accessId = $app->getUserStateFromRequest($this->context.'.filter.access', 'filter_access', null, 'int'); + $this->setState('filter.access', $accessId);*/ + + + + $state = $app->getUserStateFromRequest($this->context.'.filter.state', 'filter_published', '', 'string'); + $this->setState('filter.state', $state); + + $language = $app->getUserStateFromRequest($this->context.'.filter.language', 'filter_language', ''); + $this->setState('filter.language', $language); + + // Load the parameters. + $params = JComponentHelper::getParams('com_phocadownload'); + $this->setState('params', $params); + + // List state information. + parent::populateState('a.title', 'asc'); + } + + protected function getStoreId($id = '') + { + // Compile the store id. + $id .= ':'.$this->getState('filter.search'); + //$id .= ':'.$this->getState('filter.access'); + $id .= ':'.$this->getState('filter.state'); + $id .= ':'.$this->getState('filter.lic_id'); + + + return parent::getStoreId($id); + } + + protected function getListQuery() + { + /* + $query = ' SELECT a.*, u.name AS editor ' + . ' FROM #__phocadownload_licenses AS a ' + . ' LEFT JOIN #__users AS u ON u.id = a.checked_out ' + */ + // Create a new query object. + $db = $this->getDbo(); + $query = $db->getQuery(true); + + // Select the required fields from the table. + $query->select( + $this->getState( + 'list.select', + 'a.*' + ) + ); + $query->from('`#__phocadownload_licenses` AS a'); + + // Join over the language + $query->select('l.title AS language_title'); + $query->join('LEFT', '`#__languages` AS l ON l.lang_code = a.language'); + + // Join over the users for the checked out user. + $query->select('uc.name AS editor'); + $query->join('LEFT', '#__users AS uc ON uc.id=a.checked_out'); + + + // Filter by access level. +/* if ($access = $this->getState('filter.access')) { + $query->where('a.access = '.(int) $access); + }*/ + + + + // Filter by published state. + $published = $this->getState('filter.state'); + if (is_numeric($published)) { + $query->where('a.published = '.(int) $published); + } + else if ($published === '') { + $query->where('(a.published IN (0, 1))'); + } + + + // Filter by search in title + $search = $this->getState('filter.search'); + if (!empty($search)) + { + if (stripos($search, 'id:') === 0) { + $query->where('a.id = '.(int) substr($search, 3)); + } + else + { + $search = $db->Quote('%'.$db->escape($search, true).'%'); + $query->where('( a.title LIKE '.$search.' OR a.alias LIKE '.$search.')'); + } + } + + //$orderCol = $this->state->get('list.ordering'); + //$orderDirn = $this->state->get('list.direction'); + $orderCol = $this->state->get('list.ordering', 'title'); + $orderDirn = $this->state->get('list.direction', 'asc'); + $query->order($db->escape($orderCol.' '.$orderDirn)); + + //echo nl2br(str_replace('#__', 'jos_', $query->__toString())); + return $query; + + } + + +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadlinkcat.php b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadlinkcat.php new file mode 100644 index 00000000..0a659fb0 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadlinkcat.php @@ -0,0 +1,81 @@ +_loadDataSec()) { + + } else { + $this->_initDataSec(); + } + return $this->_data_sec; + }*/ + + function &getDataCat($sectionList) { + if ($this->_loadDataCat($sectionList)) { + + } else { + $this->_initDataCat(); + } + return $this->_data_cat; + } + /* + function _loadDataSec() { + if (empty($this->_data_sec)) { + $query = 'SELECT s.id, s.title' + . ' FROM #__phocadownload_sections AS s' + . ' WHERE s.published = 1' + . ' ORDER BY s.ordering'; + $this->_db->setQuery($query); + $this->_data_sec = $this->_db->loadObjectList(); + return (boolean) $this->_data_sec; + } + return true; + }*/ + /* + function _loadDataCat($sectionList) { + if (empty($this->_data_cat)) { + $query = 'SELECT c.id, c.title, c.section' + .' FROM #__phocadownload_categories AS c' + .' WHERE c.section IN ( \''.$sectionList.'\' )' + .' AND c.published = 1' + .' ORDER BY c.ordering'; + $this->_db->setQuery($query); + $this->_data_cat = $this->_db->loadObjectList(); + return (boolean) $this->_data_cat; + } + return true; + }*/ + /* + function _initDataSec() { + if (empty($this->_data_sec)) { + return (boolean) array(); + } + return true; + }*/ + function _initDataCat() { + if (empty($this->_data_cat)) { + return (boolean) array(); + } + return true; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadlinkfile.php b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadlinkfile.php new file mode 100644 index 00000000..e8f80487 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadlinkfile.php @@ -0,0 +1,123 @@ +getUserStateFromRequest( $this->_context.'.list.limit', 'limit', $app->getCfg('list_limit'), 'int' ); + $limitstart = $app->getUserStateFromRequest( $this->_context.'.limitstart', 'limitstart', 0, 'int' ); + // In case limit has been changed, adjust limitstart accordingly + $limitstart = ($limit != 0 ? (floor($limitstart / $limit) * $limit) : 0); + + $this->setState('limit', $limit); + $this->setState('limitstart', $limitstart); + } + + function getData() { + if (empty($this->_data)) { + $query = $this->_buildQuery(); + $this->_data = $this->_getList($query, $this->getState('limitstart'), $this->getState('limit')); + } + return $this->_data; + } + + function getTotal() { + if (empty($this->_total)) { + $query = $this->_buildQuery(); + $this->_total = $this->_getListCount($query); + } + return $this->_total; + } + + function getPagination() { + if (empty($this->_pagination)) { + jimport('joomla.html.pagination'); + $this->_pagination = new JPagination( $this->getTotal(), $this->getState('limitstart'), $this->getState('limit') ); + } + return $this->_pagination; + } + + function _buildQuery() { + $where = $this->_buildContentWhere(); + $orderby = $this->_buildContentOrderBy(); + + $query = ' SELECT a.*, cc.title AS categorytitle, ag.title AS access_level ' + . ' FROM #__phocadownload AS a ' + . ' LEFT JOIN #__phocadownload_categories AS cc ON cc.id = a.catid ' + //. ' LEFT JOIN #__phocadownload_sections AS s ON s.id = a.sectionid ' + . ' LEFT JOIN #__viewlevels AS ag ON ag.id = a.access ' + . ' LEFT JOIN #__users AS u ON u.id = a.checked_out ' + . $where + . $orderby + ; + + return $query; + } + + function _buildContentOrderBy() { + $app = JFactory::getApplication(); + $filter_order = $app->getUserStateFromRequest( $this->_context.'.filter_order', 'filter_order', 'a.ordering','cmd' ); + $filter_order_Dir = $app->getUserStateFromRequest( $this->_context.'.filter_order_Dir', 'filter_order_Dir', '', 'word' ); + + if ($filter_order == 'a.ordering'){ + $orderby = ' ORDER BY categorytitle, a.ordering '.$filter_order_Dir; + } else { + $orderby = ' ORDER BY '.$filter_order.' '.$filter_order_Dir.', categorytitle, a.ordering '; + } + return $orderby; + } + + function _buildContentWhere() { + $app = JFactory::getApplication(); + $filter_state = $app->getUserStateFromRequest( $this->_context.'.filter_state', 'filter_state', '', 'word' ); + $filter_catid = $app->getUserStateFromRequest( $this->_context.'.catid','catid',0, 'int' ); + //$filter_sectionid = $app->getUserStateFromRequest( $this->_context.'.filter_sectionid', 'filter_sectionid', 0, 'int' ); + $filter_order = $app->getUserStateFromRequest( $this->_context.'.filter_order', 'filter_order', 'a.ordering', 'cmd' ); + $filter_order_Dir = $app->getUserStateFromRequest( $this->_context.'.filter_order_Dir', 'filter_order_Dir', '', 'word' ); + $search = $app->getUserStateFromRequest( $this->_context.'.search','search','','string' ); + $search = JString::strtolower( $search ); + + $where = array(); + + if ($filter_catid > 0) { + $where[] = 'a.catid = '.(int) $filter_catid; + } + if ($search) { + $where[] = 'LOWER(a.title) LIKE '.$this->_db->Quote('%'.$search.'%'); + } + if ( $filter_state ) { + if ( $filter_state == 'P' ) { + $where[] = 'a.published = 1'; + } else if ($filter_state == 'U' ) { + $where[] = 'a.published = 0'; + } + } + + + $where[] = 'a.published = 1'; + $where[] = 'a.approved = 1'; + $where[] = 'a.textonly <> 1'; + + $where = ( count( $where ) ? ' WHERE '. implode( ' AND ', $where ) : '' ); + return $where; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadlog.php b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadlog.php new file mode 100644 index 00000000..4b90887b --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadlog.php @@ -0,0 +1,28 @@ +_db->setQuery( $query ); + if (!$this->_db->query()) { + $this->setError($this->_db->getErrorMsg()); + return false; + } + return true; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadlogs.php b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadlogs.php new file mode 100644 index 00000000..e980c151 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadlogs.php @@ -0,0 +1,194 @@ +getUserStateFromRequest($this->context.'.filter.search', 'filter_search'); + $this->setState('filter.search', $search); +/* + $accessId = $app->getUserStateFromRequest($this->context.'.filter.access', 'filter_access', null, 'int'); + $this->setState('filter.access', $accessId); +*/ + //$state = $app->getUserStateFromRequest($this->context.'.filter.state', 'filter_published', '', 'string'); + // $this->setState('filter.state', $state); +/* + $categoryId = $app->getUserStateFromRequest($this->context.'.filter.category_id', 'filter_category_id', null); + $this->setState('filter.category_id', $categoryId); + + $language = $app->getUserStateFromRequest($this->context.'.filter.language', 'filter_language', ''); + $this->setState('filter.language', $language); +*/ + + $type = $app->getUserStateFromRequest($this->context.'.filter.type', 'filter_type', '', 'string'); + $this->setState('filter.type', $type); + // Load the parameters. + $params = JComponentHelper::getParams('com_phocadownload'); + $this->setState('params', $params); + + // List state information. + parent::populateState('a.date', 'asc'); + } + + protected function getStoreId($id = '') + { + // Compile the store id. + $id .= ':'.$this->getState('filter.search'); + $id .= ':'.$this->getState('filter.type'); + //$id .= ':'.$this->getState('filter.access'); + //$id .= ':'.$this->getState('filter.state'); + + return parent::getStoreId($id); + } + + protected function getListQuery() + { + + // Create a new query object. + $db = $this->getDbo(); + $query = $db->getQuery(true); + + // Select the required fields from the table. + $query->select( + $this->getState( + 'list.select', + 'a.*' + ) + ); + $query->from('#__phocadownload_logging AS a'); + + // Join over the language + //$query->select('l.title AS language_title'); + //$query->join('LEFT', '#__languages AS l ON l.lang_code = a.language'); + + + $query->select('f.id as file_id, f.title as file_title, f.filename as filename'); + $query->join('LEFT', '#__phocadownload AS f ON f.id = a.fileid'); + + $query->select('cc.id as category_id'); + $query->join('LEFT', '#__phocadownload_categories AS cc ON cc.id = f.catid'); + + // Join over the users for the checked out user. + //$query->select('ua.id AS userid, ua.username AS username, ua.name AS usernameno'); + //$query->join('LEFT', '#__users AS ua ON ua.id=a.userid'); + + $query->select('ua.id AS userid, ua.username AS username, ua.name AS usernameno'); + $query->join('LEFT', '#__users AS ua ON ua.id = a.userid'); + + //$query->select('uc.name AS editor'); + //$query->join('LEFT', '#__users AS uc ON uc.id=f.checked_out'); + + + + + +/* // Join over the asset groups. + $query->select('ag.title AS access_level'); + $query->join('LEFT', '#__viewlevels AS ag ON ag.id = a.access'); +*/ + + // Filter by access level. + /* if ($access = $this->getState('filter.access')) { + $query->where('a.access = '.(int) $access); + }*/ + + // Filter by published state. + /*$published = $this->getState('filter.state'); + if (is_numeric($published)) { + $query->where('a.published = '.(int) $published); + } + else if ($published === '') { + $query->where('(a.published IN (0, 1))'); + }*/ + + + // Filter by published type. + $type = $this->getState('filter.type'); + + if (is_numeric($type)) { + $query->where('a.type = '.(int) $type); + + } + else if ($type === '') { + $query->where('(a.type IN (1, 2))'); + + } + + + // Filter by category. + /*$categoryId = $this->getState('filter.category_id'); + if (is_numeric($categoryId)) { + $query->where('a.catid = ' . (int) $categoryId); + }*/ + + // Filter by search in title + $search = $this->getState('filter.search'); + if (!empty($search)) + { + if (stripos($search, 'id:') === 0) { + $query->where('a.id = '.(int) substr($search, 3)); + } + else + { + $search = $db->Quote('%'.$db->escape($search, true).'%'); + $query->where('( ua.username LIKE '.$search.' OR ua.name LIKE '.$search.' OR f.title LIKE '.$search.' OR f.filename LIKE '.$search.' or a.ip LIKE '.$search.')'); + } + } + + //$query->group('a.id'); + + // Add the list ordering clause. + $orderCol = $this->state->get('list.ordering', 'date'); + $orderDirn = $this->state->get('list.direction', 'asc'); + + + if ($orderCol == 'a.id' || $orderCol == 'username') { + $orderCol = 'username '.$orderDirn.', a.id'; + } + $query->order($db->escape($orderCol.' '.$orderDirn)); + + //echo nl2br(str_replace('#__', 'jos_', $query->__toString())); + return $query; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadm.php b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadm.php new file mode 100644 index 00000000..772929b6 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadm.php @@ -0,0 +1,514 @@ +fileCount = 0; + $this->categoryCount = 0; + parent::__construct(); + } + + function setFileCount($count) { + $this->fileCount = $this->fileCount + $count; + } + + function setCategoryCount($count) { + $this->categoryCount = $this->categoryCount + $count; + } + + function save($data) { + + $app = JFactory::getApplication(); + + $post = JRequest::get('post'); + $data = JRequest::getVar('jform', array(0), 'post', 'array'); + + // ================================================= + // Make a copy for play and preview + $paramsC = JComponentHelper::getParams('com_phocadownload') ; + $papCopy = $paramsC->get( 'pap_copy', 0 ); + $data['pap_copy_m'] = 0; + if ($papCopy == 2 || $papCopy == 3) { + $data['pap_copy_m'] = 1; + } + // ================================================= + + + if(isset($post['foldercid'])) { + $data['foldercid'] = $post['foldercid']; + } + if(isset($post['cid'])) { + $data['cid'] = $post['cid']; + } + + if (isset($data['catid']) && (int)$data['catid'] > 0) { + $data['catid'] = (int)$data['catid']; + } else { + $data['catid'] = 0; + } + + //Get folder variables from Helper + $path = PhocaDownloadPath::getPathSet(); + $origPath = $path['orig_abs_ds']; + $origPathServer = str_replace(DS, '/', JPath::clean($path['orig_abs_ds'])); + + + + // Cache all existing categories + $query = 'SELECT id, title, parent_id' + . ' FROM #__phocadownload_categories' ; + $this->_db->setQuery( $query ); + $existingCategories = $this->_db->loadObjectList() ; + + // Cache all existing files + $query = 'SELECT catid, filename' + . ' FROM #__phocadownload'; + $this->_db->setQuery( $query ); + $existingFiles = $this->_db->loadObjectList() ; + + $result = new StdClass(); + $result->category_count = 0; + $result->image_count = 0; + + + + // Category will be saved - Files will be saved in recursive function + if (isset($data['foldercid'])) { + foreach ($data['foldercid'] as $foldername) { + if (strlen($foldername) > 0) { + $fullPath = $path['orig_abs_ds'].$foldername; + + $result = $this->_createCategoriesRecursive( $origPathServer, $fullPath, $existingCategories, $existingFiles, $data['catid'], $data ); + } + } + } + + // Only Files will be saved + + if (isset($data['cid'])) { + + // Make a copy for play and preview (1) -------- + if (isset($data['pap_copy_m']) && $data['pap_copy_m'] == 1) { + //$paramsC = JComponentHelper::getParams('com_phocadownload') ; + $overwriteExistingFiles = $paramsC->get( 'overwrite_existing_files', 0 ); + } + // ------------------------------------------------ + + foreach ($data['cid'] as $filename) { + if ($filename) { + //$ext = strtolower(JFile::getExt($filename)); + $row = $this->getTable('phocadownload'); + + $datam = array(); + $datam['published'] = $data['published']; + $datam['catid'] = $data['catid']; + $datam['approved'] = $data['approved']; + $datam['language'] = $data['language']; + $datam['filename'] = $filename; + + + if ($data['title'] != '') { + $datam['title'] = $data['title']; + } else { + $datam['title'] = PhocaDownloadFile::getTitleFromFilenameWithoutExt($filename); + } + + if ($data['alias'] != '') { + $datam['alias'] = $data['alias']; + } else { + $datam['alias'] = $data['alias']; // PhocaDownloadFile::getAliasName($datam['title']); + } + $datam['token'] = PhocaDownloadUtils::getToken($datam['title'].$datam['filename']); + // Make a copy for play and preview (2) + if (isset($data['pap_copy_m']) && $data['pap_copy_m'] == 1) { + $filenameExt = PhocaDownloadFile::getTitleFromFilenameWithExt($filename); + $storedfilename = $filename; + $storedfoldername = str_replace($filenameExt, '', $storedfilename); + $o = $this->_copyPreviewAndPlay($filenameExt, $storedfilename, $storedfoldername, $path, $overwriteExistingFiles); + $datam['filename_play'] = $o['filename_play']; + $datam['filename_preview'] = $o['filename_preview']; + } + + // Save + // Bind the form fields to the Phoca download table + if (!$row->bind($datam)) { + $this->setError($this->_db->getErrorMsg()); + return false; + } + + // Create the timestamp for the date + $row->date = gmdate('Y-m-d H:i:s'); + + // if new item, order last in appropriate group + + if (!$row->id) { + $where = 'catid = ' . (int) $row->catid ; + $row->ordering = $row->getNextOrder( $where ); + } + + + // Make sure the Phoca download table is valid + if (!$row->check()) { + $this->setError($this->_db->getErrorMsg()); + return false; + } + + // Store the Phoca download table to the database + if (!$row->store()) { + $this->setError($this->_db->getErrorMsg()); + return false; + } + $result->image_count++; + + } + } + $this->setfileCount($result->image_count); + + } + + $msg = $this->categoryCount. ' ' .JText::_('COM_PHOCADOWNLOAD_CATEGORIES_ADDED') .', '.$this->fileCount. ' ' . JText::_('COM_PHOCADOWNLOAD_FILES_ADDED'); + $app->enqueueMessage($msg); + $app->redirect(JRoute::_('index.php?option=com_phocadownload&view=phocadownloadfiles', false)); + + return true; + + } + + protected function _createCategoriesRecursive(&$origPathServer, $path, &$existingCategories, &$existingFiles, $parentId = 0, $data = array() ) { + + $totalresult = new StdClass(); + $totalresult->files_count = 0 ; + $totalresult->category_count = 0 ; + $totalresult->image_count = 0 ; + + $categoryName = basename($path); + $id = $this->_getCategoryId( $existingCategories, $categoryName, $parentId ) ; + $category = null; + + // Full path: eg. "/home/www/joomla/files/categ/subcat/" + $fullPath = str_replace(DS, '/', JPath::clean(DS . $path)); + // Relative path eg "categ/subcat" + $relativePath = str_replace($origPathServer, '', $fullPath); + + // Category doesn't exist + if ( $id == -1 ) { + $row = $this->getTable('phocadownloadcat'); + + $row->published = $data['published']; + // $row->approved = $data['approved']; + $row->language = $data['language']; + $row->parent_id = $parentId; + $row->title = $categoryName; + + // Create the timestamp for the date + $row->date = gmdate('Y-m-d H:i:s'); + // $row->alias = $row->title; //PhocaDownloadFile::getAliasName($categoryName); + //$row->userfolder = ltrim(str_replace(DS, '/', JPath::clean($relativePath )), '/'); + $row->ordering = $row->getNextOrder( "parent_id = " . $this->_db->Quote($row->parent_id) ); + + if (!$row->check()) { + JError::raiseError(500, $row->getError('Check Problem') ); + } + + if (!$row->store()) { + JError::raiseError(500, $row->getError('Store Problem') ); + } + + $category = new JObject(); + $category->title = $categoryName ; + $category->parent_id = $parentId; + $category->id = $row->id; + $totalresult->category_count++; + $id = $category->id; + $existingCategories[] = &$category ; + $this->setCategoryCount(1);//This subcategory was added + } + + + + // Add all files from this folder + $totalresult->image_count += $this->_addAllFilesFromFolder( $existingFiles, $id, $path, $relativePath, $data ); + $this->setfileCount($totalresult->image_count); + + // Do sub folders + $parentId = $id; + $folderList = JFolder::folders( $path, $filter = '.', $recurse = false, $fullpath = true, $exclude = array() ); + // Iterate over the folders if they exist + if ($folderList !== false) { + foreach ($folderList as $folder) { + //$this->setCategoryCount(1);//This subcategory was added + $folderName = $relativePath .'/' . str_replace($origPathServer, '', $folder); + $result = $this->_createCategoriesRecursive( $origPathServer, $folder, $existingCategories, $existingFiles, $id , $data); + $totalresult->image_count += $result->image_count ; + $totalresult->category_count += $result->category_count ; + } + } + return $totalresult ; + } + + protected function _getCategoryId( &$existingCategories, &$title, $parentId ) { + $id = -1; + $i = 0; + $count = count($existingCategories); + while ( $id == -1 && $i < $count ) { + + if ( $existingCategories[$i]->title == $title && + $existingCategories[$i]->parent_id == $parentId ) { + $id = $existingCategories[$i]->id ; + } + $i++; + } + return $id; + } + + protected function _FileExist( &$existing_image, &$filename, $catid ) { + $result = false ; + $i = 0; + $count = count($existing_image); + + while ( $result == false && $i < $count ) { + if ( $existing_image[$i]->filename == $filename && + $existing_image[$i]->catid == $catid ) { + $result = true; + } + $i++; + } + return $result; + } + + protected function _addAllFilesFromFolder(&$existingImages, $category_id, $fullPath, $rel_path, $data = array()) { + $count = 0; + $fileList = JFolder::files( $fullPath ); + natcasesort($fileList); + // Iterate over the files if they exist + //file - abc.img, file_no - folder/abc.img + + // Make a copy for play and preview (1) -------- + if (isset($data['pap_copy_m']) && $data['pap_copy_m'] == 1) { + $path = PhocaDownloadPath::getPathSet(); + $storedfoldername = ltrim(str_replace(DS, '/', JPath::clean($rel_path )), '/'); + $paramsC = JComponentHelper::getParams('com_phocadownload') ; + $overwriteExistingFiles = $paramsC->get( 'overwrite_existing_files', 0 ); + } + // ------------------------------------------------ + + if ($fileList !== false) { + foreach ($fileList as $filename) { + $storedfilename = ltrim(str_replace(DS, '/', JPath::clean($rel_path . DS . $filename )), '/'); + + //$ext = strtolower(JFile::getExt($filename)); + + if (JFile::exists($fullPath.DS.$filename) && + substr($filename, 0, 1) != '.' && + strtolower($filename) !== 'index.html' && + !$this->_FileExist($existingImages, $storedfilename, $category_id) ) { + + $row = $this->getTable('phocadownload'); + + $datam = array(); + $datam['published'] = $data['published']; + $datam['catid'] = $category_id; + $datam['filename'] = $storedfilename; + $datam['approved'] = $data['approved']; + $datam['language'] = $data['language']; + + if ($data['title'] != '') { + $datam['title'] = $data['title']; + } else { + $datam['title'] = PhocaDownloadFile::getTitleFromFilenameWithoutExt($filename); + } + + if ($data['alias'] != '') { + $datam['alias'] = $data['alias']; + } else { + $datam['alias'] = $data['alias'];//PhocaDownloadFile::get AliasName($datam['title']); + } + $datam['token'] = PhocaDownloadUtils::getToken($datam['title'].$datam['filename']); + + $image = new JObject(); + + // Make a copy for play and preview (2) + if (isset($data['pap_copy_m']) && $data['pap_copy_m'] == 1) { + $o = $this->_copyPreviewAndPlay($filename, $storedfilename, $storedfoldername, $path, $overwriteExistingFiles); + $datam['filename_play'] = $o['filename_play']; + $datam['filename_preview'] = $o['filename_preview']; + } + + + // Save + // Bind the form fields to the Phoca download table + if (!$row->bind($datam)) { + $this->setError($this->_db->getErrorMsg()); + return false; + } + + // Create the timestamp for the date + $row->date = gmdate('Y-m-d H:i:s'); + + // if new item, order last in appropriate group + if (!$row->id) { + $where = 'catid = ' . (int) $row->catid ; + $row->ordering = $row->getNextOrder( $where ); + } + + // Make sure the Phoca download table is valid + if (!$row->check()) { + $this->setError($this->_db->getErrorMsg()); + return false; + } + + // Store the Phoca download table to the database + if (!$row->store()) { + $this->setError($this->_db->getErrorMsg()); + return false; + } + // -------------------------------------------- + + /*if ($this->firstImageFolder == '') { + $this->setFirstImageFolder($row->filename); + }*/ + + $image->filename = $storedfilename; + $image->catid = $category_id; + + $existingImages[] = &$image ; + $count++ ; + + } + + } + } + + // $this->setfileCount($count); + return $count; + } + + protected function _copyPreviewAndPlay($filename, $storedfilename, $storedfoldername, $path, $overwriteExistingFiles) { + + $o['filename_play'] = ''; + $o['filename_preview'] = ''; + $canPlay = PhocaDownloadFile::canPlay($filename); + $canPreview = PhocaDownloadFile::canPreview($filename); + $filepathPAP = JPath::clean($path['orig_abs_pap_ds']. $storedfilename); + //$filepathUserFolderPAP = JPath::clean($path['orig_abs_pap_ds']. $storedfoldername); + $filepath = JPath::clean($path['orig_abs_ds']. $storedfilename); + $filepathPAPFolder = JPath::clean($path['orig_abs_pap_ds'] . DS. PhocaDownloadFile::getFolderFromTheFile($storedfilename)); + + if ($canPlay || $canPreview) { + + $uploadPAP = 1;// upload file for preview and play + if (JFile::exists($filepathPAP) && $overwriteExistingFiles == 0) { + //$errUploadMsg = JText::_("COM_PHOCADOWNLOAD_FILE_ALREADY_EXISTS"); + //return false; + $uploadPAP = 0; // don't upload if it exists, it is not main file, don't do false and exit + + if ($canPlay == 1) { + $o['filename_play'] = $storedfilename; + } else if ($canPreview == 1) { + $o['filename_preview'] = $storedfilename; + } + } + + // Overwrite file and add no new item to database + $fileExistsPAP = 0; + if (JFile::exists($filepathPAP) && $overwriteExistingFiles == 1) { + $fileExistsPAP = 1; + if ($canPlay == 1) { + $o['filename_play'] = $storedfilename; + } else if ($canPreview == 1) { + $o['filename_preview'] = $storedfilename; + } + } + + if ($uploadPAP == 0) { + + } else { + + // First create folder if not exists + if (!JFolder::exists($filepathPAPFolder)) { + if (JFolder::create($filepathPAPFolder)) { + $data = "\n\n\n"; + JFile::write($filepathPAPFolder . DS ."index.html", $data); + } + // else { + //$errUploadMsg = JText::_("COM_PHOCADOWNLOAD_UNABLE_TO_CREATE_FOLDER"); + //return false; + //} + } + + if (!JFile::copy($filepath, $filepathPAP)) { + + //$errUploadMsg = JText::_("COM_PHOCADOWNLOAD_UNABLE_TO_UPLOAD_FILE"); + //return false; + } else { + // Saving file name into database with relative path + /*if (!JFile::exists($filepathUserFolderPAP . DS ."index.html")) { + $data = "\n\n\n"; + JFile::write($filepathUserFolderPAP . DS ."index.html", $data); + }*/ + + if ($canPlay == 1) { + //$image->filename_play = $storedfilename; + $o['filename_play'] = $storedfilename; + } else if ($canPreview == 1) { + //$image->filename_preview = $storedfilename; + $o['filename_preview'] = $storedfilename; + } + } + } + } + return $o; + } + + + public function getForm($data = array(), $loadData = true) { + + $form = $this->loadForm('com_phocadownload.phocadownloadmanager', 'phocadownloadmanager', array('control' => 'jform', 'load_data' => $loadData)); + if (empty($form)) { + return false; + } + return $form; + } + + public function getTable($type = 'PhocaDownload', $prefix = 'Table', $config = array()) + { + return JTable::getInstance($type, $prefix, $config); + } + + + + protected function loadFormData() + { + // Check the session for previously entered form data. + $data = JFactory::getApplication()->getUserState('com_phocadownloadm.edit.phocadownloadm.data', array()); + + if (empty($data)) { + $data = $this->getItem(); + } + + return $data; + } + +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadmanager.php b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadmanager.php new file mode 100644 index 00000000..914a009b --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadmanager.php @@ -0,0 +1,168 @@ +loadForm('com_phocadownload.phocadownloadmanager', 'phocadownloadmanager', array('control' => 'jform', 'load_data' => $loadData)); + if (empty($form)) { + return false; + } + return $form; + } + + protected function loadFormData() + { + // Check the session for previously entered form data. + $data = JFactory::getApplication()->getUserState('com_phocadownloadm.edit.phocadownloadm.data', array()); + + if (empty($data)) { + $data = $this->getItem(); + } + + return $data; + } + + function getFolderState($property = null) { + static $set; + + if (!$set) { + $folder = JRequest::getVar( 'folder', '', '', 'path' ); + $upload = JRequest::getVar( 'upload', '', '', 'int' ); + $manager = JRequest::getVar( 'manager', '', '', 'path' ); + + $this->setState('folder', $folder); + $this->setState('manager', $manager); + + $parent = str_replace("\\", "/", dirname($folder)); + $parent = ($parent == '.') ? null : $parent; + $this->setState('parent', $parent); + + $set = true; + } + return parent::getState($property); + } + + function getFiles() { + $list = $this->getList(); + return $list['files']; + } + + function getFolders() { + $list = $this->getList(); + return $list['folders']; + } + + function getList() { + static $list; + + //Params + $params = JComponentHelper::getParams( 'com_phocadownload' ); + + // Only process the list once per request + if (is_array($list)) { + return $list; + } + + // Get current path from request + $current = $this->getState('folder'); + + // If undefined, set to empty + if ($current == 'undefined') { + $current = ''; + } + + // File Manager, Icon Manager + $manager = $this->getState('manager'); + if ($manager == 'undefined') { + $manager = ''; + } + $path = PhocaDownloadPath::getPathSet($manager); + $group = PhocaDownloadSettings::getManagerGroup($manager); + + //$path = PhocaDownloadPath::getPathSet(); + + // Initialize variables + if (strlen($current) > 0) { + $orig_path = $path['orig_abs_ds'].$current; + } else { + $orig_path = $path['orig_abs_ds']; + } + $orig_path_server = str_replace(DS, '/', $path['orig_abs'] .'/'); + + + // Absolute Path defined by user + $absolutePath = $params->get('absolute_path', ''); + $absolutePath = str_replace(DS, '/', $absolutePath); + // Be aware - absolute path is not set for images folder and for preview and play folder - see documentation + if ($absolutePath != '' && $group['f'] == 1) { + $orig_path_server = str_replace(DS, '/', JPath::clean($absolutePath .'/') );//$absolutePath ; + } + + $files = array (); + $folders = array (); + + // Get the list of files and folders from the given folder + $file_list = JFolder::files($orig_path); + $folder_list = JFolder::folders($orig_path, '', false, false, array()); + + // Iterate over the files if they exist + //file - abc.img, file_no - folder/abc.img + if ($file_list !== false) { + foreach ($file_list as $file) { + if (is_file($orig_path.DS.$file) && substr($file, 0, 1) != '.' && strtolower($file) !== 'index.html') { + $tmp = new JObject(); + $tmp->name = basename($file); + $tmp->path_with_name = str_replace(DS, '/', JPath::clean($orig_path . DS . $file)); + $tmp->path_without_name_relative= $path['orig_rel_ds'] . str_replace($orig_path_server, '', $tmp->path_with_name); + + $tmp->path_with_name = str_replace(DS, '/', JPath::clean($orig_path . DS . $file)); + $tmp->path_with_name_relative_no= str_replace($orig_path_server, '', $tmp->path_with_name); + + $files[] = $tmp; + + } + } + } + + // Iterate over the folders if they exist + if ($folder_list !== false) { + foreach ($folder_list as $folder) + { + $tmp = new JObject(); + $tmp->name = basename($folder); + $tmp->path_with_name = str_replace(DS, '/', JPath::clean($orig_path . DS . $folder)); + $tmp->path_without_name_relative= $path['orig_rel_ds'] . str_replace($orig_path_server, '', $tmp->path_with_name); + $tmp->path_with_name_relative_no= str_replace($orig_path_server, '', $tmp->path_with_name); + + $folders[] = $tmp; + } + } + + $list = array('folders' => $folders, 'files' => $files); + return $list; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadrafile.php b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadrafile.php new file mode 100644 index 00000000..ef55f717 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadrafile.php @@ -0,0 +1,252 @@ +getUserStateFromRequest($this->context.'.filter.search', 'filter_search'); + $this->setState('filter.search', $search); +/* + $accessId = $app->getUserStateFromRequest($this->context.'.filter.access', 'filter_access', null, 'int'); + $this->setState('filter.access', $accessId); + + $state = $app->getUserStateFromRequest($this->context.'.filter.state', 'filter_published', '', 'string'); + $this->setState('filter.state', $state); +*/ + $categoryId = $app->getUserStateFromRequest($this->context.'.filter.category_id', 'filter_category_id', null); + $this->setState('filter.category_id', $categoryId); +/* + $language = $app->getUserStateFromRequest($this->context.'.filter.language', 'filter_language', ''); + $this->setState('filter.language', $language); +*/ + // Load the parameters. + $params = JComponentHelper::getParams('com_phocadownload'); + $this->setState('params', $params); + + // List state information. + parent::populateState('uc.username', 'asc'); + } + + protected function getStoreId($id = '') + { + // Compile the store id. + $id .= ':'.$this->getState('filter.search'); + //$id .= ':'.$this->getState('filter.access'); + //$id .= ':'.$this->getState('filter.state'); + $id .= ':'.$this->getState('filter.category_id'); + + return parent::getStoreId($id); + } + + protected function getListQuery() + { + /* + $query = ' SELECT a.*, cc.title AS categorytitle, cc.id AS categoryid, i.title AS imagetitle, i.id AS imageid, ua.name AS editor, u.id AS ratinguserid, u.username AS ratingusername ' + . ' FROM #__phocadownload_file_votes AS a ' + . ' LEFT JOIN #__phocadownload AS i ON i.id = a.imgid ' + . ' LEFT JOIN #__phocadownload_categories AS cc ON cc.id = i.catid ' + . ' LEFT JOIN #__users AS ua ON ua.id = a.checked_out ' + . ' LEFT JOIN #__users AS u ON u.id = a.userid' + . $where + . ' GROUP by a.id' + . $orderby; + */ + + // Create a new query object. + $db = $this->getDbo(); + $query = $db->getQuery(true); + + // Select the required fields from the table. + $query->select( + $this->getState( + 'list.select', + 'a.*' + ) + ); + $query->from('`#__phocadownload_file_votes` AS a'); + + // Join over the language + $query->select('l.title AS language_title'); + $query->join('LEFT', '`#__languages` AS l ON l.lang_code = a.language'); + + // Join over the users for the checked out user. + $query->select('ua.id AS ratinguserid, ua.username AS ratingusername, ua.name AS ratingname'); + $query->join('LEFT', '#__users AS ua ON ua.id=a.userid'); + + $query->select('uc.name AS editor'); + $query->join('LEFT', '#__users AS uc ON uc.id=a.checked_out'); + + $query->select('i.title AS file_title, i.id AS file_id'); + $query->join('LEFT', '#__phocadownload AS i ON i.id = a.fileid'); + +/* // Join over the asset groups. + $query->select('ag.title AS access_level'); + $query->join('LEFT', '#__viewlevels AS ag ON ag.id = a.access'); +*/ + // Join over the categories. + $query->select('c.title AS category_title, c.id AS category_id'); + $query->join('LEFT', '#__phocadownload_categories AS c ON c.id = i.catid'); + + // Filter by access level. + /* if ($access = $this->getState('filter.access')) { + $query->where('a.access = '.(int) $access); + }*/ + + // Filter by published state. + $published = $this->getState('filter.state'); + if (is_numeric($published)) { + $query->where('a.published = '.(int) $published); + } + else if ($published === '') { + $query->where('(a.published IN (0, 1))'); + } + + // Filter by category. + $categoryId = $this->getState('filter.category_id'); + if (is_numeric($categoryId)) { + $query->where('i.catid = ' . (int) $categoryId); + } + + // Filter by search in title + $search = $this->getState('filter.search'); + if (!empty($search)) + { + if (stripos($search, 'id:') === 0) { + $query->where('a.id = '.(int) substr($search, 3)); + } + else + { + $search = $db->Quote('%'.$db->escape($search, true).'%'); + $query->where('( ua.name LIKE '.$search.' OR ua.username LIKE '.$search.')'); + } + } + + $query->group('a.id'); + + // Add the list ordering clause. + //$orderCol = $this->state->get('list.ordering'); + //$orderDirn = $this->state->get('list.direction'); + $orderCol = $this->state->get('list.ordering', 'file_title'); + $orderDirn = $this->state->get('list.direction', 'asc'); + if ($orderCol == 'a.ordering' || $orderCol == 'category_title') { + $orderCol = 'category_title '.$orderDirn.', a.ordering'; + } + $query->order($db->escape($orderCol.' '.$orderDirn)); + + //echo nl2br(str_replace('#__','jos_',$query)); + return $query; + } + + + function delete($cid = array()) { + + if (count( $cid )) { + JArrayHelper::toInteger($cid); + $cids = implode( ',', $cid ); + + //Select affected catids + $query = 'SELECT v.fileid AS imgid' + . ' FROM #__phocadownload_file_votes AS v' + . ' WHERE v.id IN ( '.$cids.' )'; + $images = $this->_getList($query); + + //Delete it from DB + $query = 'DELETE FROM #__phocadownload_file_votes' + . ' WHERE id IN ( '.$cids.' )'; + $this->_db->setQuery( $query ); + if(!$this->_db->query()) { + $this->setError($this->_db->getErrorMsg()); + return false; + } + + foreach ($images as $valueImgId) { + $updated = PhocaDownloadRateHelper::updateVoteStatisticsFile( $valueImgId->imgid ); + if(!$updated) { + return false; + } + } + } + return true; + } + + protected function prepareTable(&$table) + { + jimport('joomla.filter.output'); + $date = JFactory::getDate(); + $user = JFactory::getUser(); + + $table->title = htmlspecialchars_decode($table->title, ENT_QUOTES); + $table->alias = JApplication::stringURLSafe($table->alias); + + if (empty($table->alias)) { + $table->alias = JApplication::stringURLSafe($table->title); + } + + if (empty($table->id)) { + // Set the values + //$table->created = $date->toSql(); + + // Set ordering to the last item if not set + if (empty($table->ordering)) { + $db = JFactory::getDbo(); + $db->setQuery('SELECT MAX(ordering) FROM #__phocadownload_file_votes'); + $max = $db->loadResult(); + + $table->ordering = $max+1; + } + } + else { + // Set the values + //$table->modified = $date->toSql(); + //$table->modified_by = $user->get('id'); + } + } + + public function saveorder($pks, $order) { + return true; + } + +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadstat.php b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadstat.php new file mode 100644 index 00000000..098101f8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadstat.php @@ -0,0 +1,248 @@ +getUserStateFromRequest($this->context.'.filter.search', 'filter_search'); + $this->setState('filter.search', $search); + + + + $state = $app->getUserStateFromRequest($this->context.'.filter.state', 'filter_published', '', 'string'); + + $this->setState('filter.state', $state); + + $categoryId = $app->getUserStateFromRequest($this->context.'.filter.category_id', 'filter_category_id', null); + $this->setState('filter.category_id', $categoryId); + + + + // Load the parameters. + $params = JComponentHelper::getParams('com_phocadownload'); + $this->setState('params', $params); + + // List state information. + //parent::populateState('uc.name', 'asc'); + parent::populateState('a.hits', 'desc'); + } + + protected function getStoreId($id = '') + { + // Compile the store id. + $id .= ':'.$this->getState('filter.search'); + $id .= ':'.$this->getState('filter.access'); + $id .= ':'.$this->getState('filter.state'); + $id .= ':'.$this->getState('filter.category_id'); + $id .= ':'.$this->getState('filter.file_id'); + + return parent::getStoreId($id); + } + + + protected function getListQuery() + { + /* + $query = ' SELECT a.*, cc.title AS categorytitle, s.title AS sectiontitle, u.name AS editor, g.name AS groupname, MAX(a.hits) AS maxhit ' + . ' FROM #__phocadownload AS a ' + . ' LEFT JOIN #__phocadownload_categories AS cc ON cc.id = a.catid ' + . ' LEFT JOIN #__phocadownload_sections AS s ON s.id = a.sectionid ' + . ' LEFT JOIN #__groups AS g ON g.id = a.access ' + . ' LEFT JOIN #__users AS u ON u.id = a.checked_out ' + . $where + . ' GROUP by a.id' + . $orderby + */ + // Create a new query object. + $db = $this->getDbo(); + $query = $db->getQuery(true); + + // Select the required fields from the table. + $query->select( + $this->getState( + 'list.select', + 'a.*' + ) + ); + $query->from('`#__phocadownload` AS a'); + + // Join over the language + //$query->select('l.title AS language_title'); + //$query->join('LEFT', '`#__languages` AS l ON l.lang_code = a.language'); + + // Join over the users for the checked out user. + + + $query->select('uc.name AS editor'); + $query->join('LEFT', '#__users AS uc ON uc.id=a.checked_out'); + + + + // Join over the asset groups. + //$query->select('ag.title AS access_level'); + //$query->join('LEFT', '#__viewlevels AS ag ON ag.id = a.access'); + + // Join over the categories. + $query->select('c.title AS category_title, c.id AS category_id'); + $query->join('LEFT', '#__phocadownload_categories AS c ON c.id = a.catid'); + + //$query->select('ua.id AS userid, ua.username AS username, ua.name AS usernameno'); + //$query->join('LEFT', '#__users AS ua ON ua.id = a.owner_id'); + + //$query->select('v.average AS ratingavg'); + //$query->join('LEFT', '#__phocadownload_img_votes_statistics AS v ON v.imgid = a.id'); + + // Filter by access level. + //if ($access = $this->getState('filter.access')) { + // $query->where('a.access = '.(int) $access); + //} + + // Filter by published state. + $published = $this->getState('filter.state'); + if (is_numeric($published)) { + $query->where('a.published = '.(int) $published); + } + else if ($published === '') { + $query->where('(a.published IN (0, 1))'); + } + + // Filter by category. + $categoryId = $this->getState('filter.category_id'); + if (is_numeric($categoryId)) { + $query->where('a.catid = ' . (int) $categoryId); + } + + // Filter by search in title + $search = $this->getState('filter.search'); + if (!empty($search)) + { + if (stripos($search, 'id:') === 0) { + $query->where('a.id = '.(int) substr($search, 3)); + } + else + { + $search = $db->Quote('%'.$db->escape($search, true).'%'); + $query->where('( a.title LIKE '.$search.' OR a.filename LIKE '.$search.')'); + } + } + + //$query->group('a.id'); + + // Add the list ordering clause. + $orderCol = $this->state->get('list.ordering'); + $orderDirn = $this->state->get('list.direction'); + if ($orderCol == 'a.ordering' || $orderCol == 'category_title') { + $orderCol = 'category_title '.$orderDirn.', a.ordering'; + } + $query->order($db->escape($orderCol.' '.$orderDirn)); + + //echo nl2br(str_replace('#__', 'jos_', $query->__toString())); + return $query; + } + + function getMaxAndSum() { + + $db = $this->getDbo(); + $query = $db->getQuery(true); + + $query->select( + $this->getState( + 'list.select', + 'MAX(a.hits) AS maxhit, SUM(a.hits) AS sumhit' + ) + ); + + $query->from('`#__phocadownload` AS a'); + + $query->select('uc.name AS editor'); + $query->join('LEFT', '#__users AS uc ON uc.id=a.checked_out'); + + //$query->select('c.title AS category_title, c.id AS category_id'); + //$query->join('LEFT', '#__phocadownload_categories AS c ON c.id = a.catid'); + + // Filter by published state. + $published = $this->getState('filter.state'); + if (is_numeric($published)) { + $query->where('a.published = '.(int) $published); + } + else if ($published === '') { + $query->where('(a.published IN (0, 1))'); + } + + // Filter by category. + $categoryId = $this->getState('filter.category_id'); + if (is_numeric($categoryId)) { + $query->where('a.catid = ' . (int) $categoryId); + } + + // Filter by search in title + $search = $this->getState('filter.search'); + if (!empty($search)) + { + if (stripos($search, 'id:') === 0) { + $query->where('a.id = '.(int) substr($search, 3)); + } + else + { + $search = $db->Quote('%'.$db->escape($search, true).'%'); + $query->where('a.title LIKE '.$search.' OR a.filename LIKE '.$search); + } + } + + //$query->group('a.id'); + + // Add the list ordering clause. + $orderCol = $this->state->get('list.ordering'); + $orderDirn = $this->state->get('list.direction'); + if ($orderCol == 'a.ordering' || $orderCol == 'category_title') { + $orderCol = 'category_title '.$orderDirn.', a.ordering'; + } + $query->order($db->escape($orderCol.' '.$orderDirn)); + + $db->setQuery($query, 0, 1); + $maxAndSum = $db->loadObject(); + + //echo nl2br(str_replace('#__', 'jos_', $query->__toString())); + return $maxAndSum; + + } + + +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadstyle.php b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadstyle.php new file mode 100644 index 00000000..67994977 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadstyle.php @@ -0,0 +1,278 @@ +loadForm('com_phocadownload.phocadownloadstyles', 'phocadownloadstyle', array('control' => 'jform', 'load_data' => $loadData)); + if (empty($form)) { + return false; + } + return $form; + } + + protected function loadFormData() + { + // Check the session for previously entered form data. + $data = JFactory::getApplication()->getUserState('com_phocadownload.edit.phocadownloadstyles.data', array()); + + if (empty($data)) { + $data = $this->getItem(); + } + + return $data; + } + + protected function prepareTable($table) + { + jimport('joomla.filter.output'); + $date = JFactory::getDate(); + $user = JFactory::getUser(); + + $table->title = htmlspecialchars_decode($table->title, ENT_QUOTES); + $table->alias = JApplication::stringURLSafe($table->alias); + + if (empty($table->alias)) { + $table->alias = JApplication::stringURLSafe($table->title); + } + + if (empty($table->id)) { + // Set the values + //$table->created = $date->toSql(); + + // Set ordering to the last item if not set + if (empty($table->ordering)) { + $db = JFactory::getDbo(); + $db->setQuery('SELECT MAX(ordering) FROM #__phocadownload_styles WHERE type = '.(int)$table->type); + $max = $db->loadResult(); + + $table->ordering = $max+1; + } + } + else { + // Set the values + //$table->modified = $date->toSql(); + //$table->modified_by = $user->get('id'); + } + } + + protected function getReorderConditions($table = null) + { + $condition = array(); + $condition[] = 'type = '. (int) $table->type; + //$condition[] = 'state >= 0'; + return $condition; + } + + public function increaseOrdering($categoryId) { + + $ordering = 1; + $this->_db->setQuery('SELECT MAX(ordering) FROM #__phocadownload_styles WHERE type='.(int)$categoryId); + $max = $this->_db->loadResult(); + $ordering = $max + 1; + return $ordering; + } + + public function &getSource($id, $filename, $type) { + $item = new stdClass; + + $filePath = PhocaDownloadFile::existsCSS($filename, $type); + if ($filePath) { + //$item->id = $id; + //$item->type = $type; + //$item->filname = $filename; + $item->source = file_get_contents($filePath); + } else { + $this->setError(JText::_('COM_PHOCADOWNLOAD_FILE_DOES_NOT_EXIST')); + } + return $item; + } + + public function save($data) { + jimport('joomla.filesystem.file'); + + // New + if ($data['id'] < 1) { + $data['type'] = 2;// Custom in every case + if ($data['title'] != '') { + $filename = JApplication::stringURLSafe($data['title']); + + if (trim(str_replace('-','',$filename)) == '') { + $filename = JFactory::getDate()->toFormat("%Y-%m-%d-%H-%M-%S"); + } + } else { + $filename = JFactory::getDate()->toFormat("%Y-%m-%d-%H-%M-%S"); + } + $filename = $filename . '.css'; + $data['filename'] = $filename; + + $filePath = PhocaDownloadFile::existsCSS($filename, $data['type']); + if ($filePath) { + $this->setError(JText::sprintf('COM_PHOCADOWNLOAD_FILE_ALREADY_EXISTS', $fileName)); + return false; + } else { + $filePath = PhocaDownloadFile::getCSSPath($data['type']) . $filename; + } + } else { + + $filename = PhocaDownloadFile::getCSSFile($data['id']); + + $filePath = PhocaDownloadFile::existsCSS($filename, $data['type']); + } + + //$dispatcher = JEventDispatcher::getInstance(); + $fileName = $filename; + + + // Include the extension plugins for the save events. + //JPluginHelper::importPlugin('extension'); + + // Set FTP credentials, if given. + JClientHelper::setCredentialsFromRequest('ftp'); + $ftp = JClientHelper::getCredentials('ftp'); + + // Try to make the template file writeable. + if (!$ftp['enabled'] && JPath::isOwner($filePath) && !JPath::setPermissions($filePath, '0644')) { + $this->setError(JText::_('COM_PHOCADOWNLOAD_ERROR_SOURCE_FILE_NOT_WRITABLE')); + return false; + } + + // Trigger the onExtensionBeforeSave event. + /*$result = $dispatcher->trigger('onExtensionBeforeSave', array('com_phocadownload.source', &$data, false)); + if (in_array(false, $result, true)) { + $this->setError($table->getError()); + return false; + }*/ + + $return = JFile::write($filePath, $data['source']); + + // Try to make the template file unwriteable. + if (!$ftp['enabled'] && JPath::isOwner($filePath) && !JPath::setPermissions($filePath, '0444')) { + $this->setError(JText::_('COM_PHOCADOWNLOAD_ERROR_SOURCE_FILE_NOT_UNWRITABLE')); + return false; + } elseif (!$return) { + $this->setError(JText::sprintf('COM_PHOCADOWNLOAD_ERROR_FAILED_TO_SAVE_FILENAME', $fileName)); + return false; + } + + // Trigger the onExtensionAfterSave event. + //$dispatcher->trigger('onExtensionAfterSave', array('com_templates.source', &$table, false)); + + //return true; + return parent::save($data); + } + + public function delete(&$pks) + { + $dispatcher = JEventDispatcher::getInstance(); + $pks = (array) $pks; + $table = $this->getTable(); + + // Include the content plugins for the on delete events. + JPluginHelper::importPlugin('content'); + + // Iterate the items to delete each one. + foreach ($pks as $i => $pk) + { + + if ($table->load($pk)) + { + + if ($this->canDelete($table)) + { + + $context = $this->option . '.' . $this->name; + + // Trigger the onContentBeforeDelete event. + $result = $dispatcher->trigger($this->event_before_delete, array($context, $table)); + if (in_array(false, $result, true)) + { + $this->setError($table->getError()); + return false; + } + + //PHOCAEDIT + $filePath = PhocaDownloadFile::getCSSFile($pk, true); + //END PHOCAEDIT + + if (!$table->delete($pk)) + { + $this->setError($table->getError()); + return false; + } + + //PHOCAEDIT + if (file_exists($filePath)) { + JFile::delete($filePath); + } + //END PHOCAEDIT + + // Trigger the onContentAfterDelete event. + $dispatcher->trigger($this->event_after_delete, array($context, $table)); + + } + else + { + + // Prune items that you can't change. + unset($pks[$i]); + $error = $this->getError(); + if ($error) + { + JLog::add($error, JLog::WARNING, 'jerror'); + return false; + } + else + { + JLog::add(JText::_('JLIB_APPLICATION_ERROR_DELETE_NOT_PERMITTED'), JLog::WARNING, 'jerror'); + return false; + } + } + + } + else + { + $this->setError($table->getError()); + return false; + } + } + + // Clear the component's cache + $this->cleanCache(); + + return true; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadstyles.php b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadstyles.php new file mode 100644 index 00000000..b80b23a5 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadstyles.php @@ -0,0 +1,258 @@ +getUserStateFromRequest($this->context.'.filter.search', 'filter_search'); + $this->setState('filter.search', $search); +/* + $accessId = $app->getUserStateFromRequest($this->context.'.filter.access', 'filter_access', null, 'int'); + $this->setState('filter.access', $accessId); +*/ + $state = $app->getUserStateFromRequest($this->context.'.filter.state', 'filter_published', '', 'string'); + $this->setState('filter.state', $state); + + $categoryId = $app->getUserStateFromRequest($this->context.'.filter.category_id', 'filter_category_id', null); + $this->setState('filter.category_id', $categoryId); + + $language = $app->getUserStateFromRequest($this->context.'.filter.language', 'filter_language', ''); + $this->setState('filter.language', $language); + + // Load the parameters. + $params = JComponentHelper::getParams('com_phocadownload'); + $this->setState('params', $params); + + // List state information. + parent::populateState('a.ordering', 'asc'); + } + + protected function getStoreId($id = '') + { + // Compile the store id. + $id .= ':'.$this->getState('filter.search'); + $id .= ':'.$this->getState('filter.state'); + $id .= ':'.$this->getState('filter.category_id'); + + return parent::getStoreId($id); + } + + + protected function getListQuery() + { + // Create a new query object. + $db = $this->getDbo(); + $query = $db->getQuery(true); + + // Select the required fields from the table. + $query->select( + $this->getState( + 'list.select', + 'a.*' + ) + ); + $query->from('`#__phocadownload_styles` AS a'); + + // Join over the language + $query->select('l.title AS language_title'); + $query->join('LEFT', '`#__languages` AS l ON l.lang_code = a.language'); + + // Join over the users for the checked out user. + $query->select('uc.name AS editor'); + $query->join('LEFT', '#__users AS uc ON uc.id=a.checked_out'); + + // Filter by published state. + $published = $this->getState('filter.state'); + if (is_numeric($published)) { + $query->where('a.published = '.(int) $published); + } + else if ($published === '') { + $query->where('(a.published IN (0, 1))'); + } + + // Filter by category. + $categoryId = $this->getState('filter.category_id'); + if (is_numeric($categoryId)) { + $query->where('a.type = ' . (int) $categoryId); + } + + // Filter by search in title + $search = $this->getState('filter.search'); + if (!empty($search)) + { + if (stripos($search, 'id:') === 0) { + $query->where('a.id = '.(int) substr($search, 3)); + } + else + { + $search = $db->Quote('%'.$db->escape($search, true).'%'); + $query->where('( a.title LIKE '.$search.' OR a.filename LIKE '.$search.')'); + } + } + + $query->group('a.id'); + + // Add the list ordering clause. + //$orderCol = $this->state->get('list.ordering'); + //$orderDirn = $this->state->get('list.direction'); + /*if ($orderCol == 'a.ordering' || $orderCol == 'category_title') { + $orderCol = 'category_title '.$orderDirn.', a.ordering'; + }*/ + + // Add the list ordering clause. + //$orderCol = $this->state->get('list.ordering'); + //$orderDirn = $this->state->get('list.direction'); + $orderCol = $this->state->get('list.ordering', 'ordering'); + $orderDirn = $this->state->get('list.direction', 'asc'); + if ($orderCol == 'a.ordering' || $orderCol == 'category_title') { + $orderCol = 'a.type '.$orderDirn.', a.ordering'; + } + $query->order($db->escape($orderCol.' '.$orderDirn)); + + + return $query; + } + + protected function getItemsCheck() { + $db = JFactory::getDBO(); + $query = 'SELECT a.id, a.filename, a.type' + .' FROM #__phocadownload_styles AS a'; + $db->setQuery($query); + $items = $db->loadObjectList(); + return $items; + } + + public function checkItems() { + + $db = JFactory::getDBO(); + $files = $this->getFiles(); + $items = $this->getItemsCheck(); + if (!empty($files)) { + foreach ($files as $fk => $fv) { + if ($fv->exists) { + $exists = 0; + foreach ($items as $ik => $iv) { + if ($fv->filename == $iv->filename && $fv->type == $iv->type){ + // we cannot break because there are two types + $exists = 1; + } + } + if ($exists == 0) { + + $query = 'SELECT a.ordering' + .' FROM #__phocadownload_styles AS a' + .' WHERE a.type = '.(int) $fv->type; + $db->setQuery($query, 0, 1); + $ordO = $db->loadObject(); + if (!isset($ordO->ordering)) { + $ordering = 1; + } else { + $ordering = (int)$ordO->ordering + 1; + } + + $title = ucfirst(str_replace('.css', '', htmlspecialchars($fv->filename))); + $published = 1; + $query = 'INSERT into #__phocadownload_styles' + .' (id, title, filename, type, published, ordering, language)' + .' VALUES (null, '. $db->quote($title) + .' , '.$db->quote(htmlspecialchars($fv->filename)) + .' , '.(int)$fv->type + .' , '.(int)$published + .' , '.(int)$ordering + .' , '.$db->quote('*') + .')'; + $db->setQuery($query); + + if (!$db->query()) { + $this->setError('Database Error - Inserting CSS Style'); + return false; + } + } + + } + + } + + } + return true; + + } + + public function getFiles() + { + $result = array(); + jimport('joomla.filesystem.folder'); + + $paths = PhocaDownloadPath::getPathMedia(); + $path = JPath::clean($paths->media_css_abs . '/main/'); + + if (is_dir($path)) { + $files = JFolder::files($path, '\.css$', false, false); + + foreach ($files as $file) { + $fileO = new stdClass; + $fileO->filename = $file; + $fileO->exists = file_exists($path.$file); + $fileO->type = 1; + $result[] = $fileO; + } + } else { + $this->setError(JText::_('COM_PHOCADOWNLOAD_ERROR_CSS_FOLDER_NOT_FOUND') . ' (1)'); + return false; + } + + $path = JPath::clean($paths->media_css_abs . '/custom/'); + if (is_dir($path)) { + $files = JFolder::files($path, '\.css$', false, false); + + foreach ($files as $file) { + $fileO = new stdClass; + $fileO->filename = $file; + $fileO->exists = file_exists($path.$file); + $fileO->type = 2; + $result[] = $fileO; + } + } else { + $this->setError(JText::_('COM_PHOCADOWNLOAD_ERROR_CSS_FOLDER_NOT_FOUND') . ' (2)'); + return false; + } + return $result; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadtag.php b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadtag.php new file mode 100644 index 00000000..7ea85097 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadtag.php @@ -0,0 +1,93 @@ +loadForm('com_phocadownload.phocadownloadtag', 'phocadownloadtag', array('control' => 'jform', 'load_data' => $loadData)); + if (empty($form)) { + return false; + } + return $form; + } + + protected function loadFormData() + { + // Check the session for previously entered form data. + $data = JFactory::getApplication()->getUserState('com_phocadownload.edit.phocadownloadtag.data', array()); + + if (empty($data)) { + $data = $this->getItem(); + } + + return $data; + } + + protected function prepareTable($table) + { + jimport('joomla.filter.output'); + $date = JFactory::getDate(); + $user = JFactory::getUser(); + + $table->title = htmlspecialchars_decode($table->title, ENT_QUOTES); + $table->alias = JApplication::stringURLSafe($table->alias); + + if (empty($table->alias)) { + $table->alias = JApplication::stringURLSafe($table->title); + } + + if (empty($table->id)) { + // Set the values + //$table->created = $date->toSql(); + + // Set ordering to the last item if not set + if (empty($table->ordering)) { + $db = JFactory::getDbo(); + $db->setQuery('SELECT MAX(ordering) FROM #__phocadownload_tags'); + $max = $db->loadResult(); + + $table->ordering = $max+1; + } + } + else { + // Set the values + //$table->modified = $date->toSql(); + //$table->modified_by = $user->get('id'); + } + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadtags.php b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadtags.php new file mode 100644 index 00000000..5e6f53ad --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadtags.php @@ -0,0 +1,151 @@ +getUserStateFromRequest($this->context.'.filter.search', 'filter_search'); + $this->setState('filter.search', $search); + +/* $accessId = $app->getUserStateFromRequest($this->context.'.filter.access', 'filter_access', null, 'int'); + $this->setState('filter.access', $accessId);*/ + + + + $state = $app->getUserStateFromRequest($this->context.'.filter.state', 'filter_published', '', 'string'); + $this->setState('filter.state', $state); + + //$language = $app->getUserStateFromRequest($this->context.'.filter.language', 'filter_language', ''); + //$this->setState('filter.language', $language); + + // Load the parameters. + $params = JComponentHelper::getParams('com_phocadownload'); + $this->setState('params', $params); + + // List state information. + parent::populateState('a.title', 'asc'); + } + + protected function getStoreId($id = '') + { + // Compile the store id. + $id .= ':'.$this->getState('filter.search'); + //$id .= ':'.$this->getState('filter.access'); + $id .= ':'.$this->getState('filter.state'); + $id .= ':'.$this->getState('filter.tag_id'); + + + return parent::getStoreId($id); + } + + protected function getListQuery() + { + /* + $query = ' SELECT a.*, u.name AS editor ' + . ' FROM #__phocadownload_licenses AS a ' + . ' LEFT JOIN #__users AS u ON u.id = a.checked_out ' + */ + // Create a new query object. + $db = $this->getDbo(); + $query = $db->getQuery(true); + + // Select the required fields from the table. + $query->select( + $this->getState( + 'list.select', + 'a.*' + ) + ); + $query->from('`#__phocadownload_tags` AS a'); + + // Join over the language + //$query->select('l.title AS language_title'); + //$query->join('LEFT', '`#__languages` AS l ON l.lang_code = a.language'); + + // Join over the users for the checked out user. + $query->select('uc.name AS editor'); + $query->join('LEFT', '#__users AS uc ON uc.id=a.checked_out'); + + + // Filter by access level. +/* if ($access = $this->getState('filter.access')) { + $query->where('a.access = '.(int) $access); + }*/ + + + + // Filter by published state. + $published = $this->getState('filter.state'); + if (is_numeric($published)) { + $query->where('a.published = '.(int) $published); + } + else if ($published === '') { + $query->where('(a.published IN (0, 1))'); + } + + + // Filter by search in title + $search = $this->getState('filter.search'); + if (!empty($search)) + { + if (stripos($search, 'id:') === 0) { + $query->where('a.id = '.(int) substr($search, 3)); + } + else + { + $search = $db->Quote('%'.$db->escape($search, true).'%'); + $query->where('( a.title LIKE '.$search.' OR a.alias LIKE '.$search.')'); + } + } + + $orderCol = $this->state->get('list.ordering'); + $orderDirn = $this->state->get('list.direction'); + $query->order($db->escape($orderCol.' '.$orderDirn)); + + //echo nl2br(str_replace('#__', 'jos_', $query->__toString())); + return $query; + + } + + +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadupload.php b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadupload.php new file mode 100644 index 00000000..f2050ff1 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloadupload.php @@ -0,0 +1,30 @@ +get('id').' ) )'; + $this->_db->setQuery( $query ); + if (!$this->_db->query()) { + $this->setError($this->_db->getErrorMsg()); + return false; + } + return true; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloaduploads.php b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloaduploads.php new file mode 100644 index 00000000..44796b85 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/models/phocadownloaduploads.php @@ -0,0 +1,221 @@ +getUserStateFromRequest($this->context.'.filter.search', 'filter_search'); + $this->setState('filter.search', $search); +/* + $accessId = $app->getUserStateFromRequest($this->context.'.filter.access', 'filter_access', null, 'int'); + $this->setState('filter.access', $accessId); +*/ + $state = $app->getUserStateFromRequest($this->context.'.filter.state', 'filter_published', '', 'string'); + $this->setState('filter.state', $state); +/* + $categoryId = $app->getUserStateFromRequest($this->context.'.filter.category_id', 'filter_category_id', null); + $this->setState('filter.category_id', $categoryId); + + $language = $app->getUserStateFromRequest($this->context.'.filter.language', 'filter_language', ''); + $this->setState('filter.language', $language); +*/ + // Load the parameters. + $params = JComponentHelper::getParams('com_phocadownload'); + $this->setState('params', $params); + + // List state information. + parent::populateState('username', 'asc'); + } + + protected function getStoreId($id = '') + { + // Compile the store id. + $id .= ':'.$this->getState('filter.search'); + //$id .= ':'.$this->getState('filter.access'); + $id .= ':'.$this->getState('filter.state'); + + return parent::getStoreId($id); + } + + protected function getListQuery() + { + /* + $query = ' SELECT a.*, fa.countfaid, fn.countfnid, 0 AS checked_out' + . ' FROM #__users AS a' + . ' LEFT JOIN #__phocadownload AS f ON f.owner_id = a.id ' + . ' LEFT JOIN #__phocadownload_categories AS cc ON cc.id = f.catid ' + . ' LEFT JOIN #__phocadownload_sections AS s ON s.id = f.sectionid ' + . ' LEFT JOIN #__groups AS g ON g.id = f.access ' + . ' LEFT JOIN #__users AS aa ON aa.id = f.checked_out ' + + + . ' LEFT JOIN (SELECT fa.owner_id, fa.id, count(*) AS countfaid' + . ' FROM #__phocadownload AS fa' + . ' WHERE fa.approved = 1' + . ' GROUP BY fa.owner_id) AS fa ' + . ' ON a.id = fa.owner_id' + + . ' LEFT JOIN (SELECT fn.owner_id, fn.id, count(*) AS countfnid' + . ' FROM #__phocadownload AS fn' + . ' WHERE fn.approved = 0' + . ' GROUP BY fn.owner_id) AS fn ' + . ' ON a.id = fn.owner_id' + + . $where + . ' GROUP by a.id' + . $orderby; + */ + // Create a new query object. + $db = $this->getDbo(); + $query = $db->getQuery(true); + + // Select the required fields from the table. + $query->select( + $this->getState( + 'list.select', + 'a.*' + ) + ); + $query->from('#__users AS a'); + + // Join over the language + //$query->select('l.title AS language_title'); + //$query->join('LEFT', '#__languages AS l ON l.lang_code = a.language'); + + + $query->select('f.id as file_id'); + $query->join('LEFT', '#__phocadownload AS f ON f.owner_id = a.id'); + + $query->select('cc.id as category_id'); + $query->join('LEFT', '#__phocadownload_categories AS cc ON cc.id = f.catid'); + + // Join over the users for the checked out user. + //$query->select('ua.id AS userid, ua.username AS username, ua.name AS usernameno'); + //$query->join('LEFT', '#__users AS ua ON ua.id=a.userid'); + + $query->select('ua.id AS userid, ua.username AS username, ua.name AS usernameno'); + $query->join('LEFT', '#__users AS ua ON ua.id=f.owner_id'); + + $query->select('uc.name AS editor'); + $query->join('LEFT', '#__users AS uc ON uc.id=f.checked_out'); + + $query->select('fa.countfaid'); + $query->join('LEFT', '(SELECT fa.owner_id, fa.id, count(*) AS countfaid' + . ' FROM #__phocadownload AS fa' + . ' WHERE fa.approved = 1' + . ' GROUP BY fa.owner_id) AS fa ' + . ' ON a.id = fa.owner_id '); + + + $query->select('fn.countfnid'); + $query->join('LEFT', '(SELECT fn.owner_id, fn.id, count(*) AS countfnid' + . ' FROM #__phocadownload AS fn' + . ' WHERE fn.approved = 0' + . ' GROUP BY fn.owner_id) AS fn ' + . ' ON a.id = fn.owner_id'); + + + +/* // Join over the asset groups. + $query->select('ag.title AS access_level'); + $query->join('LEFT', '#__viewlevels AS ag ON ag.id = a.access'); +*/ + + // Filter by access level. + /* if ($access = $this->getState('filter.access')) { + $query->where('a.access = '.(int) $access); + }*/ + + // Filter by published state. + /*$published = $this->getState('filter.state'); + if (is_numeric($published)) { + $query->where('a.published = '.(int) $published); + } + else if ($published === '') { + $query->where('(a.published IN (0, 1))'); + }*/ + + $query->where('a.id > 0'); + $query->where('(fa.countfaid > 0 OR fn.countfnid > 0)'); + + // Filter by category. + /*$categoryId = $this->getState('filter.category_id'); + if (is_numeric($categoryId)) { + $query->where('a.catid = ' . (int) $categoryId); + }*/ + + // Filter by search in title + $search = $this->getState('filter.search'); + if (!empty($search)) + { + if (stripos($search, 'id:') === 0) { + $query->where('a.id = '.(int) substr($search, 3)); + } + else + { + $search = $db->Quote('%'.$db->escape($search, true).'%'); + $query->where('( ua.username LIKE '.$search.' OR ua.name LIKE '.$search.')'); + } + } + + $query->group('a.id'); + + // Add the list ordering clause. + //$orderCol = $this->state->get('list.ordering'); + //$orderDirn = $this->state->get('list.direction'); + $orderCol = $this->state->get('list.ordering', 'username'); + $orderDirn = $this->state->get('list.direction', 'asc'); + + + if ($orderCol == 'a.id' || $orderCol == 'username') { + $orderCol = 'a.username '.$orderDirn.', a.id'; + } + $query->order($db->escape($orderCol.' '.$orderDirn)); + + //echo nl2br(str_replace('#__', 'jos_', $query->__toString())); + return $query; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/phocadownload.php b/packages/phocadownload/administrator/components/com_phocadownload/phocadownload.php new file mode 100644 index 00000000..8573fae9 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/phocadownload.php @@ -0,0 +1,42 @@ +authorise('core.manage', 'com_phocadownload')) { + return JError::raiseWarning(404, JText::_('JERROR_ALERTNOAUTHOR')); +} +if (! class_exists('PhocaDownloadLoader')) { + require_once( JPATH_ADMINISTRATOR.DS.'components/com_phocadownload/libraries/loader.php'); +} + +require_once( JPATH_COMPONENT.DS.'controller.php' ); +jimport( 'joomla.filesystem.folder' ); +jimport( 'joomla.filesystem.file' ); +phocadownloadimport('phocadownload.path.path'); +phocadownloadimport('phocadownload.utils.utils'); +phocadownloadimport('phocadownload.utils.settings'); +phocadownloadimport('phocadownload.utils.exception'); +phocadownloadimport('phocadownload.render.renderadmin'); +phocadownloadimport('phocadownload.render.renderadminview'); +phocadownloadimport('phocadownload.render.renderadminviews'); +phocadownloadimport('phocadownload.html.category'); +phocadownloadimport('phocadownload.html.jgrid'); +phocadownloadimport('phocadownload.html.batch'); +phocadownloadimport('phocadownload.file.file'); +phocadownloadimport('phocadownload.file.fileupload'); +phocadownloadimport('phocadownload.file.fileuploadmultiple'); +phocadownloadimport('phocadownload.file.fileuploadsingle'); +phocadownloadimport('phocadownload.category.category'); +phocadownloadimport('phocadownload.tag.tag'); + +jimport('joomla.application.component.controller'); +$controller = JControllerLegacy::getInstance('PhocaDownloadCp'); +$controller->execute(JFactory::getApplication()->input->get('task')); +$controller->redirect(); +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/phocadownload.xml b/packages/phocadownload/administrator/components/com_phocadownload/phocadownload.xml new file mode 100644 index 00000000..679e78f9 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/phocadownload.xml @@ -0,0 +1,99 @@ + + + com_phocadownload + Jan Pavelka (www.phoca.cz) + 02/05/2016 + + www.phoca.cz + Jan Pavelka + GNU/GPL + 3.1.2 + Phoca Download + install/script.php + + + + install/sql/mysql/install.utf8.sql + + + + + + install/sql/mysql/uninstall.utf8.sql + + + + + + update/sql/mysql + + + + + controller.php + index.html + phocadownload.php + router.php + assets + controllers + helpers + models + views + + + + index.html + bootstrap + css + images + js + + + + language/en-GB/en-GB.com_phocadownload.ini + language/en-GB/en-GB.com_phocadownload.sys.ini + + + + COM_PHOCADOWNLOAD + + COM_PHOCADOWNLOAD_CONTROLPANEL + COM_PHOCADOWNLOAD_FILES + COM_PHOCADOWNLOAD_CATEGORIES + COM_PHOCADOWNLOAD_LICENSES + COM_PHOCADOWNLOAD_STATISTICS + COM_PHOCADOWNLOAD_DOWNLOADS + COM_PHOCADOWNLOAD_UPLOADS + COM_PHOCADOWNLOAD_FILE_RATING + COM_PHOCADOWNLOAD_TAGS + COM_PHOCADOWNLOAD_LAYOUT + COM_PHOCADOWNLOAD_STYLES + COM_PHOCADOWNLOAD_LOGGING + COM_PHOCADOWNLOAD_INFO + + + + access.xml + config.xml + controller.php + index.html + phocadownload.php + phocadownload.xml + controllers + help + helpers + install + libraries + models + tables + update + views + + + + language/en-GB/en-GB.com_phocadownload.ini + language/en-GB/en-GB.com_phocadownload.sys.ini + + + + diff --git a/packages/phocadownload/administrator/components/com_phocadownload/tables/index.html b/packages/phocadownload/administrator/components/com_phocadownload/tables/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/tables/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/tables/phocadownload.php b/packages/phocadownload/administrator/components/com_phocadownload/tables/phocadownload.php new file mode 100644 index 00000000..b70a2fae --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/tables/phocadownload.php @@ -0,0 +1,113 @@ +textonly == 1) { + } else { + if (trim( $this->filename ) == '') { + $this->setError( JText::_( 'FILE MUST HAVE A FILENAME') ); + return false; + } + } + + if(empty($this->title)) { + $this->title = PhocaDownloadFile::getTitleFromFilenameWithoutExt($this->filename); + } + + if(empty($this->alias)) { + $this->alias = $this->title; + } + $this->alias = PhocaDownloadUtils::getAliasName($this->alias); + + return true; + } + + public function approve($pks = null, $state = 1, $userId = 0) + { + // Initialise variables. + $k = $this->_tbl_key; + + // Sanitize input. + JArrayHelper::toInteger($pks); + $userId = (int) $userId; + $state = (int) $state; + + // If there are no primary keys set check to see if the instance key is set. + if (empty($pks)) + { + if ($this->$k) { + $pks = array($this->$k); + } + // Nothing to set publishing state on, return false. + else { + $this->setError(JText::_('JLIB_DATABASE_ERROR_NO_ROWS_SELECTED')); + return false; + } + } + + // Build the WHERE clause for the primary keys. + $where = $k.'='.implode(' OR '.$k.'=', $pks); + + // Determine if there is checkin support for the table. + if (!property_exists($this, 'checked_out') || !property_exists($this, 'checked_out_time')) { + $checkin = ''; + } + else { + $checkin = ' AND (checked_out = 0 OR checked_out = '.(int) $userId.')'; + } + + // Update the publishing state for rows with the given primary keys. + $this->_db->setQuery( + 'UPDATE `'.$this->_tbl.'`' . + ' SET `approved` = '.(int) $state . + ' WHERE ('.$where.')' . + $checkin + ); + $this->_db->query(); + + // Check for a database error. + if ($this->_db->getErrorNum()) { + $this->setError($this->_db->getErrorMsg()); + return false; + } + + // If checkin is supported and all rows were adjusted, check them in. + if ($checkin && (count($pks) == $this->_db->getAffectedRows())) + { + // Checkin the rows. + foreach($pks as $pk) + { + $this->checkin($pk); + } + } + + // If the JTable instance value is in the list of primary keys that were set, set the instance. + if (in_array($this->$k, $pks)) { + $this->state = $state; + } + + $this->setError(''); + return true; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/tables/phocadownloadcat.php b/packages/phocadownload/administrator/components/com_phocadownload/tables/phocadownloadcat.php new file mode 100644 index 00000000..86038049 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/tables/phocadownloadcat.php @@ -0,0 +1,37 @@ +title ) == '') { + $this->setError( JText::_( 'CATEGORY MUST HAVE A TITLE') ); + return false; + } + + if(empty($this->alias)) { + $this->alias = $this->title; + } + $this->alias = PhocaDownloadUtils::getAliasName($this->alias); + + return true; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/tables/phocadownloadfilevotes.php b/packages/phocadownload/administrator/components/com_phocadownload/tables/phocadownloadfilevotes.php new file mode 100644 index 00000000..c82d1587 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/tables/phocadownloadfilevotes.php @@ -0,0 +1,21 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/tables/phocadownloadfilevotesstatistics.php b/packages/phocadownload/administrator/components/com_phocadownload/tables/phocadownloadfilevotesstatistics.php new file mode 100644 index 00000000..5b947911 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/tables/phocadownloadfilevotesstatistics.php @@ -0,0 +1,21 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/tables/phocadownloadlayout.php b/packages/phocadownload/administrator/components/com_phocadownload/tables/phocadownloadlayout.php new file mode 100644 index 00000000..da4237d8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/tables/phocadownloadlayout.php @@ -0,0 +1,21 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/tables/phocadownloadlic.php b/packages/phocadownload/administrator/components/com_phocadownload/tables/phocadownloadlic.php new file mode 100644 index 00000000..90c0239b --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/tables/phocadownloadlic.php @@ -0,0 +1,20 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/tables/phocadownloadlogging.php b/packages/phocadownload/administrator/components/com_phocadownload/tables/phocadownloadlogging.php new file mode 100644 index 00000000..6cf26447 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/tables/phocadownloadlogging.php @@ -0,0 +1,18 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/tables/phocadownloadstyle.php b/packages/phocadownload/administrator/components/com_phocadownload/tables/phocadownloadstyle.php new file mode 100644 index 00000000..a1a0204f --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/tables/phocadownloadstyle.php @@ -0,0 +1,29 @@ +alias)) { + $this->alias = $this->title; + } + $this->alias = PhocaDownloadUtils::getAliasName($this->alias); + + return true; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/tables/phocadownloadtag.php b/packages/phocadownload/administrator/components/com_phocadownload/tables/phocadownloadtag.php new file mode 100644 index 00000000..95a567c3 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/tables/phocadownloadtag.php @@ -0,0 +1,31 @@ +alias)) { + $this->alias = $this->title; + } + $this->alias = PhocaDownloadUtils::getAliasName($this->alias); + + return true; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/tables/phocadownloaduserstats.php b/packages/phocadownload/administrator/components/com_phocadownload/tables/phocadownloaduserstats.php new file mode 100644 index 00000000..30ab9f09 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/tables/phocadownloaduserstats.php @@ -0,0 +1,20 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/update/index.html b/packages/phocadownload/administrator/components/com_phocadownload/update/index.html new file mode 100644 index 00000000..ea9e94c1 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/update/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/update/sql/index.html b/packages/phocadownload/administrator/components/com_phocadownload/update/sql/index.html new file mode 100644 index 00000000..ea9e94c1 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/update/sql/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/update/sql/mysql/3.0.2.sql b/packages/phocadownload/administrator/components/com_phocadownload/update/sql/mysql/3.0.2.sql new file mode 100644 index 00000000..7f5fe747 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/update/sql/mysql/3.0.2.sql @@ -0,0 +1,23 @@ +ALTER TABLE `#__phocadownload` ADD COLUMN `token` char(64) default NULL; +ALTER TABLE `#__phocadownload` ADD COLUMN `tokenhits` int(11) NOT NULL default 0; + +-- BEGIN PROCEDURE +-- DELIMITER $$ +-- CREATE PROCEDURE AlterTable() +-- BEGIN +-- DECLARE _count INT; +-- DECLARE _count2 INT; +-- +-- SET _count = ( SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '#__phocadownload' AND COLUMN_NAME = 'token' ); +-- IF _count = 0 THEN ALTER TABLE `#__phocadownload` ADD COLUMN `token` char(64) default NULL; +-- END IF; +-- +-- SET _count2 = ( SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '#__phocadownload' AND COLUMN_NAME = 'tokenhits' ); +-- IF _count2 = 0 THEN ALTER TABLE `#__phocadownload` ADD COLUMN `tokenhits` int(11) NOT NULL default 0; +-- END IF; +-- END $$ +-- DELIMITER ; +-- CALL AlterTable(); +-- DROP PROCEDURE IF EXISTS AlterTable; +-- END PROCEDURE + diff --git a/packages/phocadownload/administrator/components/com_phocadownload/update/sql/mysql/3.1.1.sql b/packages/phocadownload/administrator/components/com_phocadownload/update/sql/mysql/3.1.1.sql new file mode 100644 index 00000000..0be533a2 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/update/sql/mysql/3.1.1.sql @@ -0,0 +1,4 @@ +ALTER TABLE `#__phocadownload` ADD COLUMN `tags_string` varchar(255) NOT NULL default ''; + + + diff --git a/packages/phocadownload/administrator/components/com_phocadownload/update/sql/mysql/index.html b/packages/phocadownload/administrator/components/com_phocadownload/update/sql/mysql/index.html new file mode 100644 index 00000000..ea9e94c1 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/update/sql/mysql/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcat/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcat/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcat/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcat/tmpl/edit.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcat/tmpl/edit.php new file mode 100644 index 00000000..ceff72ff --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcat/tmpl/edit.php @@ -0,0 +1,62 @@ +t['n'] . 'RenderAdminView'; +$r = new $class(); +?> +startForm($this->t['o'], $this->t['task'], $this->item->id, 'adminForm', 'adminForm'); +// First Column +echo '
'; +$tabs = array ( +'general' => JText::_($this->t['l'].'_GENERAL_OPTIONS'), +'publishing' => JText::_($this->t['l'].'_PUBLISHING_OPTIONS'), +'metadata' => JText::_($this->t['l'].'_METADATA_OPTIONS')); +echo $r->navigation($tabs); + +echo '
'. "\n"; + +echo '
'."\n"; +$formArray = array ('title', 'alias', 'parent_id', 'ordering', 'access', 'accessuserid', 'uploaduserid', 'deleteuserid'); +echo $r->group($this->form, $formArray); +$formArray = array('description'); +echo $r->group($this->form, $formArray, 1); +echo '
'. "\n"; + +echo '
'."\n"; +foreach($this->form->getFieldset('publish') as $field) { + echo '
'; + if (!$field->hidden) { + echo '
'.$field->label.'
'; + } + echo '
'; + echo $field->input; + echo '
'; +} +echo '
'; + +echo '
'. "\n"; +echo $this->loadTemplate('metadata'); +echo '
'. "\n"; + + +echo '
';//end tab content +echo '
';//end span10 +// Second Column +echo '
';//end span2 +echo $r->formInputs(); +echo $r->endForm(); +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcat/tmpl/edit_metadata.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcat/tmpl/edit_metadata.php new file mode 100644 index 00000000..6f9391f4 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcat/tmpl/edit_metadata.php @@ -0,0 +1,31 @@ +form->getFieldsets('metadata'); +foreach ($fieldSets as $name => $fieldSet) : + ?> +
+
+ +
+
form->getLabel('metadesc'); ?>
+
form->getInput('metadesc'); ?>
+
+
form->getLabel('metakey'); ?>
+
form->getInput('metakey'); ?>
+ + form->getFieldset($name) as $field) : ?> +
+
label; ?> +
input; ?>
+ +
+
+ \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcat/tmpl/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcat/tmpl/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcat/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcat/view.html.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcat/view.html.php new file mode 100644 index 00000000..17e309d7 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcat/view.html.php @@ -0,0 +1,89 @@ +t = PhocaDownloadUtils::setVars('cat'); + + $this->state = $this->get('State'); + $this->form = $this->get('Form'); + $this->item = $this->get('Item'); + $user = JFactory::getUser(); + $model = $this->getModel(); + + JHTML::_('behavior.calendar'); + JHTML::stylesheet( $this->t['s'] ); + + //Data from model + //$this->item =& $this->get('Data'); + + $lists = array(); + $isNew = ((int)$this->item->id == 0); + + // Edit or Create? + if (!$isNew) { + $model->checkout( $user->get('id') ); + } else { + // Initialise new record + $this->item->approved = 1; + $this->item->published = 1; + $this->item->order = 0; + $this->item->access = 0; + } + + $this->addToolbar(); + parent::display($tpl); + } + + + protected function addToolbar() { + + require_once JPATH_COMPONENT.'/helpers/'.$this->t['tasks'].'.php'; + JRequest::setVar('hidemainmenu', true); + $bar = JToolBar::getInstance('toolbar'); + $user = JFactory::getUser(); + $isNew = ($this->item->id == 0); + $checkedOut = !($this->item->checked_out == 0 || $this->item->checked_out == $user->get('id')); + $class = ucfirst($this->t['tasks']).'Helper'; + $canDo = $class::getActions($this->t, $this->state->get('filter.category_id')); + + $text = $isNew ? JText::_( $this->t['l'].'_NEW' ) : JText::_($this->t['l'].'_EDIT'); + JToolBarHelper::title( JText::_( $this->t['l'].'_CATEGORY' ).': [ ' . $text.' ]' , 'folder'); + + // If not checked out, can save the item. + if (!$checkedOut && $canDo->get('core.edit')){ + JToolBarHelper::apply($this->t['task'].'.apply', 'JTOOLBAR_APPLY'); + JToolBarHelper::save($this->t['task'].'.save', 'JTOOLBAR_SAVE'); + JToolBarHelper::addNew($this->t['task'].'.save2new', 'JTOOLBAR_SAVE_AND_NEW'); + + } + // If an existing item, can save to a copy. + if (!$isNew && $canDo->get('core.create')) { + //JToolBarHelper::custom($this->t['c'].'cat.save2copy', 'copy.png', 'copy_f2.png', 'JTOOLBAR_SAVE_AS_COPY', false); + } + if (empty($this->item->id)) { + JToolBarHelper::cancel($this->t['task'].'.cancel', 'JTOOLBAR_CANCEL'); + } + else { + JToolBarHelper::cancel($this->t['task'].'.cancel', 'JTOOLBAR_CLOSE'); + } + JToolBarHelper::divider(); + JToolBarHelper::help( 'screen.'.$this->t['c'], true ); + } +} +?> diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcats/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcats/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcats/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcats/tmpl/default.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcats/tmpl/default.php new file mode 100644 index 00000000..a295d588 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcats/tmpl/default.php @@ -0,0 +1,154 @@ +t['n'] . 'RenderAdminViews'; +$r = new $class(); +$user = JFactory::getUser(); +$userId = $user->get('id'); +$listOrder = $this->escape($this->state->get('list.ordering')); +$listDirn = $this->escape($this->state->get('list.direction')); +$canOrder = $user->authorise('core.edit.state', $this->t['o']); +$saveOrder = $listOrder == 'a.ordering'; +if ($saveOrder) { + $saveOrderingUrl = 'index.php?option='.$this->t['o'].'&task='.$this->t['tasks'].'.saveOrderAjax&tmpl=component'; + JHtml::_('sortablelist.sortable', 'categoryList', 'adminForm', strtolower($listDirn), $saveOrderingUrl, false, true); +} +$sortFields = $this->getSortFields(); + +echo $r->jsJorderTable($listOrder); + +//echo '
'; + +echo $r->startForm($this->t['o'], $this->t['tasks'], 'adminForm'); +echo $r->startFilter(); +//echo $r->selectFilterPublished('JOPTION_SELECT_PUBLISHED', $this->state->get('filter.state')); +//echo $r->selectFilterLanguage('JOPTION_SELECT_LANGUAGE', $this->state->get('filter.language')); +//echo $r->selectFilterLevels('COM_PHOCADOWNLOAD_SELECT_MAX_LEVELS', $this->state->get('filter.level')); +echo $r->endFilter(); + +echo $r->startMainContainer(); + +if ($this->t['search']) { + echo '
' . JText::_('COM_PHOCADOWNLOAD_SEARCH_FILTER_IS_ACTIVE') .'
'; +} + +echo $r->startFilterBar(); +echo $r->inputFilterSearch($this->t['l'].'_FILTER_SEARCH_LABEL', $this->t['l'].'_FILTER_SEARCH_DESC', + $this->escape($this->state->get('filter.search'))); +echo $r->inputFilterSearchClear('JSEARCH_FILTER_SUBMIT', 'JSEARCH_FILTER_CLEAR'); +echo $r->inputFilterSearchLimit('JFIELD_PLG_SEARCH_SEARCHLIMIT_DESC', $this->pagination->getLimitBox()); +echo $r->selectFilterDirection('JFIELD_ORDERING_DESC', 'JGLOBAL_ORDER_ASCENDING', 'JGLOBAL_ORDER_DESCENDING', $listDirn); +echo $r->selectFilterSortBy('JGLOBAL_SORT_BY', $sortFields, $listOrder); + +echo $r->startFilterBar(2); +echo $r->selectFilterPublished('JOPTION_SELECT_PUBLISHED', $this->state->get('filter.state')); +echo $r->selectFilterLanguage('JOPTION_SELECT_LANGUAGE', $this->state->get('filter.language')); +echo $r->selectFilterLevels('COM_PHOCADOWNLOAD_SELECT_MAX_LEVELS', $this->state->get('filter.level')); +echo $r->endFilterBar(); + +echo $r->endFilterBar(); + +echo $r->startTable('categoryList'); + +echo $r->startTblHeader(); + +echo $r->thOrdering('JGRID_HEADING_ORDERING', $listDirn, $listOrder); +echo $r->thCheck('JGLOBAL_CHECK_ALL'); +echo ''.JHTML::_('grid.sort', $this->t['l'].'_TITLE', 'a.title', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_PUBLISHED', 'a.published', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_PARENT_CATEGORY', 'parentcat_title', $listDirn, $listOrder ).''."\n"; +echo ''.JTEXT::_($this->t['l'].'_ACCESS').''."\n"; +echo ''.JHTML::_('grid.sort', 'JGRID_HEADING_LANGUAGE', 'a.language', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_ID', 'a.id', $listDirn, $listOrder ).''."\n"; + +echo $r->endTblHeader(); + +echo ''. "\n"; + +$originalOrders = array(); +$parentsStr = ""; +$j = 0; + +if (is_array($this->items)) { + foreach ($this->items as $i => $item) { + if ($i >= (int)$this->pagination->limitstart && $j < (int)$this->pagination->limit) { + $j++; + +$urlEdit = 'index.php?option='.$this->t['o'].'&task='.$this->t['task'].'.edit&id='; +$orderkey = array_search($item->id, $this->ordering[$item->parent_id]); +$ordering = ($listOrder == 'a.ordering'); +$canCreate = $user->authorise('core.create', $this->t['o']); +$canEdit = $user->authorise('core.edit', $this->t['o']); +$canCheckin = $user->authorise('core.manage', 'com_checkin') || $item->checked_out==$user->get('id') || $item->checked_out==0; +$canChange = $user->authorise('core.edit.state', $this->t['o']) && $canCheckin; +$linkEdit = JRoute::_( $urlEdit.(int) $item->id ); +$linkParent = JRoute::_( $urlEdit.(int) $item->parent_id ); +$canEditParent = $user->authorise('core.edit', $this->t['o']); + +$parentsStr = ''; +if (isset($item->parentstree)) { + $parentsStr = ' '.$item->parentstree; +} +if (!isset($item->level)) { + $item->level = 0; +} + +$iD = $i % 2; +echo "\n\n"; +echo ''. "\n"; + +echo $r->tdOrder($canChange, $saveOrder, $orderkey); +echo $r->td(JHtml::_('grid.id', $i, $item->id), "small hidden-phone"); +$checkO = ''; +if ($item->checked_out) { + $checkO .= JHtml::_('jgrid.checkedout', $i, $item->editor, $item->checked_out_time, $this->t['tasks'].'.', $canCheckin); +} +if ($canCreate || $canEdit) { + $checkO .= ''. $this->escape($item->title).''; +} else { + $checkO .= $this->escape($item->title); +} +$checkO .= ' ('.JText::_($this->t['l'].'_FIELD_ALIAS_LABEL').':'. $this->escape($item->alias).')'; +echo $r->td($checkO, "small hidden-phone"); +echo $r->td(JHtml::_('jgrid.published', $item->published, $i, $this->t['tasks'].'.', $canChange), "small hidden-phone"); + +if ($canEditParent) { + $parentO = ''. $this->escape($item->parentcat_title).''; +} else { + $parentO = $this->escape($item->parentcat_title); +} +echo $r->td($parentO, "small hidden-phone"); +echo $r->td($this->escape($item->access_level), "small hidden-phone"); + + + +echo $r->tdLanguage($item->language, $item->language_title, $this->escape($item->language_title)); +echo $r->td($item->id, "small hidden-phone"); + +echo ''. "\n"; + + } + } +} +echo ''. "\n"; + +echo $r->tblFoot($this->pagination->getListFooter(), 8); +echo $r->endTable(); + +echo $this->loadTemplate('batch'); + +//echo $r->formInputs($listOrder, $originalOrders); +echo $r->formInputs($listOrder, $listDirn, $originalOrders); +echo $r->endMainContainer(); +echo $r->endForm(); +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcats/tmpl/default_batch.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcats/tmpl/default_batch.php new file mode 100644 index 00000000..b195b372 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcats/tmpl/default_batch.php @@ -0,0 +1,48 @@ +state->get('filter.state'); +?> + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcats/tmpl/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcats/tmpl/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcats/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcats/view.html.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcats/view.html.php new file mode 100644 index 00000000..248f2e10 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcats/view.html.php @@ -0,0 +1,211 @@ +t = PhocaDownloadUtils::setVars('cat'); + + $model = $this->getModel(); + $this->items = $model->getItems(); + $this->pagination = $model->getPagination(); + $this->state = $model->getState(); + /*$this->items = $this->get('Items'); + $this->pagination = $this->get('Pagination'); + $this->state = $this->get('State');*/ + + // Preprocess the list of items to find ordering divisions. + foreach ($this->items as &$item) { + $this->ordering[$item->parent_id][] = $item->id; + } + + // if search, don't do a tree, only display the searched items + $this->t['search'] = $this->state->get('filter.search'); + // We need to load all items because of creating tree + // After creating tree we get info from pagination + // and will set displaying of categories for current pagination + //E.g. pagination is limitstart 5, limit 5 - so only categories from 5 to 10 will be displayed + + // the same for max levels + $this->t['level'] = $this->state->get('filter.level'); + + if (!empty($this->items) && !$this->t['search']) { + $text = ''; // text is tree name e.g. Category >> Subcategory + $tree = array(); + + // Filter max levels + if (isset($this->t['level']) && $this->t['level'] > 0) { + $maxLevel = (int)$this->t['level'] + 1; + } else { + $maxLevel = false; + } + + $this->items = $this->processTree($this->items, $tree, 0, $text, -1, 0, '', $maxLevel); + + // Re count the pagination + $countTotal = count($this->items); + $model->setTotal($countTotal); + $this->pagination = $model->getPagination(); + } + + //$this->tmpl['notapproved'] = $this->get( 'NotApprovedCategory' ); + JHTML::stylesheet( $this->t['s'] ); + + $this->addToolbar(); + parent::display($tpl); + } + + protected function addToolbar() { + require_once JPATH_COMPONENT.'/helpers/'.$this->t['tasks'].'.php'; + $state = $this->get('State'); + $class = ucfirst($this->t['tasks']).'Helper'; + $canDo = $class::getActions($this->t, $state->get('filter.category_id')); + JToolBarHelper::title( JText::_( $this->t['l'].'_CATEGORIES' ),'folder' ); + $user = JFactory::getUser(); + $bar = JToolBar::getInstance('toolbar'); + + if ($canDo->get('core.create')) { + JToolBarHelper::addNew($this->t['task'].'.add','JTOOLBAR_NEW'); + } + if ($canDo->get('core.edit')) { + JToolBarHelper::editList($this->t['task'].'.edit','JTOOLBAR_EDIT'); + } + if ($canDo->get('core.edit.state')) { + + JToolBarHelper::divider(); + JToolBarHelper::custom($this->t['tasks'].'.publish', 'publish.png', 'publish_f2.png','JTOOLBAR_PUBLISH', true); + JToolBarHelper::custom($this->t['tasks'].'.unpublish', 'unpublish.png', 'unpublish_f2.png', 'JTOOLBAR_UNPUBLISH', true); + } + + if ($canDo->get('core.delete')) { + JToolBarHelper::deleteList( JText::_( $this->t['l'].'_WARNING_DELETE_ITEMS' ), $this->t['tasks'].'.delete', $this->t['l'].'_DELETE'); + } + + // Add a batch button + if ($user->authorise('core.edit')) + { + JHtml::_('bootstrap.modal', 'collapseModal'); + $title = JText::_('JTOOLBAR_BATCH'); + $dhtml = ""; + $bar->appendButton('Custom', $dhtml, 'batch'); + } + + JToolBarHelper::divider(); + JToolBarHelper::help( 'screen.'.$this->t['c'], true ); + + } + + /*TODO - change it to php 5 rules */ + protected function processTree( $data, $tree, $id = 0, $text='', $currentId, $level, $parentsTreeString = '', $maxLevel = false) { + + + $countItemsInCat = 0;// Ordering + $level = $level + 1; + $parentsTreeString = $id . ' '. $parentsTreeString; + + // Limit the level of tree + if (!$maxLevel || ($maxLevel && $level < $maxLevel)) { + foreach ($data as $key) { + $show_text = $text . $key->title; + + static $iCT = 0;// All displayed items + + if ($key->parent_id == $id && $currentId != $id && $currentId != $key->id ) { + $tree[$iCT] = new JObject(); + + // Ordering MUST be solved here + if ($countItemsInCat > 0) { + $tree[$iCT]->orderup = 1; + } else { + $tree[$iCT]->orderup = 0; + } + + if ($countItemsInCat < ($key->countid - 1)) { + $tree[$iCT]->orderdown = 1; + } else { + $tree[$iCT]->orderdown = 0; + } + + $tree[$iCT] = new JObject(); + + $tree[$iCT]->level = $level; + $tree[$iCT]->parentstree = $parentsTreeString; + + $tree[$iCT]->id = $key->id; + $tree[$iCT]->title = $show_text; + $tree[$iCT]->title_self = $key->title; + $tree[$iCT]->parent_id = $key->parent_id; + // $tree[$iCT]->owner_id = $key->owner_id; + $tree[$iCT]->name = $key->name; + $tree[$iCT]->alias = $key->alias; + $tree[$iCT]->image = $key->image; + $tree[$iCT]->section = $key->section; + $tree[$iCT]->image_position = $key->image_position; + $tree[$iCT]->description = $key->description; + $tree[$iCT]->published = $key->published; + $tree[$iCT]->editor = $key->editor; + $tree[$iCT]->ordering = $key->ordering; + $tree[$iCT]->access = $key->access; + $tree[$iCT]->access_level = $key->access_level; + $tree[$iCT]->count = $key->count; + $tree[$iCT]->params = $key->params; + $tree[$iCT]->checked_out = $key->checked_out; + $tree[$iCT]->checked_out_time = $key->checked_out_time; + $tree[$iCT]->groupname = 0; + // $tree[$iCT]->username = $key->username; + // $tree[$iCT]->usernameno = $key->usernameno; + $tree[$iCT]->parentcat_title = $key->parentcat_title; + $tree[$iCT]->parentcat_id = $key->parentcat_id; + $tree[$iCT]->hits = $key->hits; + // $tree[$iCT]->ratingavg = $key->ratingavg; + $tree[$iCT]->accessuserid = $key->accessuserid; + $tree[$iCT]->uploaduserid = $key->uploaduserid; + $tree[$iCT]->language = $key->language; + $tree[$iCT]->language_title = $key->language_title; + // $tree[$iCT]->deleteuserid = $key->deleteuserid; + // $tree[$iCT]->userfolder = $key->userfolder; + // $tree[$iCT]->approved = $key->approved; + // $tree[$iCT]->link = ''; + // $tree[$iCT]->filename = '';// Will be added in View (after items will be reduced) + // $tree[$iCT]->linkthumbnailpath = ''; + + $iCT++; + + $tree = $this->processTree($data, $tree, $key->id, $show_text . " - ", $currentId, $level, $parentsTreeString, $maxLevel); + + $countItemsInCat++; + } + } + } + + return($tree); + } + + protected function getSortFields() { + return array( + 'a.ordering' => JText::_('JGRID_HEADING_ORDERING'), + 'a.title' => JText::_($this->t['l'] . '_TITLE'), + 'a.published' => JText::_($this->t['l'] . '_PUBLISHED'), + 'parent_title' => JText::_($this->t['l'] . '_PARENT_CATEGORY'), + 'language' => JText::_('JGRID_HEADING_LANGUAGE'), + 'a.id' => JText::_('JGRID_HEADING_ID') + ); + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcp/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcp/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcp/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcp/tmpl/default.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcp/tmpl/default.php new file mode 100644 index 00000000..88e118dd --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcp/tmpl/default.php @@ -0,0 +1,49 @@ + +
+ +
+ +
+
+
+
t['n'] . 'RenderAdmin'; +$link = 'index.php?option='.$this->t['o'].'&view='; +foreach ($this->views as $k => $v) { + $linkV = $link . $this->t['c'] . $k; + echo $class::quickIconButton( $linkV, 'icon-48-'.$k.'.png', JText::_($v), $this->t['i']); +} + ?>
 
+

 

+
+ + +
+
+
+ +
+
+
t['i'] . 'logo-phoca.png', 'Phoca.cz' );?>
'. JText::_($this->t['l'] . '_VERSION').'' +.'

'. $this->t['version'] .'

'; +echo '

'. JText::_($this->t['l'] . '_COPYRIGHT').'

' +.'

© 2007 - '. date("Y"). ' Jan Pavelka

' +.'

www.phoca.cz

'; +echo '

'. JText::_($this->t['l'] . '_LICENCE').'

' +.'

GPLv2

'; +echo '

'. JText::_($this->t['l'] . '_TRANSLATION').': '. JText::_($this->t['l'] . '_TRANSLATION_LANGUAGE_TAG').'

' +.'

© 2007 - '. date("Y"). ' '. JText::_($this->t['l'] . '_TRANSLATER'). '

' +.'

'.JText::_($this->t['l'] . '_TRANSLATION_SUPPORT_URL').'

'; + echo '

 

' +.''; + + ?>
+
+
+ + + +
+
\ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcp/tmpl/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcp/tmpl/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcp/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcp/view.html.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcp/view.html.php new file mode 100644 index 00000000..8ae0d99b --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadcp/view.html.php @@ -0,0 +1,62 @@ +t = PhocaDownloadUtils::setVars(); + $this->views= array( + 'files' => $this->t['l'] . '_FILES', + 'cats' => $this->t['l'] . '_CATEGORIES', + 'lics' => $this->t['l'] . '_LICENSES', + 'stat' => $this->t['l'] . '_STATISTICS', + 'downloads' => $this->t['l'] . '_DOWNLOADS', + 'uploads' => $this->t['l'] . '_UPLOADS', + 'rafile' => $this->t['l'] . '_FILE_RATING', + 'tags' => $this->t['l'] . '_TAGS', + 'layouts' => $this->t['l'] . '_LAYOUT', + 'styles' => $this->t['l'] . '_STYLES', + 'logs' => $this->t['l'] . '_LOGGING', + 'info' => $this->t['l'] . '_INFO' + ); + + JHTML::stylesheet( $this->t['s'] ); + JHTML::_('behavior.tooltip'); + $class = $this->t['n'] . 'Utils'; + $this->t['version'] = $class::getExtensionVersion(); + $this->addToolbar(); + parent::display($tpl); + } + + protected function addToolbar() { + require_once JPATH_COMPONENT.'/helpers/'.$this->t['c'].'cp.php'; + $class = $this->t['n'] . 'CpHelper'; + $canDo = $class::getActions($this->t['c']); + JToolBarHelper::title( JText::_( $this->t['l'].'_PD_CONTROL_PANEL' ), 'home-2 cpanel' ); + + // This button is unnecessary but it is displayed because Joomla! design bug + $bar = JToolBar::getInstance( 'toolbar' ); + $dhtml = ' '.JText::_($this->t['l'].'_CONTROL_PANEL').''; + $bar->appendButton('Custom', $dhtml); + + if ($canDo->get('core.admin')) { + JToolBarHelper::preferences($this->t['o']); + JToolBarHelper::divider(); + } + JToolBarHelper::help( 'screen.'.$this->t['c'], true ); + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloaddownloads/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloaddownloads/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloaddownloads/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloaddownloads/tmpl/default.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloaddownloads/tmpl/default.php new file mode 100644 index 00000000..d4363650 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloaddownloads/tmpl/default.php @@ -0,0 +1,142 @@ +t['n'] . 'RenderAdminViews'; +$r = new $class(); +$user = JFactory::getUser(); +$userId = $user->get('id'); +$listOrder = $this->escape($this->state->get('list.ordering')); +$listDirn = $this->escape($this->state->get('list.direction')); +$canOrder = $user->authorise('core.edit.state', $this->t['o']); +$saveOrder = $listOrder == 'a.ordering'; +if ($saveOrder) { + $saveOrderingUrl = 'index.php?option='.$this->t['o'].'&task='.$this->t['tasks'].'.saveOrderAjax&tmpl=component'; + JHtml::_('sortablelist.sortable', 'categoryList', 'adminForm', strtolower($listDirn), $saveOrderingUrl, false, true); +} +$sortFields = $this->getSortFields(); + +echo $r->jsJorderTable($listOrder); + + + +echo $r->startForm($this->t['o'], $this->t['tasks'], 'adminForm'); +echo $r->startFilter(); +//echo $r->selectFilterPublished('JOPTION_SELECT_PUBLISHED', $this->state->get('filter.state')); +//echo $r->selectFilterLanguage('JOPTION_SELECT_LANGUAGE', $this->state->get('filter.language')); +//echo $r->selectFilterCategory(PhocaDownloadCategory::options($this->t['o']), 'JOPTION_SELECT_CATEGORY', $this->state->get('filter.category_id')); +echo $r->endFilter(); + +echo $r->startMainContainer(); + +if (isset($this->tmpl['notapproved']->count) && (int)$this->tmpl['notapproved']->count > 0 ) { + echo '
×'.JText::_($this->t['l'].'_NOT_APPROVED_FILES_COUNT').': ' + .(int)$this->tmpl['notapproved']->count.'
'; +} + +echo $r->startFilterBar(); +echo $r->inputFilterSearch($this->t['l'].'_FILTER_SEARCH_LABEL', $this->t['l'].'_FILTER_SEARCH_DESC', + $this->escape($this->state->get('filter.search'))); +echo $r->inputFilterSearchClear('JSEARCH_FILTER_SUBMIT', 'JSEARCH_FILTER_CLEAR'); +echo $r->inputFilterSearchLimit('JFIELD_PLG_SEARCH_SEARCHLIMIT_DESC', $this->pagination->getLimitBox()); +echo $r->selectFilterDirection('JFIELD_ORDERING_DESC', 'JGLOBAL_ORDER_ASCENDING', 'JGLOBAL_ORDER_DESCENDING', $listDirn); +echo $r->selectFilterSortBy('JGLOBAL_SORT_BY', $sortFields, $listOrder); + +echo $r->startFilterBar(2); +echo $r->selectFilterPublished('JOPTION_SELECT_PUBLISHED', $this->state->get('filter.state')); +echo $r->endFilterBar(); + +echo $r->endFilterBar(); + +echo $r->startTable('categoryList'); + +echo $r->startTblHeader(); + +echo '';//$r->thOrdering('JGRID_HEADING_ORDERING', $listDirn, $listOrder); +echo $r->thCheck('JGLOBAL_CHECK_ALL'); +echo ''.JHTML::_('grid.sort', $this->t['l'].'_USER', 'username', $listDirn, $listOrder ).''."\n"; +//echo ''.JHTML::_('grid.sort', $this->t['l'].'_TITLE', 'd.title', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_FILE', 'filename', $listDirn, $listOrder ).''."\n"; + +//echo ''.JHTML::_('grid.sort', $this->t['l'].'_USERNAME', 'username', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_COUNT', 'a.count', $listDirn, $listOrder ).''."\n"; +//echo ''.JHTML::_('grid.sort', $this->t['l'].'_ID', 'a.id', $listDirn, $listOrder ).''."\n"; + +echo $r->endTblHeader(); + +echo ''. "\n"; + +$originalOrders = array(); +$parentsStr = ""; +$j = 0; + +if (is_array($this->items)) { + foreach ($this->items as $i => $item) { + //if ($i >= (int)$this->pagination->limitstart && $j < (int)$this->pagination->limit) { + $j++; +/* +$urlEdit = 'index.php?option='.$this->t['o'].'&task='.$this->t['task'].'.edit&id='; +$urlTask = 'index.php?option='.$this->t['o'].'&task='.$this->t['task']; +$orderkey = array_search($item->id, $this->ordering[$item->catid]); +$ordering = ($listOrder == 'a.ordering'); +$canCreate = $user->authorise('core.create', $this->t['o']); +$canEdit = $user->authorise('core.edit', $this->t['o']); +$canCheckin = $user->authorise('core.manage', 'com_checkin') || $item->checked_out==$user->get('id') || $item->checked_out==0; +$canChange = $user->authorise('core.edit.state', $this->t['o']) && $canCheckin; +$linkEdit = JRoute::_( $urlEdit. $item->id ); + +$linkCat = JRoute::_( 'index.php?option='.$this->t['o'].'&task='.$this->t['c'].'cat.edit&id='.(int) $item->category_id ); +$canEditCat = $user->authorise('core.edit', $this->t['o']);*/ + + +$iD = $i % 2; +echo "\n\n"; +echo ''. "\n"; + +echo $r->tdOrder(0,0,0); +echo $r->td(JHtml::_('grid.id', $i, $item->id), "small hidden-phone"); + +$usrO = $item->usernameno; +if ($item->username) {$usrO = $usrO . ' ('.$item->username.')';} +if (!$usrO) { + $usrO = JText::_('COM_PHOCADOWNLOAD_GUEST'); +} +echo $r->td($usrO, "small hidden-phone"); + + + + +//echo $r->td($this->escape($item->filetitle)); +echo $r->td($this->escape($item->filetitle) . ' ('.$this->escape($item->filename) . ')'); + +echo $r->td($this->escape($item->count), 'ph-right'); + +//echo $r->td($item->id, "small hidden-phone"); + +echo ''. "\n"; + + //} + } +} +echo ''. "\n"; + +echo $r->tblFoot($this->pagination->getListFooter(), 15); +echo $r->endTable(); + + + +//echo $r->formInputs($listOrder, $originalOrders); +echo $r->formInputs($listOrder, $listDirn, $originalOrders); +echo $r->endMainContainer(); +echo $r->endForm(); +?> diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloaddownloads/tmpl/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloaddownloads/tmpl/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloaddownloads/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloaddownloads/view.html.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloaddownloads/view.html.php new file mode 100644 index 00000000..6428f7bf --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloaddownloads/view.html.php @@ -0,0 +1,78 @@ +t = PhocaDownloadUtils::setVars('download'); + $this->items = $this->get('Items'); + $this->pagination = $this->get('Pagination'); + $this->state = $this->get('State'); + $this->maxandsum = $this->get('MaxAndSum'); + + JHTML::stylesheet( $this->t['s'] ); + + // Check for errors. + if (count($errors = $this->get('Errors'))) { + JError::raiseError(500, implode("\n", $errors)); + return false; + } + + $this->addToolbar(); + parent::display($tpl); + + } + + function addToolbar() { + + require_once JPATH_COMPONENT.'/helpers/'.$this->t['tasks'].'.php'; + //$state = $this->get('State'); + $class = ucfirst($this->t['tasks']).'Helper'; + $canDo = $class::getActions($this->t); + + JToolBarHelper::title( JText::_( $this->t['l'].'_DOWNLOADS' ), 'download' ); + + if ($canDo->get('core.edit')){ + + $bar = JToolBar::getInstance('toolbar'); + + $dhtml = ''; + $bar->appendButton('Custom', $dhtml); + JToolBarHelper::divider(); + //JToolBarHelper::custom('phocadownloaduserstat.reset', 'reset.png', '', 'COM_PHOCADOWNLOAD_RESET' , false); + } + + //JToolBarHelper::cancel($this->t['tasks'].'.cancel', 'JTOOLBAR_CLOSE'); + + JToolBarHelper::help( 'screen.'.$this->t['c'], true ); + } + + protected function getSortFields() { + return array( + + + 'usernameno' => JText::_($this->t['l'] . '_USER'), + 'username' => JText::_($this->t['l'] . '_USERNAME'), + 'a.count' => JText::_($this->t['l'] . '_COUNT'), + 'filename' => JText::_($this->t['l'] . '_FILENAME') + + ); + } + +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfile/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfile/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfile/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfile/tmpl/edit.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfile/tmpl/edit.php new file mode 100644 index 00000000..73373970 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfile/tmpl/edit.php @@ -0,0 +1,192 @@ +item->extid) && $this->item->extid != '') { + $extlink = 1; +} +$class = $this->t['n'] . 'RenderAdminView'; +$r = new $class(); + +?> +startForm($this->t['o'], $this->t['task'], $this->item->id, 'adminForm', 'adminForm'); +// First Column +echo '
'; +$tabs = array ( +'general' => JText::_($this->t['l'].'_GENERAL_OPTIONS'), +'publishing' => JText::_($this->t['l'].'_PUBLISHING_OPTIONS'), +'metadata' => JText::_($this->t['l'].'_METADATA_OPTIONS'), +'mirror' => JText::_($this->t['l'].'_MIRROR_DETAILS'), +'video' => JText::_($this->t['l'].'_YOUTUBE_OPTIONS') +); +echo $r->navigation($tabs); + +echo '
'. "\n"; + +echo '
'."\n"; +$formArray = array ('title', 'alias', 'catid', 'ordering', + 'filename', 'filename_play', 'filename_preview', 'image_filename', 'image_filename_spec1', 'image_filename_spec2', 'image_download', 'version', 'author', 'author_url', 'author_email', 'license', 'license_url', 'confirm_license', 'directlink', 'link_external', 'access', 'unaccessible_file', 'userid', 'owner_id'); +echo $r->group($this->form, $formArray); +$formArray = array('description', 'features', 'changelog', 'notes' ); +echo $r->group($this->form, $formArray, 1); +echo '
'. "\n"; + +echo '
'."\n"; +foreach($this->form->getFieldset('publish') as $field) { + echo '
'; + if (!$field->hidden) { + echo '
'.$field->label.'
'; + } + echo '
'; + echo $field->input; + echo '
'; +} +echo '
'; + +echo '
'. "\n"; +echo $this->loadTemplate('metadata'); +echo '
'. "\n"; + +echo '
'. "\n"; +$formArray = array ('mirror1link', 'mirror1title', 'mirror1target', 'mirror2link', 'mirror2title', 'mirror2target'); +echo $r->group($this->form, $formArray); +echo '
'. "\n"; + +echo '
'. "\n"; +$formArray = array ('video_filename'); +echo $r->group($this->form, $formArray); +echo '
'. "\n"; + + +echo '
';//end tab content +echo '
';//end span10 +// Second Column +echo '
'; + +if (isset($this->item->id) && isset($this->item->catid) && isset($this->item->token) + && (int)$this->item->id > 0 && (int)$this->item->catid > 0 && $this->item->token != '') { + phocadownloadimport('phocadownload.path.route'); + $downloadLink = PhocaDownloadRoute::getDownloadRoute((int)$this->item->id, (int)$this->item->catid, $this->item->token, 0); + $app = JApplication::getInstance('site'); + $router = $app->getRouter(); + $uri = $router->build($downloadLink); + $frontendUrl = JURI::root(false). str_replace(JURI::root(true).'/administrator/', '',$uri->toString()); + echo '
'.JText::_('COM_PHOCADOWNLOAD_UNIQUE_DOWNLOAD_URL').'
'; + echo ''; + echo '
('.JText::_('COM_PHOCADOWNLOAD_URL_FORMAT_DEPENDS_ON_SEF').')
'; +} + + +echo '
';//end span2 +echo $r->formInputs(); +echo $r->endForm(); + +/* +?> + + +?>
+
+ +
+ item->id) ? JText::_('COM_PHOCADOWNLOAD_NEW_FILE') : JText::sprintf('COM_PHOCADOWNLOAD_EDIT_FILE', $this->item->id); ?> + + +
    + '.$this->form->getLabel($value) . $this->form->getInput($value).'' . "\n"; + } ?> +
+ + form->getLabel($value); + echo '
'; + echo $this->form->getInput($value); + } + ?> + +
+
+
+ +
+
tmpl['enablethumbcreationstatus']; ?>
+ item->id, array('useCookie'=>1)); ?> + + +
+
    + form->getFieldset('publish') as $field) { + echo '
  • '; + if (!$field->hidden) { + echo $field->label; + } + echo $field->input; + echo '
  • '; + } ?> +
+
+ + loadTemplate('metadata'); ?> + + +
+
    + '.$this->form->getLabel($value) . $this->form->getInput($value).'' . "\n"; + } ?> +
+ + + + +
+
    + '.$this->form->getLabel($value) . $this->form->getInput($value).'' . "\n"; + } ?> +
+ + +
+ + + +
+ + + +
+*/ ?> + diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfile/tmpl/edit_metadata.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfile/tmpl/edit_metadata.php new file mode 100644 index 00000000..6f9391f4 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfile/tmpl/edit_metadata.php @@ -0,0 +1,31 @@ +form->getFieldsets('metadata'); +foreach ($fieldSets as $name => $fieldSet) : + ?> +
+
+ +
+
form->getLabel('metadesc'); ?>
+
form->getInput('metadesc'); ?>
+
+
form->getLabel('metakey'); ?>
+
form->getInput('metakey'); ?>
+ + form->getFieldset($name) as $field) : ?> +
+
label; ?> +
input; ?>
+ +
+
+ \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfile/tmpl/edit_text.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfile/tmpl/edit_text.php new file mode 100644 index 00000000..6febbcdb --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfile/tmpl/edit_text.php @@ -0,0 +1,66 @@ +item->extid) && $this->item->extid != '') { + $extlink = 1; +} +$class = $this->t['n'] . 'RenderAdminView'; +$r = new $class(); + +?> +startForm($this->t['o'], $this->t['task'], $this->item->id, 'adminForm', 'adminForm'); +// First Column +echo '
'; +$tabs = array ( +'general' => JText::_($this->t['l'].'_GENERAL_OPTIONS'), +'publishing' => JText::_($this->t['l'].'_PUBLISHING_OPTIONS') +); +echo $r->navigation($tabs); + +echo '
'. "\n"; + +echo '
'."\n"; +$formArray = array ('title', 'alias', 'catid', 'ordering','access'); +echo $r->group($this->form, $formArray); +$formArray = array('description'); +echo $r->group($this->form, $formArray, 1); +echo '
'. "\n"; + +echo '
'."\n"; +foreach($this->form->getFieldset('publish') as $field) { + echo '
'; + if (!$field->hidden) { + echo '
'.$field->label.'
'; + } + echo '
'; + echo $field->input; + echo '
'; +} +echo '
'; + +echo '
';//end tab content +echo '
';//end span10 +// Second Column +echo '
';//end span2 + +echo '' + .''; +echo $r->formInputs(); +echo $r->endForm(); +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfile/tmpl/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfile/tmpl/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfile/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfile/view.html.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfile/view.html.php new file mode 100644 index 00000000..3045df34 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfile/view.html.php @@ -0,0 +1,71 @@ +t = PhocaDownloadUtils::setVars('file'); + $this->state = $this->get('State'); + $this->form = $this->get('Form'); + $this->item = $this->get('Item'); + + JHTML::stylesheet( $this->t['s'] ); + + if (isset($this->item->textonly) && (int)$this->item->textonly == 1 && JRequest::getVar('layout') != 'edit_text') { + $tpl = 'text'; + } + $this->addToolbar(); + parent::display($tpl); + } + + protected function addToolbar() { + + require_once JPATH_COMPONENT.'/helpers/'.$this->t['tasks'].'.php'; + JRequest::setVar('hidemainmenu', true); + $bar = JToolBar::getInstance('toolbar'); + $user = JFactory::getUser(); + $isNew = ($this->item->id == 0); + $checkedOut = !($this->item->checked_out == 0 || $this->item->checked_out == $user->get('id')); + $class = ucfirst($this->t['tasks']).'Helper'; + $canDo = $class::getActions($this->t, $this->state->get('filter.category_id')); + + $text = $isNew ? JText::_( $this->t['l'] . '_NEW' ) : JText::_($this->t['l'] . '_EDIT'); + JToolBarHelper::title( JText::_( $this->t['l'] . '_FILE' ).': [ ' . $text.' ]' , 'file'); + + // If not checked out, can save the item. + if (!$checkedOut && $canDo->get('core.edit')){ + JToolBarHelper::apply($this->t['task'] . '.apply', 'JTOOLBAR_APPLY'); + JToolBarHelper::save($this->t['task'] . '.save', 'JTOOLBAR_SAVE'); + JToolBarHelper::addNew($this->t['task'] . '.save2new', 'JTOOLBAR_SAVE_AND_NEW'); + + } + // If an existing item, can save to a copy. + if (!$isNew && $canDo->get('core.create')) { + //JToolBarHelper::custom($this->t.'.save2copy', 'copy.png', 'copy_f2.png', 'JTOOLBAR_SAVE_AS_COPY', false); + } + if (empty($this->item->id)) { + JToolBarHelper::cancel($this->t['task'] . '.cancel', 'JTOOLBAR_CANCEL'); + } + else { + JToolBarHelper::cancel($this->t['task'] . '.cancel', 'JTOOLBAR_CLOSE'); + } + + JToolBarHelper::divider(); + JToolBarHelper::help( 'screen.'.$this->t['c'], true ); + } +} +?> diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfiles/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfiles/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfiles/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfiles/tmpl/default.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfiles/tmpl/default.php new file mode 100644 index 00000000..39afea89 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfiles/tmpl/default.php @@ -0,0 +1,173 @@ +t['n'] . 'RenderAdminViews'; +$r = new $class(); +$user = JFactory::getUser(); +$userId = $user->get('id'); +$listOrder = $this->escape($this->state->get('list.ordering')); +$listDirn = $this->escape($this->state->get('list.direction')); +$canOrder = $user->authorise('core.edit.state', $this->t['o']); +$saveOrder = $listOrder == 'a.ordering'; +if ($saveOrder) { + $saveOrderingUrl = 'index.php?option='.$this->t['o'].'&task='.$this->t['tasks'].'.saveOrderAjax&tmpl=component'; + JHtml::_('sortablelist.sortable', 'categoryList', 'adminForm', strtolower($listDirn), $saveOrderingUrl, false, true); +} +$sortFields = $this->getSortFields(); + +echo $r->jsJorderTable($listOrder); + + +echo $r->startForm($this->t['o'], $this->t['tasks'], 'adminForm'); +echo $r->startFilter(); +echo $r->endFilter(); + +echo $r->startMainContainer(); + +if (isset($this->tmpl['notapproved']->count) && (int)$this->tmpl['notapproved']->count > 0 ) { + echo '
×'.JText::_($this->t['l'].'_NOT_APPROVED_FILES_COUNT').': ' + .(int)$this->tmpl['notapproved']->count.'
'; +} + +echo $r->startFilterBar(); +echo $r->inputFilterSearch($this->t['l'].'_FILTER_SEARCH_LABEL', $this->t['l'].'_FILTER_SEARCH_DESC', + $this->escape($this->state->get('filter.search'))); +echo $r->inputFilterSearchClear('JSEARCH_FILTER_SUBMIT', 'JSEARCH_FILTER_CLEAR'); +echo $r->inputFilterSearchLimit('JFIELD_PLG_SEARCH_SEARCHLIMIT_DESC', $this->pagination->getLimitBox()); +echo $r->selectFilterDirection('JFIELD_ORDERING_DESC', 'JGLOBAL_ORDER_ASCENDING', 'JGLOBAL_ORDER_DESCENDING', $listDirn); +echo $r->selectFilterSortBy('JGLOBAL_SORT_BY', $sortFields, $listOrder); + +echo $r->startFilterBar(2); +echo $r->selectFilterPublished('JOPTION_SELECT_PUBLISHED', $this->state->get('filter.state')); +echo $r->selectFilterLanguage('JOPTION_SELECT_LANGUAGE', $this->state->get('filter.language')); +echo $r->selectFilterCategory(PhocaDownloadCategory::options($this->t['o']), 'JOPTION_SELECT_CATEGORY', $this->state->get('filter.category_id')); +echo $r->endFilterBar(); + +echo $r->endFilterBar(); + +echo $r->startTable('categoryList'); + +echo $r->startTblHeader(); + +echo $r->thOrdering('JGRID_HEADING_ORDERING', $listDirn, $listOrder); +echo $r->thCheck('JGLOBAL_CHECK_ALL'); +echo ''.JHTML::_('grid.sort', $this->t['l'].'_TITLE', 'a.title', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_FILENAME', 'a.filename', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_PUBLISHED', 'a.published', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_APPROVED', 'a.approved', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_CATEGORY', 'category_id', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_OWNER', 'category_owner_id', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_UPLOADED_BY', 'uploadusername', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_DOWNLOADS', 'a.hits', $listDirn, $listOrder ).''."\n"; +echo ''.JTEXT::_($this->t['l'].'_ACTIVE').''."\n"; +echo ''.JTEXT::_($this->t['l'].'_ACCESS').''."\n"; +echo ''.JHTML::_('grid.sort', 'JGRID_HEADING_LANGUAGE', 'a.language', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_ID', 'a.id', $listDirn, $listOrder ).''."\n"; + +echo $r->endTblHeader(); + +echo ''. "\n"; + +$originalOrders = array(); +$parentsStr = ""; +$j = 0; + +if (is_array($this->items)) { + foreach ($this->items as $i => $item) { + //if ($i >= (int)$this->pagination->limitstart && $j < (int)$this->pagination->limit) { + $j++; + +$urlEdit = 'index.php?option='.$this->t['o'].'&task='.$this->t['task'].'.edit&id='; +$urlTask = 'index.php?option='.$this->t['o'].'&task='.$this->t['task']; +$orderkey = array_search($item->id, $this->ordering[$item->catid]); +$ordering = ($listOrder == 'a.ordering'); +$canCreate = $user->authorise('core.create', $this->t['o']); +$canEdit = $user->authorise('core.edit', $this->t['o']); +$canCheckin = $user->authorise('core.manage', 'com_checkin') || $item->checked_out==$user->get('id') || $item->checked_out==0; +$canChange = $user->authorise('core.edit.state', $this->t['o']) && $canCheckin; +$linkEdit = JRoute::_( $urlEdit. $item->id ); + +$linkCat = JRoute::_( 'index.php?option='.$this->t['o'].'&task='.$this->t['c'].'cat.edit&id='.(int) $item->category_id ); +$canEditCat = $user->authorise('core.edit', $this->t['o']); + + +$iD = $i % 2; +echo "\n\n"; +//echo ''. "\n"; + +echo ''. "\n"; + +echo $r->tdOrder($canChange, $saveOrder, $orderkey); +echo $r->td(JHtml::_('grid.id', $i, $item->id), "small hidden-phone"); + +$checkO = ''; +if ($item->checked_out) { + $checkO .= JHtml::_('jgrid.checkedout', $i, $item->editor, $item->checked_out_time, $this->t['tasks'].'.', $canCheckin); +} +if ($canCreate || $canEdit) { + $checkO .= ''. $this->escape($item->title).''; +} else { + $checkO .= $this->escape($item->title); +} +$checkO .= '
('.JText::_($this->t['l'].'_FIELD_ALIAS_LABEL').':'. $this->escape($item->alias).')'; +echo $r->td($checkO, "small hidden-phone"); + +echo $r->td($item->filename); + +echo $r->td(JHtml::_('jgrid.published', $item->published, $i, $this->t['tasks'].'.', $canChange), "small hidden-phone"); +echo $r->td(PhocaDownloadJGrid::approved( $item->approved, $i, $this->t['tasks'].'.', $canChange), "small hidden-phone"); + +if ($canEditCat) { + $catO = ''. $this->escape($item->category_title).''; +} else { + $catO = $this->escape($item->category_title); +} +echo $r->td($catO, "small hidden-phone"); +//echo $r->td($this->escape($item->access_level), "small hidden-phone"); + +$usrO = $item->usernameno; +if ($item->username) {$usrO = $usrO . ' ('.$item->username.')';} +echo $r->td($usrO, "small hidden-phone"); + +$usrU = $item->uploadname; +if ($item->uploadusername) {$usrU = $usrU . ' ('.$item->uploadusername.')';} +echo $r->td($usrU, "small hidden-phone"); + +echo $r->td($item->hits, "small hidden-phone"); + +echo $r->tdPublishDownUp ($item->publish_up, $item->publish_down, $this->t['l']); + +echo $r->td($this->escape($item->access_level)); + +echo $r->tdLanguage($item->language, $item->language_title, $this->escape($item->language_title)); +echo $r->td($item->id, "small hidden-phone"); + +echo ''. "\n"; + + //} + } +} +echo ''. "\n"; + +echo $r->tblFoot($this->pagination->getListFooter(), 15); +echo $r->endTable(); + +echo $this->loadTemplate('batch'); + +//echo $r->formInputs($listOrder, $originalOrders); +echo $r->formInputs($listOrder, $listDirn, $originalOrders); +echo $r->endMainContainer(); +echo $r->endForm(); +?> + ?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfiles/tmpl/default_batch.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfiles/tmpl/default_batch.php new file mode 100644 index 00000000..b195b372 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfiles/tmpl/default_batch.php @@ -0,0 +1,48 @@ +state->get('filter.state'); +?> + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfiles/tmpl/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfiles/tmpl/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfiles/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfiles/view.html.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfiles/view.html.php new file mode 100644 index 00000000..6a607a9d --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadfiles/view.html.php @@ -0,0 +1,108 @@ +t = PhocaDownloadUtils::setVars('file'); + $this->items = $this->get('Items'); + $this->pagination = $this->get('Pagination'); + $this->state = $this->get('State'); + + // Preprocess the list of items to find ordering divisions. + foreach ($this->items as &$item) { + $this->ordering[$item->catid][] = $item->id; + } + + JHTML::stylesheet( $this->t['s'] ); + $this->tmpl['notapproved'] = $this->get( 'NotApprovedFile' ); + + $this->addToolbar(); + parent::display($tpl); + } + + protected function addToolbar() { + + require_once JPATH_COMPONENT.'/helpers/'.$this->t['tasks'].'.php'; + $state = $this->get('State'); + $class = ucfirst($this->t['tasks']).'Helper'; + $canDo = $class::getActions($this->t, $state->get('filter.file_id')); + $user = JFactory::getUser(); + $bar = JToolBar::getInstance('toolbar'); + + JToolBarHelper::title( JText::_($this->t['l'].'_FILES'), 'file.png' ); + if ($canDo->get('core.create')) { + JToolBarHelper::addNew( $this->t['task'].'.add','JTOOLBAR_NEW'); + JToolBarHelper::addNew( $this->t['task'].'.addtext', $this->t['l'].'_ADD_TEXT'); + JToolBarHelper::custom( $this->t['c'].'m.edit', 'multiple.png', '', $this->t['l'].'_MULTIPLE_ADD' , false); + } + if ($canDo->get('core.edit')) { + JToolBarHelper::editList($this->t['task'].'.edit','JTOOLBAR_EDIT'); + } + + if ($canDo->get('core.create')) { + //JToolBarHelper::divider(); + //JToolBarHelper::custom( $this->t['task'].'.copyquick','copy.png', '', $this->t['l'].'_QUICK_COPY', true); + //JToolBarHelper::custom( $this->t['task'].'.copy','copy.png', '', $this->t['l'].'_COPY', true); + } + + if ($canDo->get('core.edit.state')) { + + JToolBarHelper::divider(); + JToolBarHelper::custom($this->t['tasks'].'.publish', 'publish.png', 'publish_f2.png','JTOOLBAR_PUBLISH', true); + JToolBarHelper::custom($this->t['tasks'].'.unpublish', 'unpublish.png', 'unpublish_f2.png', 'JTOOLBAR_UNPUBLISH', true); + JToolBarHelper::custom( $this->t['tasks'].'.approve', 'approve.png', '', $this->t['l'].'_APPROVE' , true); + JToolBarHelper::custom( $this->t['tasks'].'.disapprove', 'disapprove.png', '', $this->t['l'].'_NOT_APPROVE' , true); + } + + if ($canDo->get('core.delete')) { + JToolBarHelper::deleteList( JText::_( $this->t['l'].'_WARNING_DELETE_ITEMS' ), $this->t['tasks'].'.delete', $this->t['l'].'_DELETE'); + } + + // Add a batch button + if ($user->authorise('core.edit')) + { + JHtml::_('bootstrap.modal', 'collapseModal'); + $title = JText::_('JTOOLBAR_BATCH'); + $dhtml = ""; + $bar->appendButton('Custom', $dhtml, 'batch'); + } + + JToolBarHelper::divider(); + JToolBarHelper::help( 'screen.'.$this->t['c'], true ); + } + + protected function getSortFields() { + return array( + 'a.ordering' => JText::_('JGRID_HEADING_ORDERING'), + 'a.title' => JText::_($this->t['l'] . '_TITLE'), + 'a.filename' => JText::_($this->t['l'] . '_FILENAME'), + 'a.hits' => JText::_($this->t['l'] . '_DOWNLOADS'), + 'a.owner_id' => JText::_($this->t['l'] . '_OWNER'), + 'uploadusername'=> JText::_($this->t['l'] . '_UPLOADED_BY'), + 'a.published' => JText::_($this->t['l'] . '_PUBLISHED'), + 'a.approved' => JText::_($this->t['l'] . '_APPROVED'), + 'category_id' => JText::_($this->t['l'] . '_CATEGORY'), + 'language' => JText::_('JGRID_HEADING_LANGUAGE'), + 'a.id' => JText::_('JGRID_HEADING_ID') + ); + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadinfo/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadinfo/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadinfo/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadinfo/tmpl/default.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadinfo/tmpl/default.php new file mode 100644 index 00000000..a56c6398 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadinfo/tmpl/default.php @@ -0,0 +1,53 @@ +'; +echo '
'.JHtmlSidebar::render().'
'; +echo '
'; +echo '
' + . JHTML::_('image', $this->t['i'] . 'logo-phoca.png', 'Phoca.cz' ) + .'
' + . JHTML::_('image', $this->t['i'] . 'logo.png', 'Phoca.cz') + .'

'.JText::_($this->t['l'].'_PHOCA_DOWNLOAD').' - '. JText::_($this->t['l'].'_INFORMATION').'

' + .'
'; + +echo '

'. JText::_($this->t['l'].'_HELP').'

'; + +echo '

' +.'Phoca Download Main Site
' +.'Phoca Download User Manual
' +.'Phoca Download Forum
' +.'

'; + +echo '

'. JText::_($this->t['l'] . '_VERSION').'

' +.'

'. $this->t['version'] .'

'; + +echo '

'. JText::_($this->t['l'] . '_COPYRIGHT').'

' +.'

© 2007 - '. date("Y"). ' Jan Pavelka

' +.'

www.phoca.cz

'; + +echo '

'. JText::_($this->t['l'] . '_LICENCE').'

' +.'

GPLv2

'; + +echo '

'. JText::_($this->t['l'] . '_TRANSLATION').': '. JText::_($this->t['l'] . '_TRANSLATION_LANGUAGE_TAG').'

' + .'

© 2007 - '. date("Y"). ' '. JText::_($this->t['l'] . '_TRANSLATER'). '

' + .'

'.JText::_($this->t['l'] . '_TRANSLATION_SUPPORT_URL').'

'; + +echo '' +.'' +.''; + +echo '

 

'; + +echo '

 

' +.''; + +echo '
 
'; + + +echo '
'; +echo '
'; + +echo ''; +echo ''; + diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadinfo/tmpl/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadinfo/tmpl/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadinfo/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadinfo/view.html.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadinfo/view.html.php new file mode 100644 index 00000000..c2bb17d7 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadinfo/view.html.php @@ -0,0 +1,46 @@ +t = PhocaDownloadUtils::setVars(); + JHTML::stylesheet( $this->t['s'] ); + JHTML::_('behavior.tooltip'); + $class = $this->t['n'] . 'Utils'; + $this->t['version'] = $class::getExtensionVersion(); + $this->addToolbar(); + parent::display($tpl); + } + + protected function addToolbar() { + require_once JPATH_COMPONENT.'/helpers/'.$this->t['c'].'cp.php'; + $class = $this->t['n'] . 'CpHelper'; + $canDo = $class::getActions($this->t['c']); + + JToolBarHelper::title( JText::_($this->t['l'].'_PD_INFO' ), 'info.png' ); + + // This button is unnecessary but it is displayed because Joomla! design bug + $bar = JToolBar::getInstance( 'toolbar' ); + $dhtml = ' '.JText::_($this->t['l'].'_CONTROL_PANEL').''; + $bar->appendButton('Custom', $dhtml); + + if ($canDo->get('core.admin')) { + JToolbarHelper::preferences('com_'.$this->t['c']); + } + JToolBarHelper::divider(); + JToolBarHelper::help( 'screen.'.$this->t['c'], true ); + } +} +?> diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlayout/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlayout/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlayout/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlayout/tmpl/edit.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlayout/tmpl/edit.php new file mode 100644 index 00000000..bf790513 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlayout/tmpl/edit.php @@ -0,0 +1,102 @@ +item->extid) && $this->item->extid != '') { + $extlink = 1; +} +$class = $this->t['n'] . 'RenderAdminView'; +$r = new $class(); + +?> +startForm($this->t['o'], $this->t['task'], $this->item->id, 'adminForm', 'adminForm'); +// First Column +echo '
'; +$tabs = array ( +'general' => JText::_($this->t['l'].'_GENERAL_OPTIONS') +); +echo $r->navigation($tabs); + +echo '
'. "\n"; + +echo '
'."\n"; + +$formArray = array('categories', 'category', 'file' ); +echo $r->group($this->form, $formArray, 1); +echo '
'. "\n"; + + +echo '
';//end tab content +echo '
';//end span10 +// Second Column +echo '
'; + +echo '
' . JText::_('COM_PHOCADOWNLOAD_LAYOUT_WARNING').'
'; + +echo '

' . JText::_('COM_PHOCADOWNLOAD_CATEGORIES_VIEW').'

'; +$lP = PhocaDownloadSettings::getLayoutParams('categories'); +echo '

' . JText::_('COM_PHOCADOWNLOAD_PARAMETERS').'

'; +if (isset($lP['search'])) { + foreach ($lP['search'] as $k => $v) { + echo $v . ' '; + } +} +echo '

' . JText::_('COM_PHOCADOWNLOAD_STYLES').'

'; +if (isset($lP['style'])) { + foreach ($lP['style'] as $k => $v) { + echo $v . ' '; + } +} +echo '
'; + +echo '

' . JText::_('COM_PHOCADOWNLOAD_CATEGORY_VIEW').'

'; +$lP = PhocaDownloadSettings::getLayoutParams('category'); +echo '

' . JText::_('COM_PHOCADOWNLOAD_PARAMETERS').'

'; +if (isset($lP['search'])) { + foreach ($lP['search'] as $k => $v) { + echo $v . ' '; + } +} +echo '

' . JText::_('COM_PHOCADOWNLOAD_STYLES').'

'; +if (isset($lP['style'])) { + foreach ($lP['style'] as $k => $v) { + echo $v . ' '; + } +} +echo '
'; + +echo '

' . JText::_('COM_PHOCADOWNLOAD_FILE_VIEW').'

'; +$lP = PhocaDownloadSettings::getLayoutParams('file'); +echo '

' . JText::_('COM_PHOCADOWNLOAD_PARAMETERS').'

'; +if (isset($lP['search'])) { + foreach ($lP['search'] as $k => $v) { + echo $v . ' '; + } +} +echo '

' . JText::_('COM_PHOCADOWNLOAD_STYLES').'

'; +if (isset($lP['style'])) { + foreach ($lP['style'] as $k => $v) { + echo $v . ' '; + } +} + +echo '
';//end span2 +echo $r->formInputs(); +echo $r->endForm(); +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlayout/tmpl/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlayout/tmpl/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlayout/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlayout/view.html.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlayout/view.html.php new file mode 100644 index 00000000..aaee5d12 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlayout/view.html.php @@ -0,0 +1,55 @@ +t = PhocaDownloadUtils::setVars('layout'); + $this->state = $this->get('State'); + $this->form = $this->get('Form'); + $this->item = $this->get('Item'); + + JHTML::stylesheet( $this->t['s'] ); + + $this->addToolbar(); + parent::display($tpl); + } + + protected function addToolbar() { + + require_once JPATH_COMPONENT.'/helpers/'.$this->t['tasks'].'.php'; + JRequest::setVar('hidemainmenu', true); + $bar = JToolBar::getInstance('toolbar'); + $user = JFactory::getUser(); + //$isNew = ($this->item->id == 0); + //$checkedOut = !($this->item->checked_out == 0 || $this->item->checked_out == $user->get('id')); + $class = ucfirst($this->t['tasks']).'Helper'; + $canDo = $class::getActions($this->t); + + JToolBarHelper::title( JText::_( $this->t['l'].'_LAYOUT' ), 'file-2' ); + JToolBarHelper::custom($this->t['task'].'.back', 'home-2', '', $this->t['l'].'_CONTROL_PANEL', false); + //JToolBarHelper::cancel('phocadownloadlayout.cancel', 'JTOOLBAR_CANCEL'); + + if ($canDo->get('core.edit')) { + JToolBarHelper::apply($this->t['task'].'.apply', 'JTOOLBAR_APPLY'); + //JToolBarHelper::save('phocapdfplugin.save', 'JTOOLBAR_SAVE'); + } + JToolBarHelper::divider(); + JToolBarHelper::help( 'screen.'.$this->t['c'], true ); + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlayouts/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlayouts/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlayouts/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlayouts/tmpl/default.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlayouts/tmpl/default.php new file mode 100644 index 00000000..6cbee284 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlayouts/tmpl/default.php @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlayouts/tmpl/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlayouts/tmpl/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlayouts/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlayouts/view.html.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlayouts/view.html.php new file mode 100644 index 00000000..298c89e5 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlayouts/view.html.php @@ -0,0 +1,26 @@ +redirect(JRoute::_('index.php?option=com_phocadownload&view=phocadownloadlayout&task=phocadownloadlayout.edit'.$idString, false)); + return; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlic/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlic/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlic/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlic/tmpl/edit.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlic/tmpl/edit.php new file mode 100644 index 00000000..ee7c2362 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlic/tmpl/edit.php @@ -0,0 +1,56 @@ +t['n'] . 'RenderAdminView'; +$r = new $class(); +?> +startForm($this->t['o'], $this->t['task'], $this->item->id, 'adminForm', 'adminForm'); +// First Column +echo '
'; +$tabs = array ( +'general' => JText::_($this->t['l'].'_GENERAL_OPTIONS'), +'publishing' => JText::_($this->t['l'].'_PUBLISHING_OPTIONS')); +echo $r->navigation($tabs); + +echo '
'. "\n"; + +echo '
'."\n"; +$formArray = array ('title', 'alias', 'ordering'); +echo $r->group($this->form, $formArray); +$formArray = array('description'); +echo $r->group($this->form, $formArray, 1); +echo '
'. "\n"; + +echo '
'."\n"; +foreach($this->form->getFieldset('publish') as $field) { + echo '
'; + if (!$field->hidden) { + echo '
'.$field->label.'
'; + } + echo '
'; + echo $field->input; + echo '
'; +} +echo '
'; + +echo '
';//end tab content +echo '
';//end span10 +// Second Column +echo '
';//end span2 +echo $r->formInputs(); +echo $r->endForm(); +?> diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlic/tmpl/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlic/tmpl/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlic/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlic/view.html.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlic/view.html.php new file mode 100644 index 00000000..5fed2880 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlic/view.html.php @@ -0,0 +1,62 @@ +t = PhocaDownloadUtils::setVars('lic'); + $this->state = $this->get('State'); + $this->form = $this->get('Form'); + $this->item = $this->get('Item'); + + JHTML::stylesheet( $this->t['s'] ); + $this->addToolbar(); + parent::display($tpl); + } + + protected function addToolbar() { + + require_once JPATH_COMPONENT.'/helpers/'.$this->t['tasks'].'.php'; + JRequest::setVar('hidemainmenu', true); + $user = JFactory::getUser(); + $isNew = ($this->item->id == 0); + $checkedOut = !($this->item->checked_out == 0 || $this->item->checked_out == $user->get('id')); + $class = ucfirst($this->t['tasks']).'Helper'; + $canDo = $class::getActions($this->t, $this->state->get('filter.lic_id')); + + $text = $isNew ? JText::_( $this->t['l'] . '_NEW' ) : JText::_($this->t['l'] . '_EDIT'); + JToolBarHelper::title( JText::_( $this->t['l'] . '_LICENSE' ).': [ ' . $text.' ]' , 'bookmark'); + + // If not checked out, can save the item. + if (!$checkedOut && $canDo->get('core.edit')){ + JToolBarHelper::apply($this->t['task'] . '.apply', 'JTOOLBAR_APPLY'); + JToolBarHelper::save($this->t['task'] . '.save', 'JTOOLBAR_SAVE'); + JToolBarHelper::addNew($this->t['task'] . '.save2new', 'JTOOLBAR_SAVE_AND_NEW'); + } + + if (empty($this->item->id)) { + JToolBarHelper::cancel($this->t['task'] . '.cancel', 'JTOOLBAR_CANCEL'); + } + else { + JToolBarHelper::cancel($this->t['task'] . '.cancel', 'JTOOLBAR_CLOSE'); + } + + JToolBarHelper::divider(); + JToolBarHelper::help( 'screen.'.$this->t['c'], true ); + } +} +?> diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlics/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlics/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlics/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlics/tmpl/default.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlics/tmpl/default.php new file mode 100644 index 00000000..776f047b --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlics/tmpl/default.php @@ -0,0 +1,123 @@ +t['n'] . 'RenderAdminViews'; +$r = new $class(); +$user = JFactory::getUser(); +$userId = $user->get('id'); +$listOrder = $this->escape($this->state->get('list.ordering')); +$listDirn = $this->escape($this->state->get('list.direction')); +$canOrder = $user->authorise('core.edit.state', $this->t['o']); +$saveOrder = $listOrder == 'a.ordering'; +if ($saveOrder) { + $saveOrderingUrl = 'index.php?option='.$this->t['o'].'&task='.$this->t['tasks'].'.saveOrderAjax&tmpl=component'; + JHtml::_('sortablelist.sortable', 'categoryList', 'adminForm', strtolower($listDirn), $saveOrderingUrl, false, true); +} +$sortFields = $this->getSortFields(); + +echo $r->jsJorderTable($listOrder); + + +echo $r->startForm($this->t['o'], $this->t['tasks'], 'adminForm'); +echo $r->startFilter(); +echo $r->endFilter(); + +echo $r->startMainContainer(); +echo $r->startFilterBar(); +echo $r->inputFilterSearch($this->t['l'].'_FILTER_SEARCH_LABEL', $this->t['l'].'_FILTER_SEARCH_DESC', + $this->escape($this->state->get('filter.search'))); +echo $r->inputFilterSearchClear('JSEARCH_FILTER_SUBMIT', 'JSEARCH_FILTER_CLEAR'); +echo $r->inputFilterSearchLimit('JFIELD_PLG_SEARCH_SEARCHLIMIT_DESC', $this->pagination->getLimitBox()); +echo $r->selectFilterDirection('JFIELD_ORDERING_DESC', 'JGLOBAL_ORDER_ASCENDING', 'JGLOBAL_ORDER_DESCENDING', $listDirn); +echo $r->selectFilterSortBy('JGLOBAL_SORT_BY', $sortFields, $listOrder); + +echo $r->startFilterBar(2); +echo $r->selectFilterPublished('JOPTION_SELECT_PUBLISHED', $this->state->get('filter.state')); +echo $r->endFilterBar(); + + +echo $r->endFilterBar(); + +echo $r->startTable('categoryList'); + +echo $r->startTblHeader(); + +echo $r->thOrdering('JGRID_HEADING_ORDERING', $listDirn, $listOrder); +echo $r->thCheck('JGLOBAL_CHECK_ALL'); +echo ''.JHTML::_('grid.sort', $this->t['l'].'_TITLE', 'a.title', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_PUBLISHED', 'a.published', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_ID', 'a.id', $listDirn, $listOrder ).''."\n"; + +echo $r->endTblHeader(); + +echo ''. "\n"; + +$originalOrders = array(); +$parentsStr = ""; +$j = 0; + +if (is_array($this->items)) { + foreach ($this->items as $i => $item) { + //if ($i >= (int)$this->pagination->limitstart && $j < (int)$this->pagination->limit) { + $j++; + +$urlEdit = 'index.php?option='.$this->t['o'].'&task='.$this->t['task'].'.edit&id='; +$urlTask = 'index.php?option='.$this->t['o'].'&task='.$this->t['task']; +$orderkey = array_search($item->id, $this->ordering[0]); +$ordering = ($listOrder == 'a.ordering'); +$canCreate = $user->authorise('core.create', $this->t['o']); +$canEdit = $user->authorise('core.edit', $this->t['o']); +$canCheckin = $user->authorise('core.manage', 'com_checkin') || $item->checked_out==$user->get('id') || $item->checked_out==0; +$canChange = $user->authorise('core.edit.state', $this->t['o']) && $canCheckin; +$linkEdit = JRoute::_( $urlEdit. $item->id ); + + +$iD = $i % 2; +echo "\n\n"; +echo ''. "\n"; + +echo $r->tdOrder($canChange, $saveOrder, $orderkey); +echo $r->td(JHtml::_('grid.id', $i, $item->id), "small hidden-phone"); + +$checkO = ''; +if ($item->checked_out) { + $checkO .= JHtml::_('jgrid.checkedout', $i, $item->editor, $item->checked_out_time, $this->t['tasks'].'.', $canCheckin); +} +if ($canCreate || $canEdit) { + $checkO .= ''. $this->escape($item->title).''; +} else { + $checkO .= $this->escape($item->title); +} +$checkO .= ' ('.JText::_($this->t['l'].'_FIELD_ALIAS_LABEL').':'. $this->escape($item->alias).')'; +echo $r->td($checkO, "small hidden-phone"); + +echo $r->td(JHtml::_('jgrid.published', $item->published, $i, $this->t['tasks'].'.', $canChange), "small hidden-phone"); + +echo $r->td($item->id, "small hidden-phone"); + +echo ''. "\n"; + + //} + } +} +echo ''. "\n"; + +echo $r->tblFoot($this->pagination->getListFooter(), 5); +echo $r->endTable(); + +//echo $r->formInputs($listOrder, $originalOrders); +echo $r->formInputs($listOrder, $listDirn, $originalOrders); +echo $r->endMainContainer(); +echo $r->endForm(); +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlics/tmpl/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlics/tmpl/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlics/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlics/view.html.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlics/view.html.php new file mode 100644 index 00000000..d3c805a9 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlics/view.html.php @@ -0,0 +1,81 @@ +t = PhocaDownloadUtils::setVars('lic'); + $this->items = $this->get('Items'); + $this->pagination = $this->get('Pagination'); + $this->state = $this->get('State'); + + // Preprocess the list of items to find ordering divisions. + foreach ($this->items as &$item) { + $this->ordering[0][] = $item->id; + } + + JHTML::stylesheet( $this->t['s'] ); + + if (count($errors = $this->get('Errors'))) { + JError::raiseError(500, implode("\n", $errors)); + return false; + } + + $this->addToolbar(); + parent::display($tpl); + } + + function addToolbar() { + + require_once JPATH_COMPONENT.'/helpers/'.$this->t['tasks'].'.php'; + $state = $this->get('State'); + $class = ucfirst($this->t['tasks']).'Helper'; + $canDo = $class::getActions($this->t, $state->get('filter.lic_id')); + + JToolBarHelper::title( JText::_( $this->t['l'].'_LICENSES' ), 'bookmark' ); + + if ($canDo->get('core.create')) { + JToolBarHelper::addNew($this->t['task'].'.add','JTOOLBAR_NEW'); + } + + if ($canDo->get('core.edit')) { + JToolBarHelper::editList($this->t['task'].'.edit','JTOOLBAR_EDIT'); + } + if ($canDo->get('core.edit.state')) { + + JToolBarHelper::divider(); + JToolBarHelper::custom($this->t['tasks'].'.publish', 'publish.png', 'publish_f2.png','JTOOLBAR_PUBLISH', true); + JToolBarHelper::custom($this->t['tasks'].'.unpublish', 'unpublish.png', 'unpublish_f2.png', 'JTOOLBAR_UNPUBLISH', true); + } + + if ($canDo->get('core.delete')) { + JToolBarHelper::deleteList( $this->t['l'].'_WARNING_DELETE_ITEMS', $this->t['tasks'].'.delete', $this->t['l'].'_DELETE'); + } + JToolBarHelper::divider(); + JToolBarHelper::help( 'screen.'.$this->t['c'], true ); + } + + protected function getSortFields() { + return array( + 'a.ordering' => JText::_('JGRID_HEADING_ORDERING'), + 'a.title' => JText::_($this->t['l'] . '_TITLE'), + 'a.published' => JText::_($this->t['l'] . '_PUBLISHED'), + 'a.id' => JText::_('JGRID_HEADING_ID') + ); + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkcat/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkcat/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkcat/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkcat/tmpl/default.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkcat/tmpl/default.php new file mode 100644 index 00000000..7c0e3578 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkcat/tmpl/default.php @@ -0,0 +1,93 @@ + + + + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkcat/tmpl/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkcat/tmpl/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkcat/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkcat/view.html.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkcat/view.html.php new file mode 100644 index 00000000..35f8a1c7 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkcat/view.html.php @@ -0,0 +1,66 @@ +isAdmin()) { + $tUri = JURI::base(); + + } + + $document = JFactory::getDocument(); + $uri = JFactory::getURI(); + JHTML::stylesheet( 'media/com_phocadownload/css/administrator/phocadownload.css' ); + + $eName = JRequest::getVar('e_name'); + $this->t['ename'] = preg_replace( '#[^A-Z0-9\-\_\[\]]#i', '', $eName ); + $this->t['backlink'] = $tUri.'index.php?option=com_phocadownload&view=phocadownloadlinks&tmpl=component&e_name='.$this->t['ename']; + + $model = $this->getModel(); + + // build list of categories + //$javascript = 'class="inputbox" size="1" onchange="submitform( );"'; + $javascript = 'class="inputbox" size="1"'; + $filter_catid = ''; + + $query = 'SELECT a.title AS text, a.id AS value, a.parent_id as parentid' + . ' FROM #__phocadownload_categories AS a' + . ' WHERE a.published = 1' + //. ' AND a.approved = 1' + . ' ORDER BY a.ordering'; + $db->setQuery( $query ); + $phocadownloads = $db->loadObjectList(); + + $tree = array(); + $text = ''; + $tree = PhocaDownloadCategory::CategoryTreeOption($phocadownloads, $tree, 0, $text, -1); + array_unshift($tree, JHTML::_('select.option', '0', '- '.JText::_('COM_PHOCADOWNLOAD_SELECT_CATEGORY').' -', 'value', 'text')); + $lists['catid'] = JHTML::_( 'select.genericlist', $tree, 'catid', $javascript , 'value', 'text', $filter_catid ); + //----------------------------------------------------------------------- + + $this->assignRef('lists', $lists); + + parent::display($tpl); + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkcats/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkcats/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkcats/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkcats/tmpl/default.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkcats/tmpl/default.php new file mode 100644 index 00000000..77382a5d --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkcats/tmpl/default.php @@ -0,0 +1,65 @@ + + + + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkcats/tmpl/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkcats/tmpl/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkcats/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkcats/view.html.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkcats/view.html.php new file mode 100644 index 00000000..7bf6ac4a --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkcats/view.html.php @@ -0,0 +1,72 @@ +isAdmin()) { + $tUri = JURI::base(); + + } + + $document = JFactory::getDocument(); + $uri = JFactory::getURI(); + JHTML::stylesheet( 'media/com_phocadownload/css/administrator/phocadownload.css' ); + + $eName = JRequest::getVar('e_name'); + $this->t['ename'] = preg_replace( '#[^A-Z0-9\-\_\[\]]#i', '', $eName ); + $this->t['backlink'] = $tUri.'index.php?option=com_phocadownload&view=phocadownloadlinks&tmpl=component&e_name='.$this->t['ename']; + + + // Category Tree + $db = JFactory::getDBO(); + $query = 'SELECT a.title AS text, a.id AS value, a.parent_id as parentid' + . ' FROM #__phocadownload_categories AS a' + // . ' WHERE a.published = 1' You can hide not published and not authorized categories too + // . ' AND a.approved = 1' + . ' ORDER BY a.ordering'; + $db->setQuery( $query ); + $categories = $db->loadObjectList(); + + $tree = array(); + $text = ''; + $tree = PhocaDownloadCategory::CategoryTreeOption($categories, $tree, 0, $text, -1); + //----------------------------------------------------------------------- + + // Multiple + $ctrl = 'hidecategories'; + $attribs = ' '; + $attribs .= ' size="5"'; + //$attribs .= 'class="'.$v.'"'; + $attribs .= ' class="inputbox"'; + $attribs .= ' multiple="multiple"'; + $ctrl .= ''; + //$value = implode( '|', ) + + $categoriesOutput = JHTML::_('select.genericlist', $tree, $ctrl, $attribs, 'value', 'text', 0, 'hidecategories' ); + + $this->assignRef('categoriesoutput', $categoriesOutput); + + parent::display($tpl); + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkfile/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkfile/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkfile/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkfile/tmpl/default.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkfile/tmpl/default.php new file mode 100644 index 00000000..35cd6b58 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkfile/tmpl/default.php @@ -0,0 +1,398 @@ +lists['order'] == 'a.ordering'); + +JHTML::_('behavior.tooltip'); + +if ($this->t['type'] == 0) { + $view = 'file'; +} else if ($this->t['type'] == 1) { + $view = 'fileplaylink'; +} else if ($this->t['type'] == 2) { + $view = 'fileplay'; +} else if ($this->t['type'] == 3) { + $view = 'filepreviewlink'; +} else if ($this->t['type'] == 4) { + $view = 'filelist'; +} + + +?> + + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkfile/tmpl/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkfile/tmpl/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkfile/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkfile/view.html.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkfile/view.html.php new file mode 100644 index 00000000..454c2b0b --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkfile/view.html.php @@ -0,0 +1,130 @@ +isAdmin()) { + $tUri = JURI::base(); + + } + + JHTML::stylesheet( 'media/com_phocadownload/css/administrator/phocadownload.css' ); + + $eName = JRequest::getVar('e_name'); + $this->t['ename'] = preg_replace( '#[^A-Z0-9\-\_\[\]]#i', '', $eName ); + $this->t['type'] = JRequest::getVar( 'type', 1, '', 'int' ); + $this->t['backlink'] = $tUri.'index.php?option=com_phocadownload&view=phocadownloadlinks&tmpl=component&e_name='.$this->t['ename']; + + + $params = JComponentHelper::getParams('com_phocadownload') ; + + //Filter + $context = 'com_phocadownload.phocadownload.list.'; + //$sectionid = JRequest::getVar( 'sectionid', -1, '', 'int' ); + //$redirect = $sectionid; + $option = JRequest::getCmd( 'option' ); + + $filter_state = $app->getUserStateFromRequest( $this->_context.'.filter_state', 'filter_state', '', 'word' ); + $filter_catid = $app->getUserStateFromRequest( $this->_context.'.filter_catid', 'filter_catid', 0, 'int' ); + $catid = $app->getUserStateFromRequest( $this->_context.'.catid', 'catid', 0, 'int'); + // $filter_sectionid = $app->getUserStateFromRequest( $this->_context.'.filter_sectionid','filter_sectionid', -1, 'int'); + $filter_order = $app->getUserStateFromRequest( $this->_context.'.filter_order', 'filter_order', 'a.ordering', 'cmd' ); + $filter_order_Dir = $app->getUserStateFromRequest( $this->_context.'.filter_order_Dir', 'filter_order_Dir', '', 'word' ); + $search = $app->getUserStateFromRequest( $this->_context.'.search','search', '', 'string' ); + $search = JString::strtolower( $search ); + + // Get data from the model + $items = $this->get( 'Data'); + $total = $this->get( 'Total'); + $pagination = $this->get( 'Pagination' ); + + // build list of categories + + if ($this->t['type'] != 4) { + $javascript = 'class="inputbox" size="1" onchange="submitform( );"'; + } else { + $javascript = ''; + } + // get list of categories for dropdown filter + $filter = ''; + + //if ($filter_sectionid > 0) { + // $filter = ' WHERE cc.section = '.$db->Quote($filter_sectionid); + //} + + // get list of categories for dropdown filter + $query = 'SELECT cc.id AS value, cc.title AS text' . + ' FROM #__phocadownload_categories AS cc' . + $filter . + ' ORDER BY cc.ordering'; + + if ($this->t['type'] != 4) { + $lists['catid'] = PhocaDownloadCategory::filterCategory($query, $catid, null, true, true); + } else { + $lists['catid'] = PhocaDownloadCategory::filterCategory($query, $catid, null, false, true); + } + /* + if ($this->t['type'] != 4) { + $lists['catid'] = PhocaDownloadCategory::filterCategory($query, $catid, null, true); + } else { + $lists['catid'] = PhocaDownloadCategory::filterCategory($query, $catid, null, false); + }*/ + + // sectionid + /*$query = 'SELECT s.title AS text, s.id AS value' + . ' FROM #__phocadownload_sections AS s' + . ' WHERE s.published = 1' + . ' ORDER BY s.ordering'; + + $lists['sectionid'] = PhocaDownloadCategory::filterSection($query, $filter_sectionid);*/ + + // state filter + $lists['state'] = JHTML::_('grid.state', $filter_state ); + + // table ordering + $lists['order_Dir'] = $filter_order_Dir; + $lists['order'] = $filter_order; + + // search filter + $lists['search']= $search; + + + $user = JFactory::getUser(); + $uriS = $uri->toString(); + $this->assignRef('user', $user); + $this->assignRef('lists', $lists); + + $this->assignRef('items', $items); + $this->assignRef('pagination', $pagination); + $this->assignRef('request_url', $uriS); + + parent::display($tpl); + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinks/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinks/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinks/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinks/tmpl/default.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinks/tmpl/default.php new file mode 100644 index 00000000..41c0cf0d --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinks/tmpl/default.php @@ -0,0 +1,20 @@ +' +.'
' +.''.JText::_( 'COM_PHOCADOWNLOAD_SELECT_TYPE' ).'' +.'' +.'
' +.'' +.''; +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinks/tmpl/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinks/tmpl/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinks/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinks/view.html.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinks/view.html.php new file mode 100644 index 00000000..37f9e618 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinks/view.html.php @@ -0,0 +1,48 @@ +isAdmin()) { + $tUri = JURI::base(); + + } + + $document = JFactory::getDocument(); + $uri = JFactory::getURI(); + JHTML::stylesheet( 'media/com_phocadownload/css/administrator/phocadownload.css' ); + + $eName = JRequest::getVar('e_name'); + $eName = preg_replace( '#[^A-Z0-9\-\_\[\]]#i', '', $eName ); + + + $this->t['linkcategories'] = $tUri.'index.php?option=com_phocadownload&view=phocadownloadlinkcats&tmpl=component&e_name='.$eName; + $this->t['linkcategory'] = $tUri.'index.php?option=com_phocadownload&view=phocadownloadlinkcat&tmpl=component&e_name='.$eName; + $this->t['linkfile'] = $tUri.'index.php?option=com_phocadownload&view=phocadownloadlinkfile&tmpl=component&e_name='.$eName; + $this->t['linkytb'] = $tUri.'index.php?option=com_phocadownload&view=phocadownloadlinkytb&tmpl=component&e_name='.$eName; + + + parent::display($tpl); + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkytb/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkytb/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkytb/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkytb/tmpl/default.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkytb/tmpl/default.php new file mode 100644 index 00000000..78998660 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkytb/tmpl/default.php @@ -0,0 +1,54 @@ + + + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkytb/tmpl/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkytb/tmpl/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkytb/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkytb/view.html.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkytb/view.html.php new file mode 100644 index 00000000..84a4f953 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlinkytb/view.html.php @@ -0,0 +1,42 @@ +isAdmin()) { + $tUri = JURI::base(); + + } + JHTML::stylesheet( 'media/com_phocadownload/css/administrator/phocadownload.css' ); + + $eName = JRequest::getVar('e_name'); + $this->t['ename'] = preg_replace( '#[^A-Z0-9\-\_\[\]]#i', '', $eName ); + $this->t['backlink'] = $tUri.'index.php?option=com_phocadownload&view=phocadownloadlinks&tmpl=component&e_name='.$this->t['ename']; + + $this->assignRef('tmpl', $this->t); + parent::display($tpl); + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlogs/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlogs/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlogs/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlogs/tmpl/default.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlogs/tmpl/default.php new file mode 100644 index 00000000..89b0436a --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlogs/tmpl/default.php @@ -0,0 +1,147 @@ +t['n'] . 'RenderAdminViews'; +$r = new $class(); +$user = JFactory::getUser(); +$userId = $user->get('id'); +$listOrder = $this->escape($this->state->get('list.ordering')); +$listDirn = $this->escape($this->state->get('list.direction')); +$canOrder = $user->authorise('core.edit.state', $this->t['o']); +$saveOrder = $listOrder == 'a.ordering'; +if ($saveOrder) { + $saveOrderingUrl = 'index.php?option='.$this->t['o'].'&task='.$this->t['tasks'].'.saveOrderAjax&tmpl=component'; + JHtml::_('sortablelist.sortable', 'categoryList', 'adminForm', strtolower($listDirn), $saveOrderingUrl, false, true); +} +$sortFields = $this->getSortFields(); + +echo $r->jsJorderTable($listOrder); + +if ($this->t['p']->get('enable_logging', 0) == 0) { + echo '
×'. JText::_('COM_PHOCADOWNLOAD_LOGGING_NOT_ENABLED').'
'; +} + +echo $r->startForm($this->t['o'], $this->t['tasks'], 'adminForm'); +echo $r->startFilter(); +//echo $r->selectFilterLanguage('JOPTION_SELECT_LANGUAGE', $this->state->get('filter.language')); +//echo $r->selectFilterCategory(PhocaDownloadCategory::options($this->t['o']), 'JOPTION_SELECT_CATEGORY', $this->state->get('filter.category_id')); +echo $r->endFilter(); + +echo $r->startMainContainer(); +echo $r->startFilterBar(); +echo $r->inputFilterSearch($this->t['l'].'_FILTER_SEARCH_LABEL', $this->t['l'].'_FILTER_SEARCH_DESC', + $this->escape($this->state->get('filter.search'))); +echo $r->inputFilterSearchClear('JSEARCH_FILTER_SUBMIT', 'JSEARCH_FILTER_CLEAR'); +echo $r->inputFilterSearchLimit('JFIELD_PLG_SEARCH_SEARCHLIMIT_DESC', $this->pagination->getLimitBox()); +echo $r->selectFilterDirection('JFIELD_ORDERING_DESC', 'JGLOBAL_ORDER_ASCENDING', 'JGLOBAL_ORDER_DESCENDING', $listDirn); +echo $r->selectFilterSortBy('JGLOBAL_SORT_BY', $sortFields, $listOrder); + +echo $r->startFilterBar(2); +echo $r->selectFilterType($this->t['l'].'_SELECT_TYPE', $this->state->get('filter.type'), array(1 => JText::_($this->t['l'].'_DOWNLOADS'), 2 =>JText::_($this->t['l'].'_UPLOADS'))); +echo $r->endFilterBar(); + + +echo $r->endFilterBar(); + +echo $r->startTable('categoryList'); + +echo $r->startTblHeader(); + +echo '';//$r->thOrdering('JGRID_HEADING_ORDERING', 0,0); +echo $r->thCheck('JGLOBAL_CHECK_ALL'); +echo ''.JHTML::_('grid.sort', $this->t['l'].'_DATE', 'a.date', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_USER', 'username', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_IP', 'a.ip', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_FILE', 'filename', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_CATEGORY', 'category_id', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_PAGE', 'a.page', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_TYPE', 'a.type', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_ID', 'a.id', $listDirn, $listOrder ).''."\n"; + +echo $r->endTblHeader(); + +echo ''. "\n"; + +$originalOrders = array(); +$parentsStr = ""; +$j = 0; + +if (is_array($this->items)) { + foreach ($this->items as $i => $item) { + //if ($i >= (int)$this->pagination->limitstart && $j < (int)$this->pagination->limit) { + $j++; +/* +$urlEdit = 'index.php?option='.$this->t['o'].'&task='.$this->t['task'].'.edit&id='; +$urlTask = 'index.php?option='.$this->t['o'].'&task='.$this->t['task']; +$orderkey = array_search($item->id, $this->ordering[$item->catid]); +$ordering = ($listOrder == 'a.ordering'); +$canCreate = $user->authorise('core.create', $this->t['o']); +$canEdit = $user->authorise('core.edit', $this->t['o']); +$canCheckin = $user->authorise('core.manage', 'com_checkin') || $item->checked_out==$user->get('id') || $item->checked_out==0; +$canChange = $user->authorise('core.edit.state', $this->t['o']) && $canCheckin; +$linkEdit = JRoute::_( $urlEdit. $item->id ); + +$linkCat = JRoute::_( 'index.php?option='.$this->t['o'].'&task='.$this->t['c'].'cat.edit&id='.(int) $item->category_id ); +$canEditCat = $user->authorise('core.edit', $this->t['o']);*/ + + +$iD = $i % 2; +echo "\n\n"; +echo ''. "\n"; + +echo $r->tdOrder(0,0,0); +echo $r->td(JHtml::_('grid.id', $i, $item->id), "small hidden-phone"); + + +echo $r->td($this->escape($item->date)); + +$usrO = $item->usernameno; +if ($item->username) {$usrO = $usrO . ' ('.$item->username.')';} +if (!$usrO) { + $usrO = JText::_('COM_PHOCADOWNLOAD_GUEST'); +} +echo $r->td($usrO, "small hidden-phone"); + +echo $r->td($this->escape($item->ip)); + +//echo $r->td($this->escape($item->filetitle)); +echo $r->td($this->escape($item->file_title) . ' ('.$this->escape($item->filename) . ')'); + +echo $r->td($this->escape($item->category_id)); +echo $r->td('' + .''. JText::_( $this->t['l'].'_PAGE' ).''); + +if ($item->type == 2) { + echo $r->td(''.JText::_($this->t['l'].'_UPLOAD').'', "small hidden-phone"); +} else { + echo $r->td(''.JText::_($this->t['l'].'_DOWNLOAD').'', "small hidden-phone"); +} + +echo $r->td($item->id, "small hidden-phone"); + +echo ''. "\n"; + + //} + } +} +echo ''. "\n"; + +echo $r->tblFoot($this->pagination->getListFooter(), 15); +echo $r->endTable(); + +//echo $r->formInputs($listOrder, $originalOrders); +echo $r->formInputs($listOrder, $listDirn, $originalOrders); +echo $r->endMainContainer(); +echo $r->endForm(); +?> diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlogs/tmpl/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlogs/tmpl/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlogs/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlogs/view.html.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlogs/view.html.php new file mode 100644 index 00000000..185bdb95 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadlogs/view.html.php @@ -0,0 +1,82 @@ +t = PhocaDownloadUtils::setVars('log'); + $this->items = $this->get('Items'); + $this->pagination = $this->get('Pagination'); + $this->state = $this->get('State'); + $this->t['p'] = JComponentHelper::getParams('com_phocadownload'); + + JHTML::stylesheet( $this->t['s'] ); + + // Check for errors. + if (count($errors = $this->get('Errors'))) { + JError::raiseError(500, implode("\n", $errors)); + return false; + } + + $this->addToolbar(); + parent::display($tpl); + + } + + function addToolbar() { + + require_once JPATH_COMPONENT.'/helpers/'.$this->t['tasks'].'.php'; + //$state = $this->get('State'); + $class = ucfirst($this->t['tasks']).'Helper'; + $canDo = $class::getActions($this->t); + + JToolBarHelper::title( JText::_( $this->t['l'].'_LOGGING' ), 'file-2' ); + + if ($canDo->get('core.edit')){ + + $bar = JToolBar::getInstance('toolbar'); + + $dhtml = ''; + $bar->appendButton('Custom', $dhtml); + JToolBarHelper::divider(); + //JToolBarHelper::custom('phocadownloaduserstat.reset', 'reset.png', '', 'COM_PHOCADOWNLOAD_RESET' , false); + } + + //JToolBarHelper::cancel($this->t['tasks'].'.cancel', 'JTOOLBAR_CLOSE'); + + JToolBarHelper::help( 'screen.'.$this->t['c'], true ); + } + + protected function getSortFields() { + return array( + 'a.date' => JText::_($this->t['l'] . '_DATE'), + 'usernameno' => JText::_($this->t['l'] . '_USER'), + 'username' => JText::_($this->t['l'] . '_USERNAME'), + 'd.title' => JText::_($this->t['l'] . '_TITLE'), + 'filename' => JText::_($this->t['l'] . '_FILENAME'), + 'category_id' => JText::_($this->t['l'] . '_CATEGORY'), + 'a.ip' => JText::_($this->t['l'] . '_IP'), + 'a.page' => JText::_($this->t['l'] . '_PAGE'), + 'a.type' => JText::_($this->t['l'] . '_TYPE'), + 'a.id' => JText::_($this->t['l'] . '_ID') + + ); + } + +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadmanager/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadmanager/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadmanager/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadmanager/tmpl/default.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadmanager/tmpl/default.php new file mode 100644 index 00000000..2f8d6879 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadmanager/tmpl/default.php @@ -0,0 +1,192 @@ +manager == 'filemultiple') { + + ?>'; + +if ($this->manager == 'filemultiple') { + echo $r->startForm($this->t['o'], $this->t['task'], 'adminForm', 'adminForm'); + echo '
'; + echo '

'. JText::_('COM_PHOCADOWNLOAD_MULTIPLE_ADD').'

'; + + echo '
'."\n"; + $formArray = array ('title', 'alias','published', 'approved', 'ordering', 'catid', 'language', 'pap_copy_m'); + echo $r->group($this->form, $formArray); + echo '
'. "\n"; + + echo '
'. "\n"; +} + +if ($this->manager == 'filemultiple') { + echo '
'; +} else { + echo '
'; +} + +echo '
' . JText::_('COM_PHOCADOWNLOAD_PATH'). ': '.JPath::clean($this->t['path']['orig_abs_ds']. $this->folderstate->folder) .'
'; + +//$countFaF = count($this->images) + count($this->folders); +echo '' +.'' +.''; +echo ''. "\n"; + +echo '' +.'' +.'' +.''; + + + + +/* +echo '
'; + +if ($this->manager == 'filemultiple' && (count($this->files) > 0 || count($this->folders) > 0)) { + echo '
'; + $fileFolders = count($this->files) + count($this->folders); + echo ''; + echo '  '. JText::_('COM_PHOCADOWNLOAD_CHECK_ALL'); + echo '
'; +}*/ +echo '
'; +echo $this->loadTemplate('up'); +if (count($this->files) > 0 || count($this->folders) > 0) { ?> +
+ + folders); $i<$n; $i++) : + $this->setFolder($i); + $this->folderi = $i; + echo $this->loadTemplate('folder'); + endfor; ?> + + files); $i<$n; $i++) : + $this->setFile($i); + $this->filei = $i; + echo $this->loadTemplate('file'); + endfor; ?> + +
+' + .'' + .'' + .'' + .''; +} +echo '' +.'
'. "\n"; +if ($this->manager == 'filemultiple') { + echo ''. "\n"; +} else { + echo ''; +} +echo ' '.JText::_( $this->t['l'].'_FILENAME' ).'
  '.JText::_( $this->t['l'].'_THERE_IS_NO_FILE' ).'
'; + +if ($this->manager == 'filemultiple') { + + echo ''. "\n"; + echo ''. "\n"; + echo ''. "\n"; + echo JHtml::_('form.token'); + echo $r->endForm(); + + echo '
'; + echo '
'; + +} ?> + +
 
+ +t['displaytabs'] > 0) { + + echo ''; + + + echo '
'. "\n"; + + echo '
'. "\n"; + echo $this->loadTemplate('upload'); + echo '
'. "\n"; + echo '
'. "\n"; + echo $this->loadTemplate('multipleupload'); + echo '
'. "\n"; + + echo '
'. "\n"; + //echo PhocaDownloadFileUpload::renderCreateFolder($this->session->getName(), $this->session->getId(), $this->currentFolder, 'phocadownloadmanager', 'manager='.$this->manager.'&tab='.$this->t['currenttab']['upload'].'&field='. $this->field ); + echo PhocaDownloadFileUpload::renderCreateFolder($this->session->getName(), $this->session->getId(), $this->currentFolder, 'phocadownloadmanager', 'manager='.$this->manager.'&tab=createfolder&field='. $this->field ); + echo '
'. "\n"; + + echo '
'. "\n"; +} +echo '
'; + +if ($this->t['tab'] != '') {$jsCt = 'a[href=#'.$this->t['tab'] .']';} else {$jsCt = 'a:first';} +echo ''; +?> diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadmanager/tmpl/default_file.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadmanager/tmpl/default_file.php new file mode 100644 index 00000000..17e0f991 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadmanager/tmpl/default_file.php @@ -0,0 +1,53 @@ +_tmp_file->path_without_name_relative ); +$group = PhocaDownloadSettings::getManagerGroup($this->manager); + + +if ($this->manager == 'filemultiple') { + $checked = JHTML::_('grid.id', $this->filei + count($this->folders), $this->files[$this->filei]->path_with_name_relative_no ); + + $icon = PhocaDownloadFile::getMimeTypeIcon($this->_tmp_file->name); + echo '' + .' '. $checked .'' + .' ' + . $icon .'' + .' ' . $this->_tmp_file->name . '' + .''; + + +} else { + if (($group['i'] == 1) && ($ext == 'png' || $ext == 'jpg' || $ext == 'gif' || $ext == 'jpeg') ) { + + echo '' + .'' + .'' + .'' + . JHTML::_( 'image', str_replace( '../', '', $this->_tmp_file->path_without_name_relative), JText::_('COM_PHOCADOWNLOAD_INSERT'), array('title' => JText::_('COM_PHOCADOWNLOAD_INSERT_ICON'))) + .'' + .' ' + .'' + . $this->_tmp_file->name + .'' + .'' + .''; + + } else { + + echo '' + .'' + .'' + .'' + . JHTML::_( 'image', $this->t['i'].'icon-file.png', '', JText::_('COM_PHOCADOWNLOAD_INSERT_FILENAME')) + .'' + .' ' + .'' + . $this->_tmp_file->name + .'' + .'' + .''; + } +} +?> diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadmanager/tmpl/default_folder.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadmanager/tmpl/default_folder.php new file mode 100644 index 00000000..aaef6b1e --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadmanager/tmpl/default_folder.php @@ -0,0 +1,36 @@ + +manager); + +if ($this->manager == 'filemultiple') { + + $checked = JHTML::_('grid.id', $this->folderi, $this->folders[$this->folderi]->path_with_name_relative_no, 0, 'foldercid' ); + $link = 'index.php?option=com_phocadownload&view=phocadownloadmanager' + .'&manager='.$this->manager + .$group['c'] + .'&folder='.$this->_tmp_folder->path_with_name_relative_no + .'&field='. $this->field; + + echo '' + .' '. $checked .'' + .' ' + . JHTML::_( 'image', $this->t['i'].'icon-16-folder-small.png', '').'' + .' '. $this->_tmp_folder->name.'' + .''; + +} else { + + $link = 'index.php?option=com_phocadownload&view=phocadownloadmanager' + .'&manager='. $this->manager + . $group['c'] + .'&folder='.$this->_tmp_folder->path_with_name_relative_no + .'&field='. $this->field; + + echo '' + .' ' + .' ' + . JHTML::_( 'image', $this->t['i'].'icon-16-folder-small.png', JText::_('COM_PHOCADOWNLOAD_OPEN')).'' + .' '. $this->_tmp_folder->name.'' + .''; +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadmanager/tmpl/default_multipleupload.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadmanager/tmpl/default_multipleupload.php new file mode 100644 index 00000000..95ab4e61 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadmanager/tmpl/default_multipleupload.php @@ -0,0 +1,13 @@ +t['c'].'-multipleupload" class="ph-in">'; +echo $this->t['mu_response_msg'] ; +echo '
'; +if ($this->t['ftp']) {echo PhocaDownloadFileUpload::renderFTPaccess();} +echo '
' . JText::_( $this->t['l'].'_UPLOAD_FILE' ).' [ '. JText::_( $this->t['l'].'_MAX_SIZE' ).': '.$this->t['uploadmaxsizeread'].',' + .']
'; +echo ''.JText::_($this->t['l'].'_SELECT_FILES').'. '.JText::_($this->t['l'].'_ADD_FILES_TO_UPLOAD_QUEUE_AND_CLICK_START_BUTTON').''; +echo $this->t['mu_output']; +echo '
'; +echo ''; +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadmanager/tmpl/default_up.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadmanager/tmpl/default_up.php new file mode 100644 index 00000000..84358c61 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadmanager/tmpl/default_up.php @@ -0,0 +1,11 @@ +manager); +$link = 'index.php?option='.$this->t['o'].'&view='.$this->t['task'].'&manager='.$this->manager . $group['c'] .'&folder='.$this->folderstate->parent .'&field='. $this->field; +echo ' ' +.'' +.'' +. JHTML::_( 'image', $this->t['i'].'icon-16-up.png', '').'' +.'' +.'..' +.''; \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadmanager/tmpl/default_upload.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadmanager/tmpl/default_upload.php new file mode 100644 index 00000000..5493f738 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadmanager/tmpl/default_upload.php @@ -0,0 +1,12 @@ +t['c'].'-upload" class="ph-in">'; +echo '
'; +echo '
'; +if ($this->t['ftp']) { echo PhocaDownloadFileUpload::renderFTPaccess();} +echo '
'. JText::_( $this->t['l'].'_UPLOAD_FILE' ).' [ '. JText::_( $this->t['l'].'_MAX_SIZE' ).': '.$this->t['uploadmaxsizeread'].']
'; +echo $this->t['su_output']; +echo '
'; +echo '
'; +echo ''; +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadmanager/tmpl/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadmanager/tmpl/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadmanager/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadmanager/view.html.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadmanager/view.html.php new file mode 100644 index 00000000..dfaac094 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadmanager/view.html.php @@ -0,0 +1,185 @@ +t = PhocaDownloadUtils::setVars('manager'); + $this->field = JRequest::getVar('field'); + $this->fce = 'phocaSelectFileName_'.$this->field; + + JHTML::stylesheet( $this->t['s'] ); + + + $this->folderstate = $this->get('FolderState'); + $this->files = $this->get('Files'); + $this->folders = $this->get('Folders'); + $this->session = JFactory::getSession(); + $this->manager = JRequest::getVar( 'manager', '', '', 'file' ); + + if ($this->manager == 'filemultiple') { + $this->form = $this->get('Form'); + } + + $params = JComponentHelper::getParams($this->t['o']); + + $this->t['multipleuploadchunk'] = $params->get( 'multiple_upload_chunk', 0 ); + $this->t['uploadmaxsize'] = $params->get( 'upload_maxsize', 3145728 ); + $this->t['uploadmaxsizeread'] = PhocaDownloadFile::getFileSizeReadable($this->t['uploadmaxsize']); + $this->t['enablemultiple'] = $params->get( 'enable_multiple_upload_admin', 0 ); + $this->t['multipleuploadmethod'] = $params->get( 'multiple_upload_method', 4 ); + + $this->currentFolder = ''; + if (isset($this->folderstate->folder) && $this->folderstate->folder != '') { + $this->currentFolder = $this->folderstate->folder; + } + + // - - - - - - - - - - + //TABS + // - - - - - - - - - - + $this->t['tab'] = JRequest::getVar('tab', '', '', 'string'); + $this->t['displaytabs'] = 0; + + // UPLOAD + $this->t['currenttab']['upload'] = $this->t['displaytabs']; + $this->t['displaytabs']++; + + // MULTIPLE UPLOAD + if((int)$this->t['enablemultiple'] >= 0) { + $this->t['currenttab']['multipleupload'] = $this->t['displaytabs']; + $this->t['displaytabs']++; + } + + $group = PhocaDownloadSettings::getManagerGroup($this->manager); + + // - - - - - - - - - - - + // Upload + // - - - - - - - - - - - + $sU = new PhocaDownloadFileUploadSingle(); + $sU->returnUrl = 'index.php?option=com_phocadownload&view=phocadownloadmanager&tab=upload'.str_replace('&', '&', $group['c']).'&manager='.$this->manager.'&field='.$this->field.'&folder='. $this->currentFolder; + $sU->tab = 'upload'; + $this->t['su_output'] = $sU->getSingleUploadHTML(); + $this->t['su_url'] = JURI::base().'index.php?option=com_phocadownload&task=phocadownloadupload.upload&' + .$this->session->getName().'='.$this->session->getId().'&' + . JSession::getFormToken().'=1&viewback=phocadownloadmanager&manager='.$this->manager.'&field='.$this->field.'&' + .'folder='. $this->currentFolder.'&tab=upload'; + + + // - - - - - - - - - - - + // Multiple Upload + // - - - - - - - - - - - + // Get infos from multiple upload + $muFailed = JRequest::getVar( 'mufailed', '0', '', 'int' ); + $muUploaded = JRequest::getVar( 'muuploaded', '0', '', 'int' ); + $this->t['mu_response_msg'] = $muUploadedMsg = ''; + + if ($muUploaded > 0) { + $muUploadedMsg = JText::_('COM_PHOCADOWNLOAD_COUNT_UPLOADED_FILE'). ': ' . $muUploaded; + } + if ($muFailed > 0) { + $muFailedMsg = JText::_('COM_PHOCADOWNLOAD_COUNT_NOT_UPLOADED_FILE'). ': ' . $muFailed; + } + if ($muFailed > 0 && $muUploaded > 0) { + $this->t['mu_response_msg'] = '
' + .'' + .JText::_('COM_PHOCADOWNLOAD_COUNT_UPLOADED_FILE'). ': ' . $muUploaded .'
' + .JText::_('COM_PHOCADOWNLOAD_COUNT_NOT_UPLOADED_FILE'). ': ' . $muFailed.'
'; + } else if ($muFailed > 0 && $muUploaded == 0) { + $this->t['mu_response_msg'] = '
' + .'' + .JText::_('COM_PHOCADOWNLOAD_COUNT_NOT_UPLOADED_FILE'). ': ' . $muFailed.'
'; + } else if ($muFailed == 0 && $muUploaded > 0){ + $this->t['mu_response_msg'] = '
' + .'' + .JText::_('COM_PHOCADOWNLOAD_COUNT_UPLOADED_FILE'). ': ' . $muUploaded.'
'; + } else { + $this->t['mu_response_msg'] = ''; + } + + if((int)$this->t['enablemultiple'] >= 0) { + + PhocadownloadFileUploadMultiple::renderMultipleUploadLibraries(); + $mU = new PhocaDownloadFileUploadMultiple(); + $mU->frontEnd = 0; + $mU->method = $this->t['multipleuploadmethod']; + $mU->url = JURI::base().'index.php?option=com_phocadownload&task=phocadownloadupload.multipleupload&' + .$this->session->getName().'='.$this->session->getId().'&' + . JSession::getFormToken().'=1&tab=multipleupload&manager='.$this->manager.'&field='.$this->field.'&folder='. $this->currentFolder; + $mU->reload = JURI::base().'index.php?option=com_phocadownload&view=phocadownloadmanager' + .str_replace('&', '&', $group['c']).'&' + .$this->session->getName().'='.$this->session->getId().'&' + . JSession::getFormToken().'=1&tab=multipleupload&' + .'manager='.$this->manager.'&field='.$this->field.'&folder='. $this->currentFolder; + $mU->maxFileSize = PhocadownloadFileUploadMultiple::getMultipleUploadSizeFormat($this->t['uploadmaxsize']); + $mU->chunkSize = '1mb'; + + $mU->renderMultipleUploadJS(0, $this->t['multipleuploadchunk']); + $this->t['mu_output']= $mU->getMultipleUploadHTML(); + } + + + $this->t['ftp'] = !JClientHelper::hasCredentials('ftp'); + $this->t['path'] = PhocaDownloadPath::getPathSet($this->manager); + + $this->addToolbar(); + parent::display($tpl); + echo JHTML::_('behavior.keepalive'); + } + + function setFolder($index = 0) { + if (isset($this->folders[$index])) { + $this->_tmp_folder = &$this->folders[$index]; + } else { + $this->_tmp_folder = new JObject; + } + } + + function setFile($index = 0) { + if (isset($this->files[$index])) { + $this->_tmp_file = &$this->files[$index]; + } else { + $this->_tmp_file = new JObject; + } + } + + protected function addToolbar() { + + JRequest::setVar('hidemainmenu', true); + require_once JPATH_COMPONENT.'/helpers/'.$this->t['task'].'.php'; + $state = $this->get('State'); + $class = ucfirst($this->t['task']).'Helper'; + $canDo = $class::getActions($this->t, $state->get('filter.multiple')); + + JToolBarHelper::title( JText::_( $this->t['l'].'_MULTIPLE_ADD' ), 'plus' ); + + if ($canDo->get('core.create')){ + JToolBarHelper::save($this->t['c'].'m.save', 'JTOOLBAR_SAVE'); + } + + JToolBarHelper::cancel($this->t['c'].'m.cancel', 'JTOOLBAR_CLOSE'); + JToolBarHelper::divider(); + JToolBarHelper::help( 'screen.'.$this->t['c'], true ); + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadrafile/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadrafile/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadrafile/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadrafile/tmpl/default.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadrafile/tmpl/default.php new file mode 100644 index 00000000..7b53437c --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadrafile/tmpl/default.php @@ -0,0 +1,143 @@ +t['n'] . 'RenderAdminViews'; +$r = new $class(); +$user = JFactory::getUser(); +$userId = $user->get('id'); +$listOrder = $this->escape($this->state->get('list.ordering')); +$listDirn = $this->escape($this->state->get('list.direction')); +$canOrder = $user->authorise('core.edit.state', $this->t['o']); +$saveOrder = $listOrder == 'a.ordering'; +if ($saveOrder) { + $saveOrderingUrl = 'index.php?option='.$this->t['o'].'&task='.$this->t['task'].'.saveOrderAjax&tmpl=component'; + JHtml::_('sortablelist.sortable', 'categoryList', 'adminForm', strtolower($listDirn), $saveOrderingUrl, false, true); +} +$sortFields = $this->getSortFields(); + +echo $r->jsJorderTable($listOrder); + +if (isset($this->tmpl['notapproved']->count) && (int)$this->tmpl['notapproved']->count > 0 ) { + echo '
×'.JText::_($this->t['l'].'_NOT_APPROVED_FILES_COUNT').': ' + .(int)$this->tmpl['notapproved']->count.'
'; +} + +echo $r->startForm($this->t['o'], $this->t['task'], 'adminForm'); +echo $r->startFilter($this->t['l'].'_FILTER'); +echo $r->selectFilterPublished('JOPTION_SELECT_PUBLISHED', $this->state->get('filter.state')); +echo $r->selectFilterLanguage('JOPTION_SELECT_LANGUAGE', $this->state->get('filter.language')); +echo $r->selectFilterCategory(PhocaDownloadCategory::options($this->t['o']), 'JOPTION_SELECT_CATEGORY', $this->state->get('filter.category_id')); +echo $r->endFilter(); + +echo $r->startMainContainer(); +echo $r->startFilterBar(); +echo $r->inputFilterSearch($this->t['l'].'_FILTER_SEARCH_LABEL', $this->t['l'].'_FILTER_SEARCH_DESC', + $this->escape($this->state->get('filter.search'))); +echo $r->inputFilterSearchClear('JSEARCH_FILTER_SUBMIT', 'JSEARCH_FILTER_CLEAR'); +echo $r->inputFilterSearchLimit('JFIELD_PLG_SEARCH_SEARCHLIMIT_DESC', $this->pagination->getLimitBox()); +echo $r->selectFilterDirection('JFIELD_ORDERING_DESC', 'JGLOBAL_ORDER_ASCENDING', 'JGLOBAL_ORDER_DESCENDING', $listDirn); +echo $r->selectFilterSortBy('JGLOBAL_SORT_BY', $sortFields, $listOrder); +echo $r->endFilterBar(); + +echo $r->startTable('categoryList'); + +echo $r->startTblHeader(); + +//echo $r->thOrdering('JGRID_HEADING_ORDERING', $listDirn, $listOrder); +echo ''; +echo $r->thCheck('JGLOBAL_CHECK_ALL'); +echo ''.JHTML::_('grid.sort', $this->t['l'].'_USER', 'ua.username', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_FILENAME', 'file_title', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_CATEGORY', 'category_title', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_RATING', 'a.rating', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_ID', 'a.id', $listDirn, $listOrder ).''."\n"; + +echo $r->endTblHeader(); + +echo ''. "\n"; + +$originalOrders = array(); +$parentsStr = ""; +$j = 0; + +if (is_array($this->items)) { + foreach ($this->items as $i => $item) { + if ($i >= (int)$this->pagination->limitstart && $j < (int)$this->pagination->limit) { + $j++; + +$urlEdit = 'index.php?option='.$this->t['o'].'&task='.$this->t['task'].'.edit&id='; +$urlTask = 'index.php?option='.$this->t['o'].'&task='.$this->t['task']; +$orderkey = 0;//array_search($item->id, $this->ordering[0]); +$ordering = ($listOrder == 'a.ordering'); +$canCreate = $user->authorise('core.create', $this->t['o']); +$canEdit = $user->authorise('core.edit', $this->t['o']); +$canCheckin = $user->authorise('core.manage', 'com_checkin') || $item->checked_out==$user->get('id') || $item->checked_out==0; +$canChange = $user->authorise('core.edit.state', $this->t['o']) && $canCheckin; +$linkEdit = JRoute::_( $urlEdit. $item->id ); + +$linkCat = JRoute::_( 'index.php?option='.$this->t['o'].'&task='.$this->t['c'].'cat.edit&id='.(int) $item->category_id ); +$canEditCat = $user->authorise('core.edit', $this->t['o']); + +$linkImg = JRoute::_( 'index.php?option='.$this->t['o'].'&task='.$this->t['c'].'file.edit&id='.(int) $item->file_id ); +$canEditImg = $user->authorise('core.edit', $this->t['o']); + + + +$iD = $i % 2; +echo "\n\n"; +echo ''. "\n"; + +echo $r->tdOrder($canChange, $saveOrder, $orderkey); +echo $r->td(JHtml::_('grid.id', $i, $item->id), "small hidden-phone"); + +$usrU = $item->ratingname; +if ($item->ratingusername) {$usrU = $usrU . ' ('.$item->ratingusername.')';} +echo $r->td($usrU, "small hidden-phone"); + + + +if ($canEditImg) { + $imgO = ''. $this->escape($item->file_title).''; +} else { + $imgO = $this->escape($item->file_title); +} +echo $r->td($imgO, "small hidden-phone"); + +if ($canEditCat) { + $catO = ''. $this->escape($item->category_title).''; +} else { + $catO = $this->escape($item->category_title); +} +echo $r->td($catO, "small hidden-phone"); + +//echo $r->td($item->rating, "small hidden-phone"); +echo $r->tdRating($item->rating); + +echo $r->td($item->id, "small hidden-phone"); + +echo ''. "\n"; + + } + } +} +echo ''. "\n"; + +echo $r->tblFoot($this->pagination->getListFooter(), 15); +echo $r->endTable(); + +//echo $r->formInputs($listOrder, $originalOrders); +echo $r->formInputs($listOrder, $listDirn, $originalOrders); +echo $r->endMainContainer(); +echo $r->endForm(); +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadrafile/tmpl/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadrafile/tmpl/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadrafile/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadrafile/view.html.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadrafile/view.html.php new file mode 100644 index 00000000..b7980057 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadrafile/view.html.php @@ -0,0 +1,70 @@ +t = PhocaDownloadUtils::setVars('rafile'); + $this->items = $this->get('Items'); + $this->pagination = $this->get('Pagination'); + $this->state = $this->get('State'); + + JHTML::stylesheet( $this->t['s'] ); + JHTML::stylesheet( 'media/com_phocadownload/css/administrator/rating.css' ); + + if (count($errors = $this->get('Errors'))) { + JError::raiseError(500, implode("\n", $errors)); + return false; + } + + $this->addToolbar(); + parent::display($tpl); + } + + function addToolbar() { + + require_once JPATH_COMPONENT.'/helpers/'.$this->t['task'].'.php'; + + $bar = JToolBar::getInstance('toolbar'); + $user = JFactory::getUser(); + //$isNew = ($this->item->id == 0); + //$checkedOut = !($this->item->checked_out == 0 || $this->item->checked_out == $user->get('id')); + $class = ucfirst($this->t['task']).'Helper'; + $canDo = $class::getActions($this->t, $this->state->get('filter.category_id')); + + + JToolBarHelper::title( JText::_( $this->t['l'].'_FILE_RATING' ), 'star' ); + + if ($canDo->get('core.delete')) { + JToolBarHelper::deleteList( JText::_( $this->t['l'].'_WARNING_DELETE_ITEMS' ), $this->t['task'].'.delete', $this->t['l'].'_DELETE'); + } + JToolBarHelper::divider(); + JToolBarHelper::help( 'screen.'.$this->t['c'], true ); + } + + protected function getSortFields() { + return array( + //'a.ordering' => JText::_('JGRID_HEADING_ORDERING'), + 'ua.username' => JText::_($this->t['l'] . '_USER'), + 'file_title' => JText::_($this->t['l'] . '_FILENAME'), + 'category_id' => JText::_($this->t['l'] . '_CATEGORY'), + 'a.rating' => JText::_($this->t['l'] . '_RATING'), + 'a.id' => JText::_('JGRID_HEADING_ID') + ); + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadset/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadset/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadset/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadset/tmpl/default.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadset/tmpl/default.php new file mode 100644 index 00000000..51bab2c2 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadset/tmpl/default.php @@ -0,0 +1,66 @@ + + + + + +
+ +
+
+ + + + items as $value) { + + echo ''; + echo ''; + + echo ''; + echo ''; + + } + ?> + +
'; + echo ''; + echo ''; + + switch ($value->type) { + case 'textarea': + echo PhocaDownloadHelper::getTextareaSettings($value->id, $value->title, $value->value); + break; + + case 'textareaeditor': + echo PhocaDownloadHelper::getTextareaEditorSettings($value->id, $value->title, $value->value); + break; + + case 'select': + echo PhocaDownloadHelper::getSelectSettings($value->id, $value->title, $value->value, $value->values); + break; + + + case 'text': + default: + if ($value->title == 'absolute_path') { + echo '
' . JText::_('Experts only!'). '
'; + echo '
' . JText::_('Root Path') . ': ' . JPATH_ROOT . '
'; + } + echo PhocaDownloadHelper::getTextSettings($value->id, $value->title, $value->value); + break; + + } + echo '
+
+
+
+ + + + + +
+ + diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadset/tmpl/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadset/tmpl/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadset/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadset/view.html.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadset/view.html.php new file mode 100644 index 00000000..37eb1df4 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadset/view.html.php @@ -0,0 +1,42 @@ +get( 'Data'); + + $this->assignRef('items', $items); + $this->assignRef('request_url', $uri->toString()); + + parent::display($tpl); + $this->_setToolbar(); + } + + function _setToolbar() { + JToolBarHelper::title( JText::_( 'Phoca Download Settings' ), 'settings.png' ); + JToolBarHelper::save(); + JToolBarHelper::apply(); + JToolBarHelper::cancel( 'cancel', 'Close' ); + JToolBarHelper::help( 'screen.phocadownload', true ); + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstat/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstat/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstat/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstat/tmpl/default.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstat/tmpl/default.php new file mode 100644 index 00000000..66dfa632 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstat/tmpl/default.php @@ -0,0 +1,150 @@ +t['n'] . 'RenderAdminViews'; +$r = new $class(); +$user = JFactory::getUser(); +$userId = $user->get('id'); +$listOrder = $this->escape($this->state->get('list.ordering')); +$listDirn = $this->escape($this->state->get('list.direction')); +$canOrder = $user->authorise('core.edit.state', $this->t['o']); +$saveOrder = $listOrder == 'a.ordering'; +if ($saveOrder) { + $saveOrderingUrl = 'index.php?option='.$this->t['o'].'&task='.$this->t['task'].'.saveOrderAjax&tmpl=component'; + JHtml::_('sortablelist.sortable', 'categoryList', 'adminForm', strtolower($listDirn), $saveOrderingUrl, false, true); +} +$sortFields = $this->getSortFields(); + +echo $r->jsJorderTable($listOrder); + +echo '
'; + +echo $r->startForm($this->t['o'], $this->t['task'], 'adminForm'); +echo $r->startFilter($this->t['l'].'_FILTER'); +echo $r->selectFilterPublished('JOPTION_SELECT_PUBLISHED', $this->state->get('filter.state')); +//echo $r->selectFilterLanguage('JOPTION_SELECT_LANGUAGE', $this->state->get('filter.language')); +echo $r->endFilter(); + +echo $r->startMainContainer(); +echo $r->startFilterBar(); +echo $r->inputFilterSearch($this->t['l'].'_FILTER_SEARCH_LABEL', $this->t['l'].'_FILTER_SEARCH_DESC', + $this->escape($this->state->get('filter.search'))); +echo $r->inputFilterSearchClear('JSEARCH_FILTER_SUBMIT', 'JSEARCH_FILTER_CLEAR'); +echo $r->inputFilterSearchLimit('JFIELD_PLG_SEARCH_SEARCHLIMIT_DESC', $this->pagination->getLimitBox()); +echo $r->selectFilterDirection('JFIELD_ORDERING_DESC', 'JGLOBAL_ORDER_ASCENDING', 'JGLOBAL_ORDER_DESCENDING', $listDirn); +echo $r->selectFilterSortBy('JGLOBAL_SORT_BY', $sortFields, $listOrder); +echo $r->endFilterBar(); + +echo $r->startTable('categoryList'); + +echo $r->startTblHeader(); + +//echo $r->thOrdering('JGRID_HEADING_ORDERING', $listDirn, $listOrder); +echo ''; +echo $r->thCheck('JGLOBAL_CHECK_ALL'); +echo ''.JHTML::_('grid.sort', $this->t['l'].'_TITLE', 'a.title', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_FILENAME', 'a.filename', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_DOWNLOADS', 'a.hits', $listDirn, $listOrder ).''."\n"; + +echo $r->endTblHeader(); + + +echo ''. "\n"; + +$color = 0; +$colors = array ( +'#FF8080','#FF9980','#FFB380','#FFC080','#FFCC80','#FFD980','#FFE680','#FFF280','#FFFF80','#E6FF80', +'#CCFF80','#99FF80','#80FF80','#80FFC9','#80FFFF','#80C9FF','#809FFF','#9191FF','#AA80FF','#B580FF', +'#D580FF','#FF80FF','#FF80DF','#FF80B8'); + +$originalOrders = array(); +$parentsStr = ""; +$j = 0; + +if (is_array($this->items)) { + foreach ($this->items as $i => $item) { + //if ($i >= (int)$this->pagination->limitstart && $j < (int)$this->pagination->limit) { + if ($item->textonly == 0) { + $j++; + + +$urlEdit = 'index.php?option='.$this->t['o'].'&task='.$this->t['task'].'.edit&id='; +$urlTask = 'index.php?option='.$this->t['o'].'&task='.$this->t['task']; +$orderkey = array_search($item->id, $this->ordering[0]); +$ordering = ($listOrder == 'a.ordering'); +$canCreate = $user->authorise('core.create', $this->t['o']); +$canEdit = $user->authorise('core.edit', $this->t['o']); +$canCheckin = $user->authorise('core.manage', 'com_checkin') || $item->checked_out==$user->get('id') || $item->checked_out==0; +$canChange = $user->authorise('core.edit.state', $this->t['o']) && $canCheckin; +$linkEdit = JRoute::_( $urlEdit. $item->id ); + + +$iD = $i % 2; +echo "\n\n"; +echo ''. "\n"; + +echo $r->tdOrder($canChange, $saveOrder, $orderkey); +echo $r->td(JHtml::_('grid.id', $i, $item->id), "small hidden-phone"); + +$checkO = ''; +if ($item->checked_out) { + $checkO .= JHtml::_('jgrid.checkedout', $i, $item->editor, $item->checked_out_time, $this->t['tasks'].'.', $canCheckin); +} +if ($canCreate || $canEdit) { + $checkO .= ''. $this->escape($item->title).''; +} else { + $checkO .= $this->escape($item->title); +} +$checkO .= '
('.JText::_($this->t['l'].'_FIELD_ALIAS_LABEL').':'. $this->escape($item->alias).')'; +echo $r->td($checkO, "small hidden-phone"); + +echo $r->td($item->filename); + + +if ((int)$this->maxandsum->maxhit == 0) { + $per = 0; + $perOutput = 0; +} else { + $per = round((int)$item->hits / (int)$this->maxandsum->maxhit * 500); + $perOutput = round((int)$item->hits / (int)$this->maxandsum->sumhit * 100); +} + +echo ''; +echo '
'; +// echo '['. $row->id .']'; +echo '
 '.$item->hits.' ('.$perOutput .' %)  
'; +echo '
'; +echo ''; + +$color++; +if ($color > 23) { + $color = 0; +} + + + +echo ''. "\n"; + } + //} + } +} +echo ''. "\n"; + +echo $r->tblFoot($this->pagination->getListFooter(), 5); +echo $r->endTable(); + +//echo $r->formInputs($listOrder, $originalOrders); +echo $r->formInputs($listOrder, $listDirn, $originalOrders); +echo $r->endMainContainer(); +echo $r->endForm(); +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstat/tmpl/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstat/tmpl/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstat/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstat/view.html.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstat/view.html.php new file mode 100644 index 00000000..c40c5915 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstat/view.html.php @@ -0,0 +1,66 @@ +t = PhocaDownloadUtils::setVars('stat'); + $this->items = $this->get('Items'); + $this->pagination = $this->get('Pagination'); + $this->state = $this->get('State'); + $this->maxandsum = $this->get('MaxAndSum'); + + foreach ($this->items as &$item) { + if ($item->textonly == 0) { + $this->ordering[0][] = $item->id; + } + } + + JHTML::stylesheet( $this->t['s'] ); + + if (count($errors = $this->get('Errors'))) { + JError::raiseError(500, implode("\n", $errors)); + return false; + } + + $this->addToolbar(); + parent::display($tpl); + } + + function addToolbar() { + require_once JPATH_COMPONENT.'/helpers/'.$this->t['task'].'.php'; + $class = ucfirst($this->t['task']).'Helper'; + $canDo = $class::getActions($this->t); + JToolBarHelper::title( JText::_( $this->t['l'].'_STATISTICS' ), 'chart' ); + JToolBarHelper::custom($this->t['task'].'.back', 'home-2', '', $this->t['l'].'_CONTROL_PANEL', false); + // JToolBarHelper::cancel($this->t['task'].'.cancel', 'JTOOLBAR_CLOSE'); + JToolBarHelper::divider(); + JToolBarHelper::help( 'screen.'.$this->t['c'], true ); + } + + protected function getSortFields() { + return array( + 'a.ordering' => JText::_('JGRID_HEADING_ORDERING'), + 'a.title' => JText::_($this->t['l'] . '_TITLE'), + 'a.filename' => JText::_($this->t['l'] . '_FILENAME'), + 'a.hits' => JText::_($this->t['l'] . '_DOWNLOADS'), + 'a.id' => JText::_('JGRID_HEADING_ID') + ); + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstyle/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstyle/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstyle/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstyle/tmpl/edit.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstyle/tmpl/edit.php new file mode 100644 index 00000000..fe0e441c --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstyle/tmpl/edit.php @@ -0,0 +1,81 @@ +t['n'] . 'RenderAdminView'; +$r = new $class(); + +?> +startForm($this->t['o'], $this->t['task'], $this->item->id, 'adminForm', 'adminForm'); +// First Column +echo '
'; +$tabs = array ( +'general' => JText::_($this->t['l'].'_GENERAL_OPTIONS'), +'publishing' => JText::_($this->t['l'].'_PUBLISHING_OPTIONS')); +echo $r->navigation($tabs); + +echo '
'. "\n"; + +echo '
'."\n"; + +if ($this->ftp) { echo $this->loadTemplate('ftp');} + +//$formArray = array ('title', 'type', 'filename', 'ordering'); +//echo $r->group($this->form, $formArray); + +echo '
'; +echo $r->item($this->form, 'title'); +echo $this->form->getInput('type'); +echo $r->item($this->form, 'typeoutput'); +echo $r->item($this->form, 'filename', $this->t['ssuffixtype']); +echo $r->item($this->form, 'ordering'); + +echo '
'; + +echo '
'; +echo $this->form->getLabel('source'); +echo '
'; +echo '
'; +echo $this->form->getInput('source'); +echo '
'; + +echo '
'. "\n"; + +echo '
'."\n"; +foreach($this->form->getFieldset('publish') as $field) { + echo '
'; + if (!$field->hidden) { + echo '
'.$field->label.'
'; + } + echo '
'; + echo $field->input; + echo '
'; +} +echo '
'; + +// Second Column +echo '
';//end span2 +echo $r->formInputs(); +echo $r->endForm(); +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstyle/tmpl/edit_ftp.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstyle/tmpl/edit_ftp.php new file mode 100644 index 00000000..3b1114a6 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstyle/tmpl/edit_ftp.php @@ -0,0 +1,41 @@ + +
+ + + + + ftp instanceof Exception): ?> +

ftp->message); ?>

+ + + + + + + + + + + + + +
+ + + +
+ + + +
+
diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstyle/tmpl/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstyle/tmpl/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstyle/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstyle/view.html.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstyle/view.html.php new file mode 100644 index 00000000..6a0cfae7 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstyle/view.html.php @@ -0,0 +1,89 @@ +t = PhocaDownloadUtils::setVars('style'); + JHTML::stylesheet( $this->t['s'] ); + + $this->state = $this->get('State'); + $this->item = $this->get('Item'); + $this->form = $this->get('Form'); + $this->ftp = JClientHelper::setCredentialsFromRequest('ftp'); + $model = $this->getModel(); + + // Set CSS for codemirror + JFactory::getApplication()->setUserState('editor.source.syntax', 'css'); + + + // New or edit + if (!$this->form->getValue('id') || $this->form->getValue('id') == 0) { + $this->form->setValue('source', null, ''); + $this->form->setValue('type', null, 2); + $this->t['ssuffixtype'] = JText::_($this->t['l'].'_WILL_BE_CREATED_FROM_TITLE'); + + } else { + $this->source = $model->getSource($this->form->getValue('id'), $this->form->getValue('filename'), $this->form->getValue('type')); + $this->form->setValue('source', null, $this->source->source); + $this->t['ssuffixtype'] = ''; + } + + // Only help input form field - to display Main instead of 1 and Custom instead of 2 + if ($this->form->getValue('type') == 1) { + $this->form->setValue('typeoutput', null, JText::_($this->t['l'].'_MAIN_CSS')); + } else { + $this->form->setValue('typeoutput', null, JText::_($this->t['l'].'_CUSTOM_CSS')); + } + + if (count($errors = $this->get('Errors'))) { + JError::raiseError(500, implode("\n", $errors)); + return false; + } + + $this->addToolbar(); + parent::display($tpl); + } + + protected function addToolbar() { + + require_once JPATH_COMPONENT.'/helpers/'.$this->t['tasks'].'.php'; + JRequest::setVar('hidemainmenu', true); + $bar = JToolBar::getInstance('toolbar'); + $user = JFactory::getUser(); + $isNew = ($this->item->id == 0); + $checkedOut = !($this->item->checked_out == 0 || $this->item->checked_out == $user->get('id')); + $class = ucfirst($this->t['tasks']).'Helper'; + $canDo = $class::getActions($this->t, $this->state->get('filter.category_id')); + + $text = $isNew ? JText::_( $this->t['l'] . '_NEW' ) : JText::_($this->t['l'] . '_EDIT'); + JToolBarHelper::title( JText::_( $this->t['l'] . '_STYLE' ).': [ ' . $text.' ]' , 'eye'); + + // If not checked out, can save the item. + if (!$checkedOut && $canDo->get('core.edit')){ + JToolBarHelper::apply($this->t['task'].'.apply', 'JTOOLBAR_APPLY'); + JToolBarHelper::save($this->t['task'].'.save', 'JTOOLBAR_SAVE'); + } + + JToolBarHelper::cancel($this->t['task'].'.cancel', 'JTOOLBAR_CLOSE'); + JToolBarHelper::divider(); + JToolBarHelper::help( 'screen.'.$this->t['c'], true ); + } + +} +?> diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstyles/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstyles/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstyles/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstyles/tmpl/default.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstyles/tmpl/default.php new file mode 100644 index 00000000..1ca1ee60 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstyles/tmpl/default.php @@ -0,0 +1,149 @@ +t['n'] . 'RenderAdminViews'; +$r = new $class(); + +$user = JFactory::getUser(); +$userId = $user->get('id'); +$listOrder = $this->escape($this->state->get('list.ordering')); +$listDirn = $this->escape($this->state->get('list.direction')); +$canOrder = $user->authorise('core.edit.state', $this->t['o']); +$saveOrder = $listOrder == 'a.ordering'; +if ($saveOrder) { + $saveOrderingUrl = 'index.php?option='.$this->t['o'].'&task='.$this->t['tasks'].'.saveOrderAjax&tmpl=component'; + JHtml::_('sortablelist.sortable', 'categoryList', 'adminForm', strtolower($listDirn), $saveOrderingUrl, false, true); +} +$sortFields = $this->getSortFields(); + + +echo $r->jsJorderTable($listOrder); + +echo $r->startForm($this->t['o'], $this->t['tasks'], 'adminForm'); +echo $r->startFilter(); +echo $r->endFilter(); + +echo $r->startMainContainer(); +echo $r->startFilterBar(); +echo $r->inputFilterSearch($this->t['l'].'_FILTER_SEARCH_LABEL', $this->t['l'].'_FILTER_SEARCH_DESC', + $this->escape($this->state->get('filter.search'))); +echo $r->inputFilterSearchClear('JSEARCH_FILTER_SUBMIT', 'JSEARCH_FILTER_CLEAR'); +echo $r->inputFilterSearchLimit('JFIELD_PLG_SEARCH_SEARCHLIMIT_DESC', $this->pagination->getLimitBox()); +echo $r->selectFilterDirection('JFIELD_ORDERING_DESC', 'JGLOBAL_ORDER_ASCENDING', 'JGLOBAL_ORDER_DESCENDING', $listDirn); +echo $r->selectFilterSortBy('JGLOBAL_SORT_BY', $sortFields, $listOrder); + +echo $r->startFilterBar(2); +echo $r->selectFilterPublished('JOPTION_SELECT_PUBLISHED', $this->state->get('filter.state')); +echo $r->selectFilterLanguage('JOPTION_SELECT_LANGUAGE', $this->state->get('filter.language')); +echo $r->selectFilterCategory(PhocaDownloadCategory::options(1), $this->t['l'].'_FILTER_SELECT_TYPE', $this->state->get('filter.category_id')); +echo $r->endFilterBar(); + + +echo $r->endFilterBar(); + +echo $r->startTable('categoryList'); + +echo $r->startTblHeader(); + +echo $r->thOrdering('JGRID_HEADING_ORDERING', $listDirn, $listOrder); +echo $r->thCheck('JGLOBAL_CHECK_ALL'); +echo ''.JHTML::_('grid.sort', $this->t['l'].'_TITLE', 'a.title', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_FILENAME', 'a.title', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_PUBLISHED', 'a.published', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_TYPE', 'a.type', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', 'JGRID_HEADING_LANGUAGE', 'a.language', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_ID', 'a.id', $listDirn, $listOrder ).''."\n"; + +echo $r->endTblHeader(); + +echo ''. "\n"; + +$originalOrders = array(); +$j = 0; + +if (is_array($this->items)) { + foreach ($this->items as $i => $item) { + //if ($i >= (int)$this->pagination->limitstart && $j < (int)$this->pagination->limit) { + $j++; + +$urlEdit = 'index.php?option='.$this->t['o'].'&task='.$this->t['task'].'.edit&id='; +$urlTask = 'index.php?option='.$this->t['o'].'&task='.$this->t['task']; +$orderkey = array_search($item->id, $this->ordering[$item->type]); +$ordering = ($listOrder == 'a.ordering'); +$canCreate = $user->authorise('core.create', $this->t['o']); +$canEdit = $user->authorise('core.edit', $this->t['o']); +$canCheckin = $user->authorise('core.manage', 'com_checkin') || $item->checked_out==$user->get('id') || $item->checked_out==0; +$canChange = $user->authorise('core.edit.state', $this->t['o']) && $canCheckin; +$linkEdit = JRoute::_( $urlEdit. $item->id ); + +$iD = $i % 2; +echo "\n\n"; +//echo ''. "\n"; +echo ''. "\n"; +echo $r->tdOrder($canChange, $saveOrder, $orderkey); +echo $r->td(JHtml::_('grid.id', $i, $item->id), "small hidden-phone"); + + +$checkO = ''; +if ($item->checked_out) { + $checkO .= JHtml::_('jgrid.checkedout', $i, $item->editor, $item->checked_out_time, $this->t['tasks'].'.', $canCheckin); +} +if ($canCreate || $canEdit) { + $checkO .= ''. $this->escape($item->title).''; +} else { + $checkO .= $this->escape($item->title); +} + +echo $r->td($checkO, "small hidden-phone"); + +$filename = PhocaDownloadFile::existsCss($item->filename, $item->type); +$main = ''; +if ((int)$item->type == 1) { + $main = ' '.JText::_($this->t['l'].'_MAIN').''; +} +if ($filename) { + echo $r->td($item->filename . $main .' '.JText::_($this->t['l'].'_FILE_EXISTS').'', "small hidden-phone"); +} else { + echo $r->td($item->filename . $main .' '.JText::_($this->t['l'].'_FILE_DOES_NOT_EXIST').'', "small hidden-phone"); +} + +echo $r->td(JHtml::_('jgrid.published', $item->published, $i, $this->t['tasks'].'.', $canChange), "small hidden-phone"); + +switch($item->type) { + case 2: + echo $r->td(JText::_($this->t['l'].'_CUSTOM_CSS'), "small hidden-phone"); + break; + case 1: + default: + echo $r->td(JText::_($this->t['l'].'_MAIN_CSS'), "small hidden-phone"); + break; +} +echo $r->tdLanguage($item->language, $item->language_title, $this->escape($item->language_title)); +echo $r->td($item->id, "small hidden-phone"); + +echo ''. "\n"; + + //} + } +} +echo ''. "\n"; + +echo $r->tblFoot($this->pagination->getListFooter(), 15); +echo $r->endTable(); + +//echo $r->formInputs($listOrder, $originalOrders); +echo $r->formInputs($listOrder, $listDirn, $originalOrders); +echo $r->endMainContainer(); +echo $r->endForm(); +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstyles/tmpl/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstyles/tmpl/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstyles/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstyles/view.html.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstyles/view.html.php new file mode 100644 index 00000000..94e55bd1 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadstyles/view.html.php @@ -0,0 +1,88 @@ +t = PhocaDownloadUtils::setVars('style'); + $model = $this->getModel(); + $model->checkItems(); + $this->items = $this->get('Items'); + $this->pagination = $this->get('Pagination'); + $this->state = $this->get('State'); + + JHTML::stylesheet( $this->t['s'] ); + + foreach ($this->items as &$item) { + $this->ordering[$item->type][] = $item->id; + } + + // Check for errors. + if (count($errors = $this->get('Errors'))) { + JError::raiseError(500, implode("\n", $errors)); + return false; + } + + $this->addToolbar(); + parent::display($tpl); + + } + + function addToolbar() { + + require_once JPATH_COMPONENT.'/helpers/'.$this->t['tasks'].'.php'; + $state = $this->get('State'); + $class = ucfirst($this->t['tasks']).'Helper'; + $canDo = $class::getActions($this->t, $state->get('filter.category_id')); + + JToolBarHelper::title( JText::_( $this->t['l'].'_STYLES' ), 'eye' ); + + if ($canDo->get('core.create')) { + JToolBarHelper::addNew( $this->t['task'].'.add','JTOOLBAR_NEW'); + } + + if ($canDo->get('core.edit')) { + JToolBarHelper::editList($this->t['task'].'.edit','JTOOLBAR_EDIT'); + } + if ($canDo->get('core.edit.state')) { + + JToolBarHelper::divider(); + JToolBarHelper::custom($this->t['tasks'].'.publish', 'publish.png', 'publish_f2.png','JTOOLBAR_PUBLISH', true); + JToolBarHelper::custom($this->t['tasks'].'.unpublish', 'unpublish.png', 'unpublish_f2.png', 'JTOOLBAR_UNPUBLISH', true); + } + + if ($canDo->get('core.delete')) { + JToolBarHelper::deleteList( JText::_( $this->t['l'].'_WARNING_DELETE_ITEMS' ), $this->t['tasks'].'.delete', $this->t['l'].'_DELETE'); + } + JToolBarHelper::divider(); + JToolBarHelper::help( 'screen.'.$this->t['c'], true ); + } + + protected function getSortFields() { + return array( + 'a.ordering' => JText::_('JGRID_HEADING_ORDERING'), + 'a.title' => JText::_($this->t['l'] . '_TITLE'), + 'a.filename' => JText::_($this->t['l'] . '_FILENAME'), + 'a.published' => JText::_($this->t['l'] . '_PUBLISHED'), + 'a.type' => JText::_($this->t['l'] . '_TYPE'), + 'language' => JText::_('JGRID_HEADING_LANGUAGE'), + 'a.id' => JText::_('JGRID_HEADING_ID') + ); + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadtag/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadtag/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadtag/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadtag/tmpl/edit.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadtag/tmpl/edit.php new file mode 100644 index 00000000..b6f8514c --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadtag/tmpl/edit.php @@ -0,0 +1,57 @@ +t['n'] . 'RenderAdminView'; +$r = new $class(); +?> +startForm($this->t['o'], $this->t['task'], $this->item->id, 'adminForm', 'adminForm'); +// First Column +echo '
'; +$tabs = array ( +'general' => JText::_($this->t['l'].'_GENERAL_OPTIONS'), +'publishing' => JText::_($this->t['l'].'_PUBLISHING_OPTIONS')); +echo $r->navigation($tabs); + +echo '
'. "\n"; + +echo '
'."\n"; +$formArray = array ('title', 'alias', 'link_ext', 'link_cat', 'ordering'); +echo $r->group($this->form, $formArray); +$formArray = array('description'); +echo $r->group($this->form, $formArray, 1); +echo '
'. "\n"; + +echo '
'."\n"; +foreach($this->form->getFieldset('publish') as $field) { + echo '
'; + if (!$field->hidden) { + echo '
'.$field->label.'
'; + } + echo '
'; + echo $field->input; + echo '
'; +} +echo '
'; + +echo '
';//end tab content +echo '
';//end span10 +// Second Column +echo '
';//end span2 +echo $r->formInputs(); +echo $r->endForm(); +?> + diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadtag/tmpl/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadtag/tmpl/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadtag/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadtag/view.html.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadtag/view.html.php new file mode 100644 index 00000000..acb1b6eb --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadtag/view.html.php @@ -0,0 +1,64 @@ +t = PhocaDownloadUtils::setVars('tag'); + $this->state = $this->get('State'); + $this->form = $this->get('Form'); + $this->item = $this->get('Item'); + + JHTML::stylesheet( $this->t['s'] ); + + $this->addToolbar(); + parent::display($tpl); + } + + protected function addToolbar() { + + require_once JPATH_COMPONENT.'/helpers/'.$this->t['tasks'].'.php'; + JRequest::setVar('hidemainmenu', true); + $bar = JToolBar::getInstance('toolbar'); + $user = JFactory::getUser(); + $isNew = ($this->item->id == 0); + $checkedOut = !($this->item->checked_out == 0 || $this->item->checked_out == $user->get('id')); + $class = ucfirst($this->t['tasks']).'Helper'; + $canDo = $class::getActions($this->t, $this->state->get('filter.tag_id')); + + $text = $isNew ? JText::_( $this->t['l'] . '_NEW' ) : JText::_($this->t['l'] . '_EDIT'); + JToolBarHelper::title( JText::_( $this->t['l'] . '_TAG' ).': [ ' . $text.' ]' , 'tags'); + + // If not checked out, can save the item. + if (!$checkedOut && $canDo->get('core.edit')){ + JToolBarHelper::apply($this->t['task'].'.apply', 'JTOOLBAR_APPLY'); + JToolBarHelper::save($this->t['task'].'.save', 'JTOOLBAR_SAVE'); + JToolBarHelper::addNew($this->t['task'].'.save2new', 'JTOOLBAR_SAVE_AND_NEW'); + } + + if (empty($this->item->id)) { + JToolBarHelper::cancel($this->t['task'].'.cancel', 'JTOOLBAR_CANCEL'); + } + else { + JToolBarHelper::cancel($this->t['task'].'.cancel', 'JTOOLBAR_CLOSE'); + } + + JToolBarHelper::divider(); + JToolBarHelper::help( 'screen.'.$this->t['c'], true ); + } +} +?> diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadtags/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadtags/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadtags/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadtags/tmpl/default.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadtags/tmpl/default.php new file mode 100644 index 00000000..32f85d02 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadtags/tmpl/default.php @@ -0,0 +1,130 @@ +t['n'] . 'RenderAdminViews'; +$r = new $class(); +$user = JFactory::getUser(); +$userId = $user->get('id'); +$listOrder = $this->escape($this->state->get('list.ordering')); +$listDirn = $this->escape($this->state->get('list.direction')); +$canOrder = $user->authorise('core.edit.state', $this->t['o']); +$saveOrder = $listOrder == 'a.ordering'; +if ($saveOrder) { + $saveOrderingUrl = 'index.php?option='.$this->t['o'].'&task='.$this->t['tasks'].'.saveOrderAjax&tmpl=component'; + JHtml::_('sortablelist.sortable', 'categoryList', 'adminForm', strtolower($listDirn), $saveOrderingUrl, false, true); +} +$sortFields = $this->getSortFields(); + +echo $r->jsJorderTable($listOrder); + +if (isset($this->tmpl['notapproved']->count) && (int)$this->tmpl['notapproved']->count > 0 ) { + echo '
×'.JText::_($this->t['l'].'_NOT_APPROVED_FILES_COUNT').': ' + .(int)$this->tmpl['notapproved']->count.'
'; +} + +echo $r->startForm($this->t['o'], $this->t['tasks'], 'adminForm'); +echo $r->startFilter(); +echo $r->endFilter(); + +echo $r->startMainContainer(); +echo $r->startFilterBar(); +echo $r->inputFilterSearch($this->t['l'].'_FILTER_SEARCH_LABEL', $this->t['l'].'_FILTER_SEARCH_DESC', + $this->escape($this->state->get('filter.search'))); +echo $r->inputFilterSearchClear('JSEARCH_FILTER_SUBMIT', 'JSEARCH_FILTER_CLEAR'); +echo $r->inputFilterSearchLimit('JFIELD_PLG_SEARCH_SEARCHLIMIT_DESC', $this->pagination->getLimitBox()); +echo $r->selectFilterDirection('JFIELD_ORDERING_DESC', 'JGLOBAL_ORDER_ASCENDING', 'JGLOBAL_ORDER_DESCENDING', $listDirn); +echo $r->selectFilterSortBy('JGLOBAL_SORT_BY', $sortFields, $listOrder); + +echo $r->startFilterBar(2); +echo $r->selectFilterPublished('JOPTION_SELECT_PUBLISHED', $this->state->get('filter.state')); +//echo $r->selectFilterLanguage('JOPTION_SELECT_LANGUAGE', $this->state->get('filter.language')); +//echo $r->selectFilterCategory(PhocaDownloadCategory::options($this->t['o']), 'JOPTION_SELECT_CATEGORY', $this->state->get('filter.category_id')); +echo $r->endFilterBar(); + + +echo $r->endFilterBar(); + +echo $r->startTable('categoryList'); + +echo $r->startTblHeader(); + +echo $r->thOrdering('JGRID_HEADING_ORDERING', $listDirn, $listOrder); +echo $r->thCheck('JGLOBAL_CHECK_ALL'); +echo ''.JHTML::_('grid.sort', $this->t['l'].'_TITLE', 'a.title', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_PUBLISHED', 'a.published', $listDirn, $listOrder ).''."\n"; +echo ''.JHTML::_('grid.sort', $this->t['l'].'_ID', 'a.id', $listDirn, $listOrder ).''."\n"; + +echo $r->endTblHeader(); + +echo ''. "\n"; + +$originalOrders = array(); +$parentsStr = ""; +$j = 0; + +if (is_array($this->items)) { + foreach ($this->items as $i => $item) { + //if ($i >= (int)$this->pagination->limitstart && $j < (int)$this->pagination->limit) { + $j++; + +$urlEdit = 'index.php?option='.$this->t['o'].'&task='.$this->t['task'].'.edit&id='; +$urlTask = 'index.php?option='.$this->t['o'].'&task='.$this->t['task']; +$orderkey = array_search($item->id, $this->ordering[0]); +$ordering = ($listOrder == 'a.ordering'); +$canCreate = $user->authorise('core.create', $this->t['o']); +$canEdit = $user->authorise('core.edit', $this->t['o']); +$canCheckin = $user->authorise('core.manage', 'com_checkin') || $item->checked_out==$user->get('id') || $item->checked_out==0; +$canChange = $user->authorise('core.edit.state', $this->t['o']) && $canCheckin; +$linkEdit = JRoute::_( $urlEdit. $item->id ); + + + +$iD = $i % 2; +echo "\n\n"; +echo ''. "\n"; + +echo $r->tdOrder($canChange, $saveOrder, $orderkey); +echo $r->td(JHtml::_('grid.id', $i, $item->id), "small hidden-phone"); + +$checkO = ''; +if ($item->checked_out) { + $checkO .= JHtml::_('jgrid.checkedout', $i, $item->editor, $item->checked_out_time, $this->t['tasks'].'.', $canCheckin); +} +if ($canCreate || $canEdit) { + $checkO .= ''. $this->escape($item->title).''; +} else { + $checkO .= $this->escape($item->title); +} +$checkO .= ' ('.JText::_($this->t['l'].'_FIELD_ALIAS_LABEL').':'. $this->escape($item->alias).')'; +echo $r->td($checkO, "small hidden-phone"); + +echo $r->td(JHtml::_('jgrid.published', $item->published, $i, $this->t['tasks'].'.', $canChange), "small hidden-phone"); + +echo $r->td($item->id, "small hidden-phone"); + +echo ''. "\n"; + + //} + } +} +echo ''. "\n"; + +echo $r->tblFoot($this->pagination->getListFooter(), 5); +echo $r->endTable(); + +//echo $r->formInputs($listOrder, $originalOrders); +echo $r->formInputs($listOrder, $listDirn, $originalOrders); +echo $r->endMainContainer(); +echo $r->endForm(); +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadtags/tmpl/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadtags/tmpl/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadtags/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadtags/view.html.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadtags/view.html.php new file mode 100644 index 00000000..21d0bbb6 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloadtags/view.html.php @@ -0,0 +1,83 @@ +t = PhocaDownloadUtils::setVars('tag'); + $this->items = $this->get('Items'); + $this->pagination = $this->get('Pagination'); + $this->state = $this->get('State'); + + // Check for errors. + if (count($errors = $this->get('Errors'))) { + JError::raiseError(500, implode("\n", $errors)); + return false; + } + + // Preprocess the list of items to find ordering divisions. + foreach ($this->items as &$item) { + $this->ordering[0][] = $item->id; + } + + JHTML::stylesheet( $this->t['s'] ); + + $this->addToolbar(); + parent::display($tpl); + + } + + function addToolbar() { + + require_once JPATH_COMPONENT.'/helpers/'.$this->t['tasks'].'.php'; + $state = $this->get('State'); + $class = ucfirst($this->t['tasks']).'Helper'; + $canDo = $class::getActions($this->t, $state->get('filter.tag_id')); + + JToolBarHelper::title( JText::_( $this->t['l'].'_TAGS' ), 'tags' ); + + if ($canDo->get('core.create')) { + JToolBarHelper::addNew($this->t['task'].'.add','JTOOLBAR_NEW'); + } + + if ($canDo->get('core.edit')) { + JToolBarHelper::editList($this->t['task'].'.edit','JTOOLBAR_EDIT'); + } + if ($canDo->get('core.edit.state')) { + + JToolBarHelper::divider(); + JToolBarHelper::custom($this->t['tasks'].'.publish', 'publish.png', 'publish_f2.png','JTOOLBAR_PUBLISH', true); + JToolBarHelper::custom($this->t['tasks'].'.unpublish', 'unpublish.png', 'unpublish_f2.png', 'JTOOLBAR_UNPUBLISH', true); + } + + if ($canDo->get('core.delete')) { + JToolBarHelper::deleteList( $this->t['l'].'_WARNING_DELETE_ITEMS', 'phocadownloadtags.delete', $this->t['l'].'_DELETE'); + } + JToolBarHelper::divider(); + JToolBarHelper::help( 'screen.'.$this->t['c'], true ); + } + + protected function getSortFields() { + return array( + 'a.ordering' => JText::_('JGRID_HEADING_ORDERING'), + 'a.title' => JText::_($this->t['l'] . '_TITLE'), + 'a.published' => JText::_($this->t['l'] . '_PUBLISHED'), + 'a.id' => JText::_('JGRID_HEADING_ID') + ); + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloaduploads/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloaduploads/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloaduploads/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloaduploads/tmpl/default.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloaduploads/tmpl/default.php new file mode 100644 index 00000000..b868ad5a --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloaduploads/tmpl/default.php @@ -0,0 +1,137 @@ +t['n'] . 'RenderAdminViews'; +$r = new $class(); +$user = JFactory::getUser(); +$userId = $user->get('id'); +$listOrder = $this->escape($this->state->get('list.ordering')); +$listDirn = $this->escape($this->state->get('list.direction')); +$canOrder = $user->authorise('core.edit.state', $this->t['o']); +$saveOrder = $listOrder == 'a.ordering'; +if ($saveOrder) { + $saveOrderingUrl = 'index.php?option='.$this->t['o'].'&task='.$this->t['tasks'].'.saveOrderAjax&tmpl=component'; + JHtml::_('sortablelist.sortable', 'categoryList', 'adminForm', strtolower($listDirn), $saveOrderingUrl, false, true); +} +$sortFields = $this->getSortFields(); + +echo $r->jsJorderTable($listOrder); + +if (isset($this->tmpl['notapproved']->count) && (int)$this->tmpl['notapproved']->count > 0 ) { + echo '
×'.JText::_($this->t['l'].'_NOT_APPROVED_FILES_COUNT').': ' + .(int)$this->tmpl['notapproved']->count.'
'; +} + +echo $r->startForm($this->t['o'], $this->t['tasks'], 'adminForm'); +echo $r->startFilter(); +echo $r->endFilter(); + +echo $r->startMainContainer(); +echo $r->startFilterBar(); +echo $r->inputFilterSearch($this->t['l'].'_FILTER_SEARCH_LABEL', $this->t['l'].'_FILTER_SEARCH_DESC', + $this->escape($this->state->get('filter.search'))); +echo $r->inputFilterSearchClear('JSEARCH_FILTER_SUBMIT', 'JSEARCH_FILTER_CLEAR'); +echo $r->inputFilterSearchLimit('JFIELD_PLG_SEARCH_SEARCHLIMIT_DESC', $this->pagination->getLimitBox()); +echo $r->selectFilterDirection('JFIELD_ORDERING_DESC', 'JGLOBAL_ORDER_ASCENDING', 'JGLOBAL_ORDER_DESCENDING', $listDirn); +echo $r->selectFilterSortBy('JGLOBAL_SORT_BY', $sortFields, $listOrder); + +echo $r->startFilterBar(2); +echo $r->selectFilterPublished('JOPTION_SELECT_PUBLISHED', $this->state->get('filter.state')); +echo $r->endFilterBar(); + + +echo $r->endFilterBar(); + +echo $r->startTable('categoryList'); + +echo $r->startTblHeader(); + +echo '';//$r->thOrdering('JGRID_HEADING_ORDERING', $listDirn, $listOrder); +echo $r->thCheck('JGLOBAL_CHECK_ALL'); +echo ''.JHTML::_('grid.sort', $this->t['l'].'_USER', 'username', $listDirn, $listOrder ).''."\n"; +echo ''.JText::_('COM_PHOCADOWNLOAD_COUNT_USER_FILES_APPROVED').''."\n"; +echo ''.JText::_('COM_PHOCADOWNLOAD_COUNT_USER_FILES_NOT_APPROVED').''."\n"; + +//echo ''.JHTML::_('grid.sort', $this->t['l'].'_ID', 'a.id', $listDirn, $listOrder ).''."\n"; + +echo $r->endTblHeader(); + +echo ''. "\n"; + +$originalOrders = array(); +$parentsStr = ""; +$j = 0; + +if (is_array($this->items)) { + foreach ($this->items as $i => $item) { + //if ($i >= (int)$this->pagination->limitstart && $j < (int)$this->pagination->limit) { + $j++; +/* +$urlEdit = 'index.php?option='.$this->t['o'].'&task='.$this->t['task'].'.edit&id='; +$urlTask = 'index.php?option='.$this->t['o'].'&task='.$this->t['task']; +$orderkey = array_search($item->id, $this->ordering[$item->catid]); +$ordering = ($listOrder == 'a.ordering'); +$canCreate = $user->authorise('core.create', $this->t['o']); +$canEdit = $user->authorise('core.edit', $this->t['o']); +$canCheckin = $user->authorise('core.manage', 'com_checkin') || $item->checked_out==$user->get('id') || $item->checked_out==0; +$canChange = $user->authorise('core.edit.state', $this->t['o']) && $canCheckin; +$linkEdit = JRoute::_( $urlEdit. $item->id ); + +$linkCat = JRoute::_( 'index.php?option='.$this->t['o'].'&task='.$this->t['c'].'cat.edit&id='.(int) $item->category_id ); +$canEditCat = $user->authorise('core.edit', $this->t['o']);*/ + + +$iD = $i % 2; +echo "\n\n"; +echo ''. "\n"; + +echo $r->tdOrder(0,0,0); +echo $r->td(JHtml::_('grid.id', $i, $item->id), "small hidden-phone"); + +$usrO = $item->usernameno; +if ($item->username) {$usrO = $usrO . ' ('.$item->username.')';} +if (!$usrO) { + $usrO = JText::_('COM_PHOCADOWNLOAD_GUEST'); +} +echo $r->td($usrO, "small hidden-phone"); + +$cntfaid = 0; +if ($item->countfaid) { + $cntfaid = $item->countfaid; +} +echo $r->td($this->escape($cntfaid), 'ph-center'); +$cntfnid = 0; +if ($item->countfnid) { + $cntfnid = $item->countfaid; +} +echo $r->td($this->escape($cntfnid), 'ph-center'); + + +//echo $r->td($item->id, "small hidden-phone"); + +echo ''. "\n"; + + //} + } +} +echo ''. "\n"; + +echo $r->tblFoot($this->pagination->getListFooter(), 15); +echo $r->endTable(); + +//echo $r->formInputs($listOrder, $originalOrders); +echo $r->formInputs($listOrder, $listDirn, $originalOrders); +echo $r->endMainContainer(); +echo $r->endForm(); +?> diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloaduploads/tmpl/index.html b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloaduploads/tmpl/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloaduploads/tmpl/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloaduploads/view.html.php b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloaduploads/view.html.php new file mode 100644 index 00000000..633a847f --- /dev/null +++ b/packages/phocadownload/administrator/components/com_phocadownload/views/phocadownloaduploads/view.html.php @@ -0,0 +1,78 @@ +t = PhocaDownloadUtils::setVars('upload'); + $this->items = $this->get('Items'); + $this->pagination = $this->get('Pagination'); + $this->state = $this->get('State'); + + JHTML::stylesheet( $this->t['s'] ); + + // Check for errors. + if (count($errors = $this->get('Errors'))) { + JError::raiseError(500, implode("\n", $errors)); + return false; + } + + $this->addToolbar(); + parent::display($tpl); + + } + + function addToolbar() { + + require_once JPATH_COMPONENT.'/helpers/'.$this->t['tasks'].'.php'; + //$state = $this->get('State'); + $class = ucfirst($this->t['tasks']).'Helper'; + $canDo = $class::getActions($this->t); + + JToolBarHelper::title( JText::_( $this->t['l'].'_UPLOADS' ), 'upload' ); + + if ($canDo->get('core.admin')) { + + $bar = JToolBar::getInstance('toolbar'); + + $dhtml = ''; + $bar->appendButton('Custom', $dhtml); + + + JToolBarHelper::divider(); + } + + + JToolBarHelper::help( 'screen.'.$this->t['c'], true ); + } + + protected function getSortFields() { + return array( + + 'd.title' => JText::_($this->t['l'] . '_TITLE'), + 'd.filename' => JText::_($this->t['l'] . '_FILENAME'), + 'usernameno' => JText::_($this->t['l'] . '_USER'), + 'username' => JText::_($this->t['l'] . '_USERNAME'), + 'a.count' => JText::_($this->t['l'] . '_COUNT') + + ); + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/administrator/language/en-GB/en-GB.com_phocadownload.ini b/packages/phocadownload/administrator/language/en-GB/en-GB.com_phocadownload.ini new file mode 100644 index 00000000..b197f320 --- /dev/null +++ b/packages/phocadownload/administrator/language/en-GB/en-GB.com_phocadownload.ini @@ -0,0 +1,811 @@ +; @package Joomla.Framework +; @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved. +; @license GNU General Public License version 2 or later; see LICENSE.txt +; +; @component Phoca Component +; @copyright Copyright (C) Jan Pavelka www.phoca.cz +; @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later; +; +; @test utf-8 ä, ö, ü +; + + +;[3.1.1] +COM_PHOCADOWNLOAD_SELECT_MAX_LEVELS="Select Max Levels" +COM_PHOCADOWNLOAD_FIELD_COLUMN_SIZE_CATEGORY_VIEW_LABEL="Column size (Category View)" +COM_PHOCADOWNLOAD_FIELD_COLUMN_SIZE_CATEGORY_VIEW_DESC="Set left column size for category view. Right column size will be automatically set. This parameter applies for Bootstrap layout only and maximum column size is 12." +COM_PHOCADOWNLOAD_FIELD_TAGS_STRING_LABEL="Tags (String)" +COM_PHOCADOWNLOAD_FIELD_TAGS_STRING_DESC="Set string tags. Separate each tag with comma (,). These tags are displayed next to filename or title. The don't include links, they cannot be searched in the system. They are just displayed like icons next to the filename or title" +COM_PHOCADOWNLOAD_YES_CATEGORY_VIEW_TITLE_SUFFIX="Yes (Category View) - Title Suffix" +COM_PHOCADOWNLOAD_YES_FILE_VIEW_TITLE_SUFFIX="Yes (FileView) - Title Suffix" +COM_PHOCADOWNLOAD_YES_CATEGORY_FILE_VIEW_TITLE_SUFFIX="Yes (Category And File View) - Title Suffix" +COM_PHOCADOWNLOAD_WAS_UPLOADED_BY="was uploaded by" +COM_PHOCADOWNLOAD_FILE_UPLOADED="File uploaded" +COM_PHOCADOWNLOAD_SEARCH_FILTER_IS_ACTIVE="Search filter is active. Listed categories are not displayed in category tree. Max levels filter is not active." +COM_PHOCADOWNLOAD_PLEASE_ADD_FILE_OR_IF_ADDED_CHECK_IF_IT_HAS_RIGHT_FORMAT_AND_SIZE="Please add a file. If added, please, test if it has the right format and size" +COM_PHOCADOWNLOAD_DISPLAY_BOOTSTRAP3_LAYOUT_LABEL="Display Bootstrap 3 Layout" +COM_PHOCADOWNLOAD_DISPLAY_BOOTSTRAP3_LAYOUT_DESC="When Bootstrap 3 layout is enabled, then specific layout will be not loaded. Don't forget to disable styles in Styles (CSS) view which can be in conflict with Bootstrap 3 (e.g. Bootstrap 2)" +;[3.1.0] +COM_PHOCADOWNLAD_CLOSE="Close" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_ORDERING_CATEGORY_VIEW_LABEL="Display Ordering Select Box (Category View)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_ORDERING_CATEGORY_VIEW_DESC="Display or hide ordering select box in Category View - ordering of files" +COM_PHOCADOWNLOAD_COUNT_ASC="Rating Count Ascending" +COM_PHOCADOWNLOAD_COUNT_DESC="Rating Count Descending" +COM_PHOCADOWNLOAD_AVERAGE_ASC="Rating Ascending" +COM_PHOCADOWNLOAD_AVERAGE_DESC="Rating Descending" +COM_PHOCADOWNLOAD_DOWNLOADS_ASC="Downloads Ascending" +COM_PHOCADOWNLOAD_DOWNLOADS_DESC="Downloads Descending" +COM_PHOCADOWNLOAD_ORDER_FRONT="Ordering" +COM_PHOCADOWNLOAD_REGARDS="Regards" +COM_PHOCADOWNLOAD_MESSAGE="Message" +COM_PHOCADOWNLOAD_WEBSITE="Website" +COM_PHOCADOWNLOAD_WAS_DOWNLOADED_BY="was downloaded by" +COM_PHOCADOWNLOAD_SUCCESS_NEW_FILE_UPLOADED="New file uploaded" +COM_PHOCADOWNLOAD_FILE_DOWNLOADED="File downloaded" +COM_PHOCADOWNLOAD_ANONYMOUS="Anonymous" +COM_PHOCADOWNLOAD_FIELD_MULTIPLE_UPLOAD_METHOD_DESC="Set Multiple Upload Method in administration. See http://www.plupload.com/ which browsers and which functions are supported by selected method" +COM_PHOCADOWNLOAD_FIELD_MULTIPLE_UPLOAD_METHOD_LABEL="Multiple Upload Method (Administration)" +COM_PHOCADOWNLOAD_FLASH_UPLOADER="Flash Uploader" +COM_PHOCADOWNLOAD_GEARS_UPLOADER="Gears Uploader" +COM_PHOCADOWNLOAD_SILVERLIGHT_UPLOADER="Silverlight Uploader" +COM_PHOCADOWNLOAD_HTML4_UPLOADER="HTML4 Uploader" +COM_PHOCADOWNLOAD_HTML5_UPLOADER="HTML5 Uploader" +COM_PHOCADOWNLOAD_BROWSERPLUS_UPLOADER="Browserplus Uploader" + +;[3.0.6] +COM_PHOCADOWNLOAD_FILENAME_ASC="Filename Ascending" +COM_PHOCADOWNLOAD_FILENAME_DESC="Filename Descending" + +;[3.0.3] +COM_PHOCADOWNLOAD_BROWSER_DOES_NOT_SUPPORT_AUDIO_VIDEO_TAG="Your browser does not support the audio/video tag" +COM_PHOCADOWNLOAD_FIELD_HTML5_AUDIO_VIDEO_LABEL="HTML5 Audio/Video" +COM_PHOCADOWNLOAD_FIELD_HTML5_AUDIO_VIDEO_DESC="Set yes to enable HTML 5 player for audio and video" +;[3.0.2] +COM_PHOCADOWNLOAD_FIELD_ENABLE_TOKEN_DOWNLOAD_LABEL="Enable Unique Download Link" +COM_PHOCADOWNLOAD_FIELD_ENABLE_TOKEN_DOWNLOAD_DESC="Enable or disable unique download link feature (download with token)" +COM_PHOCADOWNLOAD_MAX_LIMIT_DOWNLOAD_TOKEN_REACHED="File cannot be downloaded. Maximum download limit of this file reached." +COM_PHOCADOWNLOAD_FIELD_MAX_COUNT_TOKEN_DOWNLOADS_DESC="Set maximum count of files user can download through unique download link. Be aware, 0 (Zero) means, there is no limit. This limit only takes effect for unique download link" +COM_PHOCADOWNLOAD_FIELD_MAX_COUNT_TOKEN_DOWNLOADS_LABEL="Maximum Count of downloads per file (Unique Download Link)" +COM_PHOCADOWNLOAD_URL_FORMAT_DEPENDS_ON_SEF="This Link may take different formats. Its format depends on your SEF Settings" +COM_PHOCADOWNLOAD_UNIQUE_DOWNLOAD_URL="Unique Download Link" +COM_PHOCADOWNLOAD_DOWNLOAD_FILE="Download file" +COM_PHOCADOWNLOAD_FILE_NOT_FOUND="File Not Found" +COM_PHOCADOWNLOAD_SET_TOKEN="Set Token" +COM_PHOCADOWNLOAD_FIELD_TOKEN_LABEL="Token (Unique Download Link)" +COM_PHOCADOWNLOAD_FIELD_TOKEN_DESC="Set token - unique download link of the file" +COM_PHOCADOWNLOAD_FIELD_TOKENHITS_LABEL="Token Downloads" +COM_PHOCADOWNLOAD_FIELD_TOKENHITS_DESC="How many times the file was downloaded by unique download link" +COM_PHOCADOWNLOAD_YES_FRONTEND="Yes (Frontend Only)" +COM_PHOCADOWNLOAD_YES_BACKEND="Yes (Backend Only)" +COM_PHOCADOWNLOAD_YES_FRONTEND_BACKEND="Yes (Frontend, Backend)" +;[3.0.1] +COM_PHOCADOWNLOAD_FIELD_ALIAS_M_DESC="Alias for all added images can be set. If empty, Alias will be created from Filename" +COM_PHOCADOWNLOAD_FIELD_TITLE_M_DESC="Title for all added images can be set. If empty, Title will be created from Filename" +COM_PHOCADOWNLOAD_FIELD_LANGUAGE_FILE_DESC="The language that the file is assigned to." +;[3.0.0] +COM_PHOCADOWNLOAD_FIELD_COPY_PAP_LABEL="Copy Play and Preview" +COM_PHOCADOWNLOAD_FIELD_COPY_PAP_DESC="Set if files of added items will be copied to play and preview folder (in case they can be played or previewed). Items then will be downloadable and previewable or playable." +;[3.0.0 Beta] +COM_PHOCADOWNLOAD_HOT="Hot" +COM_PHOCADOWNLOAD_WILL_BE_CREATED_FROM_TITLE="Will be created from title" +;[3.0.0] +COM_PHOCADOWNLOAD_MAX_LIMIT_DOWNLOAD_PER_FILE_REACHED="You have reached maximum limit of downloads allowed per this file." +COM_PHOCADOWNLOAD_NOT_LOGGED_IN_USERS_NOT_ALLOWED_DOWNLOAD="Please login. Not logged in users are not allowed to download." +COM_PHOCADOWNLOAD_FIELD_MAX_COUNT_USER_DOWNLOADS_DESC="Set maximum count of files user can download. Be aware, 0 (Zero) means, there is no limit. It is limit per file NOT for all downloads. If you set some limit here, anonymous users (guests) are not able to download any file." +COM_PHOCADOWNLOAD_FIELD_MAX_COUNT_USER_DOWNLOADS_LABEL="Maximum Count of downloads per file" +COM_PHOCADOWNLOAD_LOGGING_NOT_ENABLED="Warning! Logging is not enabled at the moment!" +COM_PHOCADOWNLOAD_FIELD_PLAY_OR_PREVIEW_COPY_LABEL="Play or Preview Copy" +COM_PHOCADOWNLOAD_FIELD_PLAY_OR_PREVIEW_COPY_DESC="If yes (Frontend), file which is uploaded by user in fronted will be copied to phocadownloadpap folder so it can be played or previewed. If yes (Backend), then file which is added in File Add feature or in Multiple Add feature in Administration will be copied to phocadownloadpap folder too." +COM_PHOCADOWNLOAD_FIELD_ENABLE_LOGGING_LABEL="Enable Logging" +COM_PHOCADOWNLOAD_FIELD_ENABLE_LOGGING_DESC="Enable or disable logging for downloads, uploads or both. Be aware, logging of downloads and uploads can take a lot of memory in case a lot of downloads or uploads is done on your site. It is recommended to enable it only for short testing period" +COM_PHOCADOWNLOAD_YES_UPLOADS_ONLY="Yes (Uploads only)" +COM_PHOCADOWNLOAD_YES_DOWNLOADS_ONLY="Yes (Downloads only)" +COM_PHOCADOWNLOAD_YES_UPLOADS_DOWNLOADS="Yes (Uploads and Downloads)" +COM_PHOCADOWNLOAD_FIELD_FILE_ICON_MIME_LABEL="File Icon (Extension Mime Type)" +COM_PHOCADOWNLOAD_FIELD_FILE_ICON_MIME_DESC="Enable or disable displaying of file icon by extension mime type (for example: PDF icon will be displayed next to PDF documents). Be aware not all extension mime type icons are available." +COM_PHOCADOWNLOAD_YES_DOWNLOAD_UPLOAD_PARAM="Yes (download and upload parameters)" +COM_PHOCADOWNLOAD_YES_DOWNLOAD_UPLOAD_PARAM_ADMIN="Yes (download and upload parameter in administration only)" +COM_PHOCADOWNLOAD_YES_UPLOAD_PARAM_ADMIN="Yes (only upload parameters in administration)" +COM_PHOCADOWNLOAD_YES_UPLOAD_PARAM="Yes (only upload parameters)" +COM_PHOCADOWNLOAD_YES_DOWNLOAD_PARAM="Yes (only download parameters)" +COM_PHOCADOWNLOAD_IGNORE_FILE_TYPES_CHECK_LABEL="Ignore File Types Checking" +COM_PHOCADOWNLOAD_IGNORE_FILE_TYPES_CHECK_DESC="Set if checking of file types will be ignored. If yes: Allowed File Types (Download), Allowed File Types (Upload), Disallowed File Types (Download), Disallowed File Types (Upload) will be ignored." +COM_PHOCADOWNLOAD_CONFIG_HEAD_DOWNLOADS_LABEL="Downloads" +COM_PHOCADOWNLOAD_CONFIG_HEAD_UPLOADS_LABEL="Uploads" +COM_PHOCADOWNLOAD_FILE_VIEW_LABEL="File View" +COM_PHOCADOWNLOAD_CONFIG_CATEGORY_CATEGORIES_VIEW_LABEL="Categories and Category View" +COM_PHOCADOWNLOAD_IP="IP" +COM_PHOCADOWNLOAD_PAGE="Page" +COM_PHOCADOWNLOAD_RESET_LOG="Reset Log" +COM_PHOCADOWNLOAD_WARNING_RESET_LOG="Are you sure you want to reset (clear) the log?" +COM_PHOCADOWNLOAD_SUCCESS_RESET_LOG_STAT="Log cleared" +COM_PHOCADOWNLOAD_ERROR_RESET_LOG_STAT="Error while clearing log" +COM_PHOCADOWNLOAD_ERROR_SERVER_NOT_ABLE_TO_STORE_FILE_TEMP_FOLDER="Error while uploading file. Server is not able to store this file to Temp folder." +COM_PHOCADOWNLOAD_COUNT="Count" +COM_PHOCADOWNLOAD_LOGGING="Logging" +COM_PHOCADOWNLOAD_UPLOADS="Uploads" +COM_PHOCADOWNLOAD_EDIT_CSS_FILES="Edit CSS Files" +COM_PHOCADOWNLOAD_FIELD_CSS_MENULINK_ID_DESC="Set ID or IDs of menu link (Itemid) where the style will be displayed. Separate each parent ID with comma (,)" +COM_PHOCADOWNLOAD_FIELD_CSS_MENULINK_ID_LABEL="Menu Link ID" +COM_PHOCADOWNLOAD_ERROR_FAILED_TO_SAVE_FILENAME="Error while saving the filename" +COM_PHOCADOWNLOAD_ERROR_SOURCE_FILE_NOT_UNWRITABLE="Error while making the source file unwritable" +COM_PHOCADOWNLOAD_ERROR_SOURCE_FILE_NOT_WRITABLE="Error while saving the file. Source File is not writable." +COM_PHOCADOWNLOAD_STYLE="Style" +COM_PHOCADOWNLOAD_FIELD_CSS_LABEL="Style (CSS Source)" +COM_PHOCADOWNLOAD_FIELD_CSS_DESC="Edit source of the style" +COM_PHOCADOWNLOAD_FIELD_TYPE_DESC="Type of the style" +COM_PHOCADOWNLOAD_FIELD_TYPE_LABEL="Type" +COM_PHOCADOWNLOAD_MAIN="Main" +COM_PHOCADOWNLOAD_FILE_EXISTS="File exists" +COM_PHOCADOWNLOAD_FILE_DOES_NOT_EXIST="File does not exist" +COM_PHOCADOWNLOAD_TYPE="Type" +COM_PHOCADOWNLOAD_CUSTOM_CSS="Custom" +COM_PHOCADOWNLOAD_MAIN_CSS="Main" +COM_PHOCADOWNLOAD_FILTER_SELECT_TYPE="- Select Type -" +COM_PHOCADOWNLOAD_STYLES="Styles" +COM_PHOCADOWNLOAD_FOLDER_NOT_FOUND="Folder not found" +COM_PHOCADOWNLOAD_EDIT_CSS="Edit CSS" +COM_PHOCADOWNLOAD_ERROR_CSS_FOLDER_NOT_FOUND="Custom CSS Folder Not Found" + +COM_PHOCADOWNLOAD_MIRROR_DETAILS="Mirror Details" +COM_PHOCADOWNLOAD_YOUTUBE_OPTIONS="YouTube Options" +COM_PHOCADOWNLOAD_GENERAL_OPTIONS="General Options" +COM_PHOCADOWNLOAD_PUBLISHING_OPTIONS="Publishing Options" +COM_PHOCADOWNLOAD_METADATA_OPTIONS="Metadata Options" +COM_PHOCADOWNLOAD_FILTER_SEARCH_LABEL="Search" +COM_PHOCADOWNLOAD_FILTER_SEARCH_DESC="Search the items" +COM_PHOCADOWNLOAD_LICENCE="Licence" +COM_PHOCADOWNLOAD_PHOCA_NEEDS_YOUR_HELP="Phoca Needs Your Help" +COM_PHOCADOWNLOAD_PLEASE_READ="Please Read" +COM_PHOCADOWNLOAD_USEFUL_TIPS="Useful Tips (Extensions)" +COM_PHOCADOWNLOAD_USEFUL_LINKS="Useful Links" +;[2.1.5] +COM_PHOCADOWNLOAD_UPLOADED_BY_LABEL="Uploaded By" +COM_PHOCADOWNLOAD_UPLOADED_BY_DESC="Set Uploaded By" +COM_PHOCADOWNLOAD_OWNER_LABEL="Owner" +COM_PHOCADOWNLOAD_OWNER_DESC="Set Owner" +;[2.1.2] +COM_PHOCADOWNLOAD_BATCH_OPTIONS_CATEGORIES="Batch process the selected categories" +COM_PHOCADOWNLOAD_PHOCA_DOWNLOAD="Phoca Download" +COM_PHOCADOWNLOAD_INFORMATION="Information" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_LINK_LABEL="Select Category Link" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_LINK_DESC="Select category to link it" +COM_PHOCADOWNLOAD_FIELD_DOWNLOAD_FOLDER_PAP_LABEL="Download Folder (Play, Preview)" +COM_PHOCADOWNLOAD_FIELD_DOWNLOAD_FOLDER_PAP_DESC="Set download folder for play and preview files" +;[2.1.1] +COM_PHOCADOWNLOAD_FIELD_VIDEO_HEIGHT_DV_LABEL="Youtube Height (Detail View)" +COM_PHOCADOWNLOAD_FIELD_VIDEO_HEIGHT_DV_DESC="Set Youtube height for Detail View" +COM_PHOCADOWNLOAD_FIELD_VIDEO_WIDTH_DV_LABEL="Youtube Width (Detail View)" +COM_PHOCADOWNLOAD_FIELD_VIDEO_WIDTH_DV_DESC="Set Youtube width for Detail View" +COM_PHOCADOWNLOAD_FIELD_VIDEO_HEIGHT_CV_LABEL="Youtube Height (Category View)" +COM_PHOCADOWNLOAD_FIELD_VIDEO_HEIGHT_CV_DESC="Set Youtube height for Category View" +COM_PHOCADOWNLOAD_FIELD_VIDEO_WIDTH_CV_LABEL="Youtube Width (Category View)" +COM_PHOCADOWNLOAD_FIELD_VIDEO_WIDTH_CV_DESC="Set Youtube width for Category View" +COM_PHOCADOWNLOAD_GROUP_LABEL_YOUTUBE_DETAILS="Youtube" +COM_PHOCADOWNLOAD_VIDEO_LINK_LABEL="Youtube Link" +COM_PHOCADOWNLOAD_VIDEO_LINK_DESC="Set Youtube link" +COM_PHOCADOWNLOAD_YES_ONLY_MODALBOX="Yes (Only Modalbox - Category View)" +;[2.1.0 Stable] +COM_PHOCADOWNLOAD_SELECT_FILE="Select file" +COM_PHOCADOWNLOAD_FIELD_SELECT_FILE_LABEL="Select file" +COM_PHOCADOWNLOAD_FIELD_SELECT_FILE_DESC="Select display file" +COM_PHOCADOWNLOAD_OVERLIB_WIDTH_DETAIL="Overlib with detail" +;[2.1.0 Beta] +COM_PHOCADOWNLOAD_FILE_VIEW="File View" +COM_PHOCADOWNLOAD_CATEGORY_VIEW="Category View" +COM_PHOCADOWNLOAD_CATEGORIES_VIEW="Categories View" +COM_PHOCADOWNLOAD_PARAMETERS="Parameters" +COM_PHOCADOWNLOAD_STYLES="Styles (CSS)" +COM_PHOCADOWNLOAD_LAYOUT_WARNING="Warning: Parameters are mostly styled by CSS, here you can add or remove different parts of the view. For stylizing them, just check the Phoca Download CSS. Edit the HTML source (HTML source can be displayed by editor feature) Displaying specific layout must be enabled in parameters." +COM_PHOCADOWNLOAD_DISPLAY_SPEC_LAYOUT_LABEL="Display Specific Layout" +COM_PHOCADOWNLOAD_DISPLAY_SPEC_LAYOUT_DESC="Display specific layout - set in Phoca Download administration. Be aware, some parts of the layout needs to be changed in CSS too to display properly." +COM_PHOCADOWNLOAD_CLEAN="Clean" +COM_PHOCADOWNLOAD_YES_OVERLIB="Yes (Overlib)" +COM_PHOCADOWNLOAD_YES_MODAL="Yes (Modal Box)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_TAGS_LINKS_LABEL="Display Tags" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_TAGS_LINKS_DESC="Display or hide tags" +COM_PHOCADOWNLOAD_YES_CATEGORY_VIEW_BUTTON="Yes (Category View) as Button" +COM_PHOCADOWNLOAD_YES_FILE_VIEW_BUTTON="Yes (File View) as Button" +COM_PHOCADOWNLOAD_YES_CATEGORY_FILE_VIEW_BUTTON="Yes (Category And File View) as Button" +COM_PHOCADOWNLOAD_EXTERNAL_LINK="External Link" +COM_PHOCADOWNLOAD_CATEGORY_LINK="Category Link" +COM_PHOCADOWNLOAD_SEARCH_OUTCOME="Search Outcome" +COM_PHOCADOWNLOAD_FIELD_TAGS_LINKS_LABEL="Tags (Links)" +COM_PHOCADOWNLOAD_FIELD_TAGS_LINKS_DESC="Set if the tags will include a link. If yes, set type of this link" +COM_PHOCADOWNLOAD_AT="at" +COM_PHOCADOWNLOAD_FEATURES="Features" +COM_PHOCADOWNLOAD_CHANGELOG="Changelog" +COM_PHOCADOWNLOAD_NOTES="Notes" +COM_PHOCADOWNLOAD_ERROR_DELETING_ITEM="Error while deleting item" +COM_PHOCADOWNLOAD_SUCCESS_DELETING_ITEM="Item deleted" +COM_PHOCADOWNLOAD_ERROR_UNPUBLISHING_ITEM="Error while unpublishing item" +COM_PHOCADOWNLOAD_ERROR_PUBLISHING_ITEM="Error while publishing item" +COM_PHOCADOWNLOAD_SUCCESS_UNPUBLISHING_ITEM="Item unpublished" +COM_PHOCADOWNLOAD_SUCCESS_PUBLISHING_ITEM="Item published" +COM_PHOCADOWNLOAD_FIELD_DELETE_RIGHTS_LABEL="Delete Rights" +COM_PHOCADOWNLOAD_FIELD_DELETE_RIGHTS_DESC="Set delete rights" +COM_PHOCADOWNLOAD_ERROR_DELETE_CONTAIN_FILE="Category(ies): '%s' cannot be removed as it contains (they contain) Items. There may currently be File(s) within the Category which you must delete first." +COM_PHOCADOWNLOAD_ERROR_DELETE_CONTAIN_CAT="Category(ies): '%s' cannot be removed as it contains (they contain) Subcategories. There may currently be Subcategory(ies) within the Category which you must delete first." +COM_PHOCADOWNLOAD_CATEGORIES_ADDED="Category(ies) added" +COM_PHOCADOWNLOAD_FILES_ADDED="File(s) added" +COM_PHOCADOWNLOAD_CHECK_ALL="Check All" +COM_PHOCADOWNLOAD_WARNING_FILE_SELECTED_SELECT_CATEGORY="File(s) are selected. Category needs to be selected also" +COM_PHOCADOWNLOAD_WARNING_SELECT_FILENAME_OR_FOLDER="Select File or Folder" +COM_PHOCADOWNLOAD_MULTIPLE_ADD="Multiple Add" +COM_PHOCADOWNLOAD_BATCH_OPTIONS_FILES="Batch process the selected files" +;COM_PHOCADOWNLOAD_SUCCESS_COPY_FILE="File(s) copied" +;COM_PHOCADOWNLOAD_ERROR_COPY_FILE="Error while copying file(s)" +COM_PHOCADOWNLOAD_QUICK_COPY="Quick Copy" +COM_PHOCADOWNLOAD_COPY="Copy" +COM_PHOCADOWNLOAD_FORM_SELECT_IMAGE="Select Image" +COM_PHOCADOWNLOAD_FIELD_IMAGE_DOWNLOAD_LABEL="Image" +COM_PHOCADOWNLOAD_FIELD_IMAGE_DOWNLOAD_DESC="Set image for the file" +COM_PHOCADOWNLOAD_FIELD_CATEGORIES_LAYOUT_LABEL="Categories View Layout" +COM_PHOCADOWNLOAD_FIELD_CATEGORIES_LAYOUT_DESC="Set layout for Categories View" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_LAYOUT_LABEL="Category View Layout" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_LAYOUT_DESC="Set layout for Category View" +COM_PHOCADOWNLOAD_FIELD_FILE_LAYOUT_LABEL="File View Layout" +COM_PHOCADOWNLOAD_FIELD_FILE_LAYOUT_DESC="Set layout for File View" +COM_PHOCADOWNLOOAD_CONTROL_PANEL="Control Panel" +COM_PHOCADOWNLOAD_FIELD_FEATURES_DESC="Set Features Text" +COM_PHOCADOWNLOAD_FIELD_FEATURES_LABEL="Features" +COM_PHOCADOWNLOAD_FIELD_CHANGELOG_DESC="Set Changelog Text" +COM_PHOCADOWNLOAD_FIELD_CHANGELOG_LABEL="Changelog" +COM_PHOCADOWNLOAD_FIELD_NOTES_DESC="Set Notes Text" +COM_PHOCADOWNLOAD_FIELD_NOTES_LABEL="Notes" +COM_PHOCADOWNLOAD_FIELD_TAGS_LABEL="Tags" +COM_PHOCADOWNLOAD_FIELD_TAGS_DESC="Select tags" +COM_PHOCADOWNLOAD_NEW_TAG="New Tag" +COM_PHOCADOWNLOAD_EDIT_TAG="Edit Tag" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_LABEL="Link To Category" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_DES="Select category if you want to link this tag to category" +COM_PHOCADOWNLOAD_FIELD_EXT_LINK_TAG_LABEL="Link To External Site" +COM_PHOCADOWNLOAD_FIELD_EXT_LINK_TAG_DESC="Set link to external site if you want to link this tag to some site (include http://)" +COM_PHOCADOWNLOAD_TAG="Tag" +COM_PHOCADOWNLOAD_TAGS="Tags" +COM_PHOCADOWNLOAD_LAYOUT="Layout" +;[2.0.0] +COM_PHOCADOWNLOAD_NUM="Num" +COM_PHOCADOWNLOAD_LIMIT="Limit" +COM_PHOCADOWNLOAD_YOUTUBE_URL="Youtube URL" +COM_PHOCADOWNLOAD_WARNING_SET_YOUTUBE_URL="You must set URL of Youtube video" +COM_PHOCADOWNLOAD_PLAYER_WIDTH="Player Width" +COM_PHOCADOWNLOAD_PLAYER_HEIGHT="Player Height" +COM_PHOCADOWNLOAD_PLAYER_HEIGHT_MP3="Player Height (MP3)" +COM_PHOCADOWNLOAD_WARNING_PLAYER_SIZE="Only size of Popup Window (Modal Box) can be set here, size of player needs to be set in Parameters of Phoca Download Component" +COM_PHOCADOWNLOAD_PREVIEW_WIDTH="Preview Width" +COM_PHOCADOWNLOAD_PREVIEW_HEIGHT="Preview Height" +COM_PHOCADOWNLOAD_YOU_MUST_SELECT_FILE="You must select a file" +COM_PHOCADOWNLOAD_YOU_MUST_SELECT_CATEGORY="You must select a category" +COM_PHOCADOWNLOAD_TARGET="Target" +COM_PHOCADOWNLOAD_TARGET_SELF="Target _self" +COM_PHOCADOWNLOAD_TARGET_BLANK="Target _blank" +COM_PHOCADOWNLOAD_TARGET_TOP="Target _top" +COM_PHOCADOWNLOAD_TARGET_PARENT="Target _parent" +COM_PHOCADOWNLOAD_INSERT_CODE="Insert Code" +COM_PHOCADOWNLOAD_BACK="Back" +COM_PHOCADOWNLOAD_FILELIST="File List" +COM_PHOCADOWNLOAD_YOUTUBE_VIDEO="Youtube Video" +COM_PHOCADOWNLOAD_PLAY_FILE_LINK="Play File (Link)" +COM_PHOCADOWNLOAD_PLAY_FILE_DIRECT="Play File (Direct)" +COM_PHOCADOWNLOAD_PREVIEW_FILE_LINK="Preview File (Link)" +COM_PHOCADOWNLOAD_LINK_TO_FILE="Link To File" +COM_PHOCADOWNLOAD_LINK_TO_CATEGORY="Link To Category" +COM_PHOCADOWNLOAD_LINK_TO_CATEGORIES="Link To Categories" +COM_PHOCADOWNLOAD_SELECT_TYPE="Select Type" +COM_PHOCADOWNLOAD_UPLOADED_BY="Uploaded by" +COM_PHOCADOWNLOAD_FIELD_ENABLE_CACHE_LABEL="Enable Cache" +COM_PHOCADOWNLOAD_FIELD_ENABLE_CACHE_DESC="Enable cache if it is enabled in Joomla! Global Configuration" +;[2.0.0RC3] +COM_PHOCADOWNLOAD_USER_LANG="User's Language" +COM_PHOCADOWNLOAD_SITE_LANG="Site's Language" +COM_PHOCADOWNLOAD_FIELD_USER_UCP_LANG_LABEL="User Language" +COM_PHOCADOWNLOAD_FIELD_USER_UCP_LANG_DESC="Set which language will be set while creating category or uploading image in UCP" +COM_PHOCADOWNLOAD_NO_RIGHTS_ACCESS_CATEGORY_FILE="You have no rights to access file in this category" +COM_PHOCADOWNLOAD_FIELD_SELECT_CATEGORY_LABEL="Select Category" +COM_PHOCADOWNLOAD_FIELD_SELECT_CATEGORY_DESC="Select category" +COM_PHOCADOWNLOAD_ERROR_FB_APP_ID_EMPTY="Facebook Application ID is empty" +COM_PHOCADOWNLOAD_FIELD_FB_COMMENT_APP_ID_LABEL="Facebook comments application ID" +COM_PHOCADOWNLOAD_FIELD_FB_COMMENT_APP_ID_DESC="Set Facebook Comments Application ID (ID of your created application in Facebook)" +COM_PHOCADOWNLOAD_FACEBOOK_COMMENTS_WIDTH_LABEL="Facebook Comments Width" +COM_PHOCADOWNLOAD_FACEBOOK_COMMENTS_WIDTH_DESC="Set Facebook comments box width" +COM_PHOCADOWNLOAD_FACEBOOK_FIELD_COMMENT_LANG_LABEL="Facebook Language" +COM_PHOCADOWNLOAD_FACEBOOK_FIELD_COMMENT_LANG_DESC="Set Facebook language" +COM_PHOCADOWNLOAD_FACEBOOK_FIELD_COMMENT_COUNT_LABEL="Comments Count" +COM_PHOCADOWNLOAD_FACEBOOK_FIELD_COMMENT_COUNT_DESC="Set count of comments displayed in comment box" +COM_PHOCADOWNLOAD_FACEBOOK="Facebook" +COM_PHOCADOWNLOAD_STARS_OUT_OF="stars out of" +COM_PHOCADOWNLOAD_FIELD_LANGUAGE_FILE_DESC="The language that the file is assigned to." +COM_PHOCADOWNLOAD_FIELD_LANGUAGE_CATEGORY_DESC="The language that the category is assigned to." +;[2.0.0RC2] +COM_PHOCADOWNLOAD_FIELD_DELETE_EXISTING_FILES_DESC="If yes then the file stored on server will be deleted in case the file will be deleted from Phoca Download" +COM_PHOCADOWNLOAD_FIELD_DELETE_EXISTING_FILES_LABEL="Delete Existing Files" +COM_PHOCADOWNLOAD_FIELD_OVERWRITE_EXISTING_FILES_DESC="Set if uploaded files should overwrite existing files on the server" +COM_PHOCADOWNLOAD_FIELD_OVERWRITE_EXISTING_FILES_LABEL="Overwrite Existing Files" +COM_PHOCADOWNLOAD_REPORT="Report" +COM_PHOCADOWNLOAD_FIELD_REPORT_LINK_GUESTBOOK_ID_LABEL="Guestbook ID (Report)" +COM_PHOCADOWNLOAD_FIELD_REPORT_LINK_GUESTBOOK_ID_DESC="Set guestbook id (guestbook from Phoca Guestbook component) in case the report function is active" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_REPORT_LINK_LABEL="Display Report Link" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_REPORT_LINK_DESC="Display or hide report link. This link will run Phoca Guestbook in Report Mode. There users can report files. Phoca Guestbook needs to be installed and the report function enabled in guestbook settings to run this feature." +COM_PHOCADOWNLOAD_FIELD_DISPLAY_MIRROR_LINKS_LABEL="Display Mirror Links" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_MIRROR_LINKS_DESC="Display or hide mirror links" +COM_PHOCADOWNLOAD_GROUP_LABEL_MIRROR_DETAILS="Mirror Details" +COM_PHOCADOWNLOAD_OPEN_WINDOW_BLANK="Open in new window (_blank)" +COM_PHOCADOWNLOAD_OPEN_WINDOW_PARENT="Open in parent window/frame (_parent)" +COM_PHOCADOWNLOAD_OPEN_WINDOW_SELF="Open in this window/frame (_self)" +COM_PHOCADOWNLOAD_OPEN_WINDOW_TOP="Open in top frame (replaces all frames) (_top)" +COM_PHOCADOWNLOAD_MIRROR_LINK_LINK_LABEL="Link" +COM_PHOCADOWNLOAD_MIRROR_LINK_TARGET_LABEL="Target" +COM_PHOCADOWNLOAD_MIRROR_LINK_TITLE_LABEL="Title (Link 1)" +COM_PHOCADOWNLOAD_FIELD_MIRROR_LINK_LINK_DESC="Set first mirror link (Inlcude the protocol: e.g. http:// or https://)" +COM_PHOCADOWNLOAD_FIELD_MIRROR_LINK_TARGET_DESC="Set target for first mirror link" +COM_PHOCADOWNLOAD_FIELD_MIRROR_LINK_TITLE_DESC="Set title for first mirror link" +COM_PHOCADOWNLOAD_MIRROR_LINK_LINK2_LABEL="Link 2" +COM_PHOCADOWNLOAD_MIRROR_LINK_TARGET2_LABEL="Target" +COM_PHOCADOWNLOAD_MIRROR_LINK_TITLE2_LABEL="Title (Link 2)" +COM_PHOCADOWNLOAD_FIELD_MIRROR_LINK_LINK2_DESC="Set second mirror link (Inlcude the protocol: e.g. http:// or https://)" +COM_PHOCADOWNLOAD_FIELD_MIRROR_LINK_TARGET2_DESC="Set target for second mirror link" +COM_PHOCADOWNLOAD_FIELD_MIRROR_LINK_TITLE2_DESC="Set title for second mirror link" +COM_PHOCADOWNLOAD_YES_CATEGORY_VIEW="Yes (Category View)" +COM_PHOCADOWNLOAD_YES_FILE_VIEW="Yes (FileView)" +COM_PHOCADOWNLOAD_YES_CATEGORY_FILE_VIEW="Yes (Category And File View)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_RATING_FILE_DESC="Display or hide rating for files" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_RATING_FILE_LABEL="Display Rating (File)" +COM_PHOCADOWNLOAD_CONFIG_RATING_SETTINGS_LABEL="Rating Settings" +COM_PHOCADOWNLOAD_ERROR_FILE_NOT_EXISTS="File does not exist" +COM_PHOCADOWNLOAD_RATING_ALREADY_RATED_FILE="You have already rated this file" +COM_PHOCADOWNLOAD_SUCCESS_RATING_FILE="Thank you for your rating" +COM_PHOCADOWNLOAD_ERROR_RATING_FILE="Error while rating the file" +COM_PHOCADOWNLOAD_ERROR_WRONG_RATING="Error while rating - wrong format added" +COM_PHOCADOWNLOAD_ERROR_REQUESTING_RATING="Error while requesting rating" +COM_PHOCADOWNLOAD_VOTE="vote" +COM_PHOCADOWNLOAD_VOTES="votes" +COM_PHOCADOWNLOAD_FILE_RATING="File Rating" +COM_PHOCADOWNLOAD_RATING="Rating" +COM_PHOCADOWNLOAD_STAR_OUT_OF="star out of" +COM_PHOCADOWNLOAD_ONLY_REGISTERED_LOGGED_RATE_FILE="Only registered and logged in users can rate this file" +;[2.0.0 RC] +COM_PHOCADOWNLOAD_FIELD_DISALLOWED_FILE_TYPES_UPLOAD_DESC="Set disallowed file types for frontend upload." +COM_PHOCADOWNLOAD_FIELD_ALLOWED_FILE_TYPES_UPLOAD_DESC="Set allowed file types for frontend upload. Default list of filetypes is not complete and should be modified to fit your needs." +COM_PHOCADOWNLOAD_FIELD_SHOW_PAGINATION_LABEL="Display Pagination" +COM_PHOCADOWNLOAD_FIELD_SHOW_PAGINATION_DESC="Display or hide pagination" +COM_PHOCADOWNLOAD_FIELD_SHOW_PAGINATION_LIMIT_LABEL="Display Select Box - Pagination" +COM_PHOCADOWNLOAD_FIELD_SHOW_PAGINATION_LIMIT_DESC="Display or hide select box for pagination" +COM_PHOCADOWNLOAD_HIDE="Hide" +COM_PHOCADOWNLOAD_DISPLAY="Display" +;[2.0.0 BETA1] +COM_PHOCADOWNLOAD_FIELD_DISPLAY_MAIN_CAT_DESC_LABEL="Display Main Category Description" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_MAIN_CAT_DESC_DESC="Set if category description should be displayed in Categories View - Description will be displayed instead of subcategories" +COM_PHOCADOWNLOAD_ERROR_CATEGORY_NOT_SELECTED="Category was not selected" +COM_PHOCADOWNLOAD_FIELD_REGISTERED_ACCESS_LEVEL_LABEL="Access Level - Registered Users" +COM_PHOCADOWNLOAD_FIELD_REGISTERED_ACCESS_LEVEL_DESC="Set access levels for registered users. Some actions in frontend can be done by registered users only. Set which access level group will be regarded as registered group." +COM_PHOCADOWNLOAD_FIELD_ENABLE_ICONV_ALIAS_LABEL="Iconv Alias" +COM_PHOCADOWNLOAD_FIELD_ENABLE_ICONV_ALIAS_DESC="Enable or disable creating of alias with help of iconv function" +COM_PHOCADOWNLOAD_UPGRADE="Upgrade" +COM_PHOCADOWNLOAD_INSTALL="Install" +; For Translaters - set your own data here +COM_PHOCADOWNLOAD_TRANSLATION="Translation" +COM_PHOCADOWNLOAD_TRANSLATION_LANGUAGE_TAG="English" +COM_PHOCADOWNLOAD_TRANSLATER="Jan Pavelka" +COM_PHOCADOWNLOAD_TRANSLATION_SUPPORT_URL="www.phoca.cz" +; End Translaters section - - - - - - - - +COM_PHOCADOWNLOAD_ACCESS="Access" +COM_PHOCADOWNLOAD_ACTIVE="Active" +COM_PHOCADOWNLOAD_ADD_FILES="Add Files" +COM_PHOCADOWNLOAD_ADD_FILES_TO_UPLOAD_QUEUE_AND_CLICK_START_BUTTON="Add files to the upload queue and click the start button." +COM_PHOCADOWNLOAD_ADD_TEXT="Text" +COM_PHOCADOWNLOAD_ALL="All" +COM_PHOCADOWNLOAD_ALL_APPROVED="All files authorized" +COM_PHOCADOWNLOAD_ALL_REGISTERED_USERS="All registered users" +COM_PHOCADOWNLOAD_ALWAYS="Always" +COM_PHOCADOWNLOAD_AND_LEFT_FOR_DESCRIPTION="and left for description" +COM_PHOCADOWNLOAD_APPROVE="Authorize" +COM_PHOCADOWNLOAD_APPROVED="Authorized" +COM_PHOCADOWNLOAD_APPROVE_ALL="Authorize All" +COM_PHOCADOWNLOAD_APPROVE_ALL_ERROR="Error while authorizing all files" +COM_PHOCADOWNLOAD_APPROVE_ITEM="Authorize item" +COM_PHOCADOWNLOAD_AUTHOR="Author" +COM_PHOCADOWNLOAD_AUTHOR_EMAIL="Author's Email" +COM_PHOCADOWNLOAD_AUTHOR_WEBSITE="Author's Website" +COM_PHOCADOWNLOAD_BLANK="Blank" +COM_PHOCADOWNLOAD_GREY2="Grey 2" +COM_PHOCADOWNLOAD_BOTTOM="Bottom" +COM_PHOCADOWNLOAD_BOTTOM_AND_OVERLIB="Bottom and Overlib" +COM_PHOCADOWNLOAD_BOTTOM_WITH_DETAIL_AND_OVERLIB="Bottom with detail and Overlib" +COM_PHOCADOWNLOAD_CATEGORIES="Categories" +COM_PHOCADOWNLOAD_CATEGORY="Category" +COM_PHOCADOWNLOAD_CHARACTERS_WRITTEN="Characters written" +COM_PHOCADOWNLOAD_CHECK_FOR_UPDATE="Check For Update" +COM_PHOCADOWNLOAD_CHECK_PERMISSIONS_OWNERSHIP="Check permissions and ownership of files and folders" +COM_PHOCADOWNLOAD_CLOSE="Close" +COM_PHOCADOWNLOAD_CONFIGURATION="Phoca Download Configuration" +COM_PHOCADOWNLOAD_CONFIG_COMMENTS_SETTINGS_LABEL="Comments Settings" +COM_PHOCADOWNLOAD_CONFIG_GENERAL_SETTINGS_LABEL="General Settings" +COM_PHOCADOWNLOAD_CONFIG_HEAD_DISPLAY_LABEL="Display" +COM_PHOCADOWNLOAD_CONFIG_HEAD_GENERAL_LABEL="General" +COM_PHOCADOWNLOAD_CONFIG_HEAD_USER_UPLOAD_LABEL="User Upload" +COM_PHOCADOWNLOAD_CONFIG_THEME_SETTINGS_LABEL="Theme Settings" +COM_PHOCADOWNLOAD_CONTROL_PANEL="Control Panel" +COM_PHOCADOWNLOAD_COPYRIGHT="Copyright" +COM_PHOCADOWNLOAD_COUNT_NOT_UPLOADED_FILE="Count of not uploaded (failed) files" +COM_PHOCADOWNLOAD_COUNT_UPLOADED_FILE="Count of uploaded files" +COM_PHOCADOWNLOAD_COUNT_USER_FILES_APPROVED="Count (authorized files)" +COM_PHOCADOWNLOAD_COUNT_USER_FILES_NOT_APPROVED="Count (not authorized files)" +COM_PHOCADOWNLOAD_CREATE_FOLDER="Create Folder" +COM_PHOCADOWNLOAD_DATABASE_TIME="Database" +COM_PHOCADOWNLOAD_DATE="Date" +COM_PHOCADOWNLOAD_DATE_ASC="Date Ascending" +COM_PHOCADOWNLOAD_DATE_DESC="Date Descending" +COM_PHOCADOWNLOAD_DATE_UPLOAD="Upload Date" +COM_PHOCADOWNLOAD_DEFAULT="Default" +COM_PHOCADOWNLOAD_DELETE="Delete" +COM_PHOCADOWNLOAD_DESCRIPTION="Description" +COM_PHOCADOWNLOAD_DETAILS="Details" +COM_PHOCADOWNLOAD_DISPLAY_NUM="Display Num" +COM_PHOCADOWNLOAD_DOT="dot" +COM_PHOCADOWNLOAD_DOWNLOAD="Download" +COM_PHOCADOWNLOAD_DOWNLOADS="Downloads" +COM_PHOCADOWNLOAD_DRAG_FILES_HERE="Drag Files Here" +COM_PHOCADOWNLOAD_EDIT="Edit" +COM_PHOCADOWNLOAD_EDIT_CATEGORY="Edit Category" +COM_PHOCADOWNLOAD_EDIT_FILE="Edit File" +COM_PHOCADOWNLOAD_EMAIL="Email" +COM_PHOCADOWNLOAD_ERROR="Error" +COM_PHOCADOWNLOAD_ERROR_APPROVE_ALL="Error while authorizing all files" +COM_PHOCADOWNLOAD_ERROR_CONTROLLER_MANAGER_NOT_SET="Error while creating folder - Manager not set" +COM_PHOCADOWNLOAD_ERROR_FILE_UPLOADED="File not uploaded" +COM_PHOCADOWNLOAD_ERROR_FOLDER_CREATING="Error while creating folder" +COM_PHOCADOWNLOAD_ERROR_FOLDER_UPLOAD_NOT_EXISTS="Folder does not exist or it is not accessible" +COM_PHOCADOWNLOAD_ERROR_MOVE_UPLOADED_FILE="Failed to move uploaded file" +COM_PHOCADOWNLOAD_ERROR_NO_ABS_FILE="File not found on server" +COM_PHOCADOWNLOAD_ERROR_NO_CORRECT_FILE_TO_PLAY_FOUND="No correct file for playing found" +COM_PHOCADOWNLOAD_ERROR_NO_DB_FILE="File info not found in database" +COM_PHOCADOWNLOAD_ERROR_NO_DB_RESULT="Problems with database" +COM_PHOCADOWNLOAD_ERROR_NO_FILE_TO_PLAY_FOUND="No file for playing found" +COM_PHOCADOWNLOAD_ERROR_OPEN_INPUT_STREAM="Failed to open input stream" +COM_PHOCADOWNLOAD_ERROR_OPEN_OUTPUT_STREAM="Failed to open output stream" +COM_PHOCADOWNLOAD_ERROR_RESET_USER_STAT="Error while resetting user statistics" +COM_PHOCADOWNLOAD_ERROR_UNABLE_TO_MOVE_FILE="Unable to move file" +COM_PHOCADOWNLOAD_ERROR_UNABLE_TO_UPLOAD_FILE="Unable to upload file" +COM_PHOCADOWNLOAD_ERROR_UPLOAD_MANAGER_NOT_SET="Error while uploading - Manager not set" +COM_PHOCADOWNLOAD_ERROR_WHILE_DOWNLOADING_FILE="Error while downloading file" +COM_PHOCADOWNLOAD_EXPERTS_ONLY_LABEL="Experts Only!" +COM_PHOCADOWNLOAD_EXPIRED="Expired" +COM_PHOCADOWNLOAD_FIELD_ABSOLUTE_PATH_DESC="Set absolute path of Phoca Download folder (this can be path outside the public_html). Be aware, this path must exist and the folder and possible subfolders need to be created manually. If the path is outside the public_html the files cannot be previewed or played in browser." +COM_PHOCADOWNLOAD_FIELD_ABSOLUTE_PATH_LABEL="Absolute Path" +COM_PHOCADOWNLOAD_FIELD_ACCESS_RIGHTS_DESC="Set access rights" +COM_PHOCADOWNLOAD_FIELD_ACCESS_RIGHTS_LABEL="Access Rights" +COM_PHOCADOWNLOAD_FIELD_ALIAS_DESC="Set alias" +COM_PHOCADOWNLOAD_FIELD_ALIAS_LABEL="Alias" +COM_PHOCADOWNLOAD_FIELD_ALLOWED_FILE_TYPES_DOWNLOAD_DESC="Set allowed file types for frontend download. Default list of filetypes is not complete and should be modified to fit your needs." +COM_PHOCADOWNLOAD_FIELD_ALLOWED_FILE_TYPES_DOWNLOAD_LABEL="Allowed File Types (Download)" +COM_PHOCADOWNLOAD_FIELD_ALLOWED_FILE_TYPES_UPLOAD_LABEL="Allowed File Types (Upload)" +COM_PHOCADOWNLOAD_FIELD_APPROVED_DESC="Set if the file will be authorized or unathorized" +COM_PHOCADOWNLOAD_FIELD_APPROVED_LABEL="Authorized" +COM_PHOCADOWNLOAD_FIELD_AUTHOR_DESC="Set Author of the file" +COM_PHOCADOWNLOAD_FIELD_AUTHOR_EMAIL_DESC="Set Author's email" +COM_PHOCADOWNLOAD_FIELD_AUTHOR_EMAIL_LABEL="Author's Email" +COM_PHOCADOWNLOAD_FIELD_AUTHOR_LABEL="Author" +COM_PHOCADOWNLOAD_FIELD_AUTHOR_URL_DESC="Set Author's webstie" +COM_PHOCADOWNLOAD_FIELD_AUTHOR_URL_LABEL="Author's Website" +COM_PHOCADOWNLOAD_FIELD_BUTTON_STYLE_DESC="Set button style" +COM_PHOCADOWNLOAD_FIELD_BUTTON_STYLE_LABEL="Button Style" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_DESC="Select Category" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_LABEL="Category" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_ORDERING_DESC="Set category ordering" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_ORDERING_LABEL="Category Ordering" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_VIEW_PAGINATION_DESC="Set pagination values for Category View (file list). Separate each pagination value with comma (,)" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_VIEW_PAGINATION_LABEL="Pagination (Category View)" +COM_PHOCADOWNLOAD_FIELD_CONFIRM_LICENSE_DESC="Select license for this file. If some license will be selected, file will be not downloaded after clicking on Download button, but the license text will be displayed. This text must be confirmed by user who wants to dowload the file." +COM_PHOCADOWNLOAD_FIELD_CONFIRM_LICENSE_LABEL="Confirm license" +COM_PHOCADOWNLOAD_FIELD_DATE_DESC="Set date" +COM_PHOCADOWNLOAD_FIELD_DATE_LABEL="Date" +COM_PHOCADOWNLOAD_FIELD_DEFAULT_VALUE_PAGINATION_DESC="Set default value for pagination which can be displayed in Category View (file list)" +COM_PHOCADOWNLOAD_FIELD_DEFAULT_VALUE_PAGINATION_LABEL="Pagination Default Value" +COM_PHOCADOWNLOAD_FIELD_DESCRIPTION_DESC="Set description. This will be displayed in Categories View" +COM_PHOCADOWNLOAD_FIELD_DESCRIPTION_LABEL="Description" +COM_PHOCADOWNLOAD_FIELD_DIRECT_LINK_DESC="If direct link will be checked, Downlod button will link directly to the file. It means the file will be handled by browser (e.g. MP3 will be not downloaded but played). This option should be selected in case there are problems with downloading files from the server." +COM_PHOCADOWNLOAD_FIELD_DIRECT_LINK_LABEL="Direct Link" +COM_PHOCADOWNLOAD_FIELD_DISALLOWED_FILE_TYPES_DOWNLOAD_DESC="Set disallowed file types for frontend download." +COM_PHOCADOWNLOAD_FIELD_DISALLOWED_FILE_TYPES_DOWNLOAD_LABEL="Disallowed File Types (Download)" +COM_PHOCADOWNLOAD_FIELD_DISALLOWED_FILE_TYPES_UPLOAD_LABEL="Disallowed File Types (Upload)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_CATEGORY_COMMENTS_DESC="Set if category comments should be displayed or not" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_CATEGORY_COMMENTS_LABEL="Display Category Comments" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DATE_TYPE_DESC="Set date type" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DATE_TYPE_LABEL="Display Date Type" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DESCRIPTION_DESC="Display or hide description" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DESCRIPTION_LABEL="Display Description" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DETAIL_BUTTON_DESC="Display or hide detail button" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DETAIL_BUTTON_LABEL="Display Detail Button" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DOWNLOADS_DESC="Display or hide the count of downloads" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DOWNLOADS_LABEL="Display Downloads" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_FILE_COMMENTS_DESC="Set if file comments should be displayed or not" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_FILE_COMMENTS_LABEL="Display File Comments" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_FILE_VIEW_DESC="Enable or disable File View before download a file" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_FILE_VIEW_LABEL="Display File View" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_HOT_ICON_DESC="Set the number of hits (downloads). After reaching this number of downloads HOT icon will be displayed for the file, use zero for not displaying the icon" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_HOT_ICON_LABEL="Display Hot Icon" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_INACCESSIBLE_FILE_DESC="If the file will be inaccessible for e.g. not logged in users, it can be displayed for them. It means users will see the file but by clicking on the download button they will be redirected to login form." +COM_PHOCADOWNLOAD_FIELD_DISPLAY_INACCESSIBLE_FILE_LABEL="Display Inaccessible file" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_MOST_DOWNLOAD_FILES_DESC="Display Most Download Files in Categories View" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_MOST_DOWNLOAD_FILES_LABEL="Display Most Download Files" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_NEW_ICON_DESC="Set the number of days. During these days NEW icon will be displayed for the file, use zero for not displaying the icon" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_NEW_ICON_LABEL="Display New Icon" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_NUM_FILES_CATEGORIES_VIEW_DESC="Display or hide number of files (Categories View)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_NUM_FILES_CATEGORIES_VIEW_HEADER_DESC="Display or hide number of files (Categories View - Header)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_NUM_FILES_CATEGORIES_VIEW_HEADER_LABEL="Display Number of Files (Categories View - Header)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_NUM_FILES_CATEGORIES_VIEW_LABEL="Display Number of Files (Categories View)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_PLAY_BUTTON_DESC="Display or hide play button" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_PLAY_BUTTON_LABEL="Display Play Button" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_PREVIEW_BUTTON_DESC="Display or hide preview button" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_PREVIEW_BUTTON_LABEL="Display Preview Button" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_UP_ICON_DESC="Display or hide up icon - icon back to category or back to categories view" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_UP_ICON_LABEL="Display Up Icon" +COM_PHOCADOWNLOAD_FIELD_DOWNLOADS_DESC="Set Dowloads" +COM_PHOCADOWNLOAD_FIELD_DOWNLOADS_LABEL="Downloads" +COM_PHOCADOWNLOAD_FIELD_DOWNLOAD_FOLDER_DESC="Set download folder. If absolute path will be set, this parameter will be ignored. Be aware, the folder set in the parameter must exist on the server." +COM_PHOCADOWNLOAD_FIELD_DOWNLOAD_FOLDER_LABEL="Download Folder" +COM_PHOCADOWNLOAD_FIELD_ENABLE_APPROVE_USERFILE_DESC="If Yes, files will be uploaded as not authorized and must be authorized by administrator. If No, files will be uploaded as authorized" +COM_PHOCADOWNLOAD_FIELD_ENABLE_APPROVE_USERFILE_LABEL="Enable User File Authorization" +COM_PHOCADOWNLOAD_FIELD_ENABLE_MU_ADMIN_DESC="Enable or disable multiple upload feature for administration" +COM_PHOCADOWNLOAD_FIELD_ENABLE_MU_ADMIN_LABEL="Enable Multiple Upload (Administration)" +COM_PHOCADOWNLOAD_FIELD_ENABLE_PLUGIN_QUERY_DESC="Set if Plugin can modify SQL query (Experts only!)" +COM_PHOCADOWNLOAD_FIELD_ENABLE_PLUGIN_QUERY_LABEL="Enable Plugin Query" +COM_PHOCADOWNLOAD_FIELD_ENABLE_USER_STAT_DESC="Enable or disable user statistics" +COM_PHOCADOWNLOAD_FIELD_ENABLE_USER_STAT_LABEL="Enable User Statistics" +COM_PHOCADOWNLOAD_FIELD_EXTERNAL_DOWNLOAD_LINK_DESC="Select if the external download link will have attribute TARGET=_self or TARGET=_blank" +COM_PHOCADOWNLOAD_FIELD_EXTERNAL_DOWNLOAD_LINK_LABEL="External Download Link" +COM_PHOCADOWNLOAD_FIELD_EXTERNAL_LINK_DESC="If the file is stored on external server, paste the external link here. The form field 'Filename' must also be filled (paste the whole link to the file into the form field 'External file' and only the name of the file into the form field 'Filename'). If you set the form field 'Direct Link' (see above) to 'Yes', the external link will be directly accessed (without checking the rights or saving statistics). If you set the form field 'Direct Link' to 'No', internal site will be accessed - statistics will be saved, file will be checked for access rights and then the site will be redirected to the external link (be aware, if the file is public on external server, it cannot be protected by Phoca Download there). Be aware, internal site will be not accessed in File View while clicking on Submit (Download) button." +COM_PHOCADOWNLOAD_FIELD_EXTERNAL_LINK_LABEL="External Link" +COM_PHOCADOWNLOAD_FIELD_FILENAME_DESC="Set or select filename" +COM_PHOCADOWNLOAD_FIELD_FILENAME_LABEL="Filename" +COM_PHOCADOWNLOAD_FIELD_FILENAME_OR_NAME_LABEL="Filename or Title" +COM_PHOCADOWNLOAD_FIELD_FILENAME_OR_NAME_LABEL_DESC="Display Filename or Title" +COM_PHOCADOWNLOAD_FIELD_FILEPLAY_DESC="Set or select file which will be played." +COM_PHOCADOWNLOAD_FIELD_FILEPLAY_LABEL="File - Play" +COM_PHOCADOWNLOAD_FIELD_FILEPREVIEW_DESC="Set or select file which will be previewed" +COM_PHOCADOWNLOAD_FIELD_FILEPREVIEW_LABEL="File - Preview" +COM_PHOCADOWNLOAD_FIELD_FILE_ICON_SIZE_DESC="Set size of file icon" +COM_PHOCADOWNLOAD_FIELD_FILE_ICON_SIZE_LABEL="File Icon Size" +COM_PHOCADOWNLOAD_FIELD_FILE_ICON_SIZE_MD_DESC="Set size of file icon for most downloaded files" +COM_PHOCADOWNLOAD_FIELD_FILE_ICON_SIZE_MD_LABEL="File Icon Size (Most Downloaded Files)" +COM_PHOCADOWNLOAD_FIELD_FILE_ORDERING_DESC="Set file ordering" +COM_PHOCADOWNLOAD_FIELD_FILE_ORDERING_LABEL="File Ordering" +COM_PHOCADOWNLOAD_FIELD_FINISH_PUBLISHING_DESC="Set finish publishing date" +COM_PHOCADOWNLOAD_FIELD_FINISH_PUBLISHING_LABEL="Finish Publishing" +COM_PHOCADOWNLOAD_FIELD_HITS="Hits" +COM_PHOCADOWNLOAD_FIELD_HITS_DESC="Hits" +COM_PHOCADOWNLOAD_FIELD_ICON_DESC="Set icon for the file" +COM_PHOCADOWNLOAD_FIELD_ICON_LABEL="Icon" +COM_PHOCADOWNLOAD_FIELD_ICON_SPEC1_DESC="Set first specific icon for the file, will be displayed after filename" +COM_PHOCADOWNLOAD_FIELD_ICON_SPEC1_LABEL="Specific Icon (1)" +COM_PHOCADOWNLOAD_FIELD_ICON_SPEC2_DESC="Set first specific icon for the file, will be displayed after filename" +COM_PHOCADOWNLOAD_FIELD_ICON_SPEC2_LABEL="Specific Icon (2)" +COM_PHOCADOWNLOAD_FIELD_JCONFIG_PERMISSIONS_DESC="Permissions" +COM_PHOCADOWNLOAD_FIELD_JCONFIG_PERMISSIONS_LABEL="Permissions" +COM_PHOCADOWNLOAD_FIELD_LICENSE_BOX_HEIGHT_DESC="Set height of license box" +COM_PHOCADOWNLOAD_FIELD_LICENSE_BOX_HEIGHT_LABEL="License Box Height" +COM_PHOCADOWNLOAD_FIELD_LICENSE_DESC="Set license of the file, this is only information about the license, if you want that license text needs to be confirmed, you should fill the form field 'Confirm License'" +COM_PHOCADOWNLOAD_FIELD_LICENSE_LABEL="License" +COM_PHOCADOWNLOAD_FIELD_LICENSE_TEXT_DESC="Set license text" +COM_PHOCADOWNLOAD_FIELD_LICENSE_TEXT_LABEL="License Text" +COM_PHOCADOWNLOAD_FIELD_LICENSE_URL_DESC="Set URL to license. URL to site where is described the license of the file" +COM_PHOCADOWNLOAD_FIELD_LICENSE_URL_LABEL="License link" +COM_PHOCADOWNLOAD_FIELD_MAX_COUNT_USER_FILES_DESC="Set maximum count of files user can upload" +COM_PHOCADOWNLOAD_FIELD_MAX_COUNT_USER_FILES_LABEL="Maximum Count of uploaded user's files" +COM_PHOCADOWNLOAD_FIELD_MAX_SIZE_USER_FILES_DESC="Set maximum size of all files user can upload" +COM_PHOCADOWNLOAD_FIELD_MAX_SIZE_USER_FILES_LABEL="Maximum Size of all user's files" +COM_PHOCADOWNLOAD_FIELD_METADESC_DESC="Set meta description for Phoca Download" +COM_PHOCADOWNLOAD_FIELD_METADESC_LABEL="Meta Description" +COM_PHOCADOWNLOAD_FIELD_METAKEY_DESC="Set meta keywords for Phoca Download" +COM_PHOCADOWNLOAD_FIELD_METAKEY_LABEL="Meta Keywords" +COM_PHOCADOWNLOAD_FIELD_ORDERING_DESC="Set ordering" +COM_PHOCADOWNLOAD_FIELD_ORDERING_LABEL="Ordering" +COM_PHOCADOWNLOAD_FIELD_PARENT_CATEGORY_DESC="Set parent category" +COM_PHOCADOWNLOAD_FIELD_PARENT_CATEGORY_LABEL="Parent Category" +COM_PHOCADOWNLOAD_FIELD_PLAYER_HEIGHT_DESC="Set player height (in px)" +COM_PHOCADOWNLOAD_FIELD_PLAYER_HEIGHT_LABEL="Player Height" +COM_PHOCADOWNLOAD_FIELD_PLAYER_MP3_HEIGHT_DESC="Set player height (MP3, OGG Audio)" +COM_PHOCADOWNLOAD_FIELD_PLAYER_MP3_HEIGHT_LABEL="Player Height (MP3, OGG Audio)" +COM_PHOCADOWNLOAD_FIELD_PLAYER_WIDTH_DESC="Set player width (in px)" +COM_PHOCADOWNLOAD_FIELD_PLAYER_WIDTH_LABEL="Player Width" +COM_PHOCADOWNLOAD_FIELD_PLAY_POPUP_WINDOW_DESC="Select play popup window" +COM_PHOCADOWNLOAD_FIELD_PLAY_POPUP_WINDOW_LABEL="Play Popup Window" +COM_PHOCADOWNLOAD_FIELD_PREVIEW_HEIGHT_DESC="Set preview height (in px)" +COM_PHOCADOWNLOAD_FIELD_PREVIEW_HEIGHT_LABEL="Preview Height" +COM_PHOCADOWNLOAD_FIELD_PREVIEW_POPUP_WINDOW_DESC="Select preview popup window" +COM_PHOCADOWNLOAD_FIELD_PREVIEW_POPUP_WINDOW_LABEL="Preview Popup Window" +COM_PHOCADOWNLOAD_FIELD_PREVIEW_WIDTH_DESC="Set preview width (in px)" +COM_PHOCADOWNLOAD_FIELD_PREVIEW_WIDTH_LABEL="Preview Width" +COM_PHOCADOWNLOAD_FIELD_PUBLISHED_DESC="Publish or unpublish" +COM_PHOCADOWNLOAD_FIELD_PUBLISHED_LABEL="Published" +COM_PHOCADOWNLOAD_FIELD_SEND_EMAIL_DOWNLOAD_DESC="Send email if user will download a file" +COM_PHOCADOWNLOAD_FIELD_SEND_EMAIL_DOWNLOAD_LABEL="Send Email (Download)" +COM_PHOCADOWNLOAD_FIELD_SEND_EMAIL_UPLOAD_DESC="Send email if user will upload a file" +COM_PHOCADOWNLOAD_FIELD_SEND_EMAIL_UPLOAD_LABEL="Send Email (Upload)" +COM_PHOCADOWNLOAD_FIELD_START_PUBLISHING_DESC="Set start publishing date" +COM_PHOCADOWNLOAD_FIELD_START_PUBLISHING_LABEL="Start Publishing" +COM_PHOCADOWNLOAD_FIELD_THEME_DESC="Set theme" +COM_PHOCADOWNLOAD_FIELD_THEME_LABEL="Theme" +COM_PHOCADOWNLOAD_FIELD_TITLE_DESC="Set title" +COM_PHOCADOWNLOAD_FIELD_TITLE_LABEL="Title" +COM_PHOCADOWNLOAD_FIELD_UPLOAD_MAX_SIZE_ADMIN_DESC="Set the maximum size for an upload in administration. Use zero for no limit. Do not forget, that the upload size can be limited by the server settings (in bytes)" +COM_PHOCADOWNLOAD_FIELD_UPLOAD_MAX_SIZE_ADMIN_LABEL="Maximum Upload Size (Administration)" +COM_PHOCADOWNLOAD_FIELD_UPLOAD_RIGHTS_DESC="Set upload rights" +COM_PHOCADOWNLOAD_FIELD_UPLOAD_RIGHTS_LABEL="Upload Rights" +COM_PHOCADOWNLOAD_FIELD_USER_FILE_UPLOAD_SIZE_DESC="Set maximum size of file which can be uploaded by user in frontend" +COM_PHOCADOWNLOAD_FIELD_USER_FILE_UPLOAD_SIZE_LABEL="User File Upload Size" +COM_PHOCADOWNLOAD_FIELD_USER_UPLOAD_ENABLE_DESC="Enable or disable user upload" +COM_PHOCADOWNLOAD_FIELD_USER_UPLOAD_ENABLE_LABEL="Enable User Upload" +COM_PHOCADOWNLOAD_FIELD_VERSION_DESC="Set version" +COM_PHOCADOWNLOAD_FIELD_VERSION_LABEL="Version" +COM_PHOCADOWNLOAD_FILE="File" +COM_PHOCADOWNLOAD_FILENAME="Filename" +COM_PHOCADOWNLOAD_FILENAME_AND_TITLE="Filename and Title" +COM_PHOCADOWNLOAD_FILES="Files" +COM_PHOCADOWNLOAD_FILESIZE="File Size" +COM_PHOCADOWNLOAD_FILES_UPLOADED="Files Uploaded" +COM_PHOCADOWNLOAD_FILE_ALREADY_EXISTS="File already exists" +COM_PHOCADOWNLOAD_FILE_FILEATIME="File (access time)" +COM_PHOCADOWNLOAD_FILE_FILECTIME="File (inode change time)" +COM_PHOCADOWNLOAD_FILE_FILEMTIME="File (modification time)" +COM_PHOCADOWNLOAD_FILE_SETTINGS_LABEL="File Settings" +COM_PHOCADOWNLOAD_FILE_SIZE_EMPTY="File Size is empty" +COM_PHOCADOWNLOAD_FILE_TITLE="File Title" +COM_PHOCADOWNLOAD_FILTER="Filter" +COM_PHOCADOWNLOAD_FINISH="Finish" +COM_PHOCADOWNLOAD_FINISH_PUBLISHING="Finish Publishing" +COM_PHOCADOWNLOAD_FOLDER="Folder" +COM_PHOCADOWNLOAD_FORM_SELECT_FILENAME="Select Filename" +COM_PHOCADOWNLOAD_FORM_SELECT_ICON="Select Icon" +COM_PHOCADOWNLOAD_FTP_LOGIN_DESC="For uploading files (images, themes), Joomla! will most likely need your FTP account details. Please enter them in the form fields below." +COM_PHOCADOWNLOAD_FTP_LOGIN_LABEL="FTP Login Details" +COM_PHOCADOWNLOAD_GREY="Grey" +COM_PHOCADOWNLOAD_GROUP_LABEL_PUBLISHING_DETAILS="Publishing Details" +COM_PHOCADOWNLOAD_GUEST="Guest" +COM_PHOCADOWNLOAD_HELP="Help" +COM_PHOCADOWNLOAD_HITS="Hits" +COM_PHOCADOWNLOAD_ID="ID" +COM_PHOCADOWNLOAD_ID_ASC="ID Ascending" +COM_PHOCADOWNLOAD_ID_DESC="ID Descending" +COM_PHOCADOWNLOAD_INFO="Info" +COM_PHOCADOWNLOAD_INSERT="Insert" +COM_PHOCADOWNLOAD_INSERT_FILENAME="Insert Filename" +COM_PHOCADOWNLOAD_INSERT_ICON="Insert Icon" +COM_PHOCADOWNLOAD_INVALID_TOKEN="Invalid Token" +COM_PHOCADOWNLOAD_I_AGREE_TO_TERMS_LISTED_ABOVE="I agree to the terms listed above" +COM_PHOCADOWNLOAD_JCOMMENTS="JComments" +COM_PHOCADOWNLOAD_LICENSE="License" +COM_PHOCADOWNLOAD_LICENSES="Licenses" +COM_PHOCADOWNLOAD_LICENSE_AGREEMENT="License Agreement" +COM_PHOCADOWNLOAD_LOADING="Loading" +COM_PHOCADOWNLOAD_MAX_LIMIT_CHARS_REACHED="You have reached maximum limit of characters allowed" +COM_PHOCADOWNLOAD_MAX_SIZE="Max Size" +COM_PHOCADOWNLOAD_MODAL_BOX="Modal Box" +COM_PHOCADOWNLOAD_MOST_DOWNLOADED_FILES="Most downloaded files" +COM_PHOCADOWNLOAD_MULTIPLE_UPLOAD="Multiple Upload" +COM_PHOCADOWNLOAD_NEW="New" +COM_PHOCADOWNLOAD_NEW_CATEGORY="New Category" +COM_PHOCADOWNLOAD_NEW_FILE="New File" +COM_PHOCADOWNLOAD_NO="No" +COM_PHOCADOWNLOAD_NOBODY="Nobody" +COM_PHOCADOWNLOAD_NONE="None" +COM_PHOCADOWNLOAD_NOT_APPROVE="Unauthorize" +COM_PHOCADOWNLOAD_NOT_APPROVED="Not Authorized" +COM_PHOCADOWNLOAD_NOT_APPROVED_FILES_COUNT="Count of not authorized file(s)" +COM_PHOCADOWNLOAD_NOT_APPROVE_ITEM="Unauthorize item" +COM_PHOCADOWNLOAD_NOT_AUTHORISED_ACTION="You are not authorized to do this action" +COM_PHOCADOWNLOAD_NOT_AUTHORISED_TO_UPLOAD="You are not authorized to upload file" +COM_PHOCADOWNLOAD_NOT_INSTALLED_BROWSERPLUS="You browser doesn't have BrowserPlus installed." +COM_PHOCADOWNLOAD_NOT_INSTALLED_FLASH="You browser doesn't have Flash installed." +COM_PHOCADOWNLOAD_NOT_INSTALLED_GEARS="You browser doesn't have Gears installed." +COM_PHOCADOWNLOAD_NOT_INSTALLED_SILVERLIGHT="You browser doesn't have Silverlight installed." +COM_PHOCADOWNLOAD_NOT_SUPPORTED_HTML4="You browser doesn't have HTML 4 support." +COM_PHOCADOWNLOAD_NOT_SUPPORTED_HTML5="You browser doesn't have HTML 5 support." +COM_PHOCADOWNLOAD_NO_EXPIRY="No Expiry" +COM_PHOCADOWNLOAD_NO_RIGHTS_ACCESS_CATEGORY="You have no rights to access this category" +COM_PHOCADOWNLOAD_NO_SUBCATEGORIES="No Subcategories" +COM_PHOCADOWNLOAD_N_ITEMS_APPROVED="%d items successfully authorized" +COM_PHOCADOWNLOAD_N_ITEMS_APPROVED_1="%d item successfully authorized" +COM_PHOCADOWNLOAD_N_ITEMS_CHECKED_IN_0="No item successfully checked in" +COM_PHOCADOWNLOAD_N_ITEMS_CHECKED_IN_1="%d item successfully checked in" +COM_PHOCADOWNLOAD_N_ITEMS_CHECKED_IN_MORE="%d items successfully checked in" +COM_PHOCADOWNLOAD_N_ITEMS_DELETED="%d items successfully deleted" +COM_PHOCADOWNLOAD_N_ITEMS_DELETED_1="%d item successfully deleted" +COM_PHOCADOWNLOAD_N_ITEMS_DISAPPROVED="%d items successfully unauthorized" +COM_PHOCADOWNLOAD_N_ITEMS_DISAPPROVED_1="%d item successfully unauthorized" +COM_PHOCADOWNLOAD_N_ITEMS_PUBLISHED="%d items successfully published" +COM_PHOCADOWNLOAD_N_ITEMS_PUBLISHED_1="%d item successfully published" +COM_PHOCADOWNLOAD_N_ITEMS_UNPUBLISHED="%d items successfully unpublished" +COM_PHOCADOWNLOAD_N_ITEMS_UNPUBLISHED_1="%d item successfully unpublished" +COM_PHOCADOWNLOAD_OPEN="Open" +COM_PHOCADOWNLOAD_ORDER="Order" +COM_PHOCADOWNLOAD_ORDERING="Ordering" +COM_PHOCADOWNLOAD_ORDERING_ASC="Ordering Ascending" +COM_PHOCADOWNLOAD_ORDERING_DESC="Ordering Descending" +COM_PHOCADOWNLOAD_OVERLIB="Overlib" +COM_PHOCADOWNLOAD_OWNER="Owner" +COM_PHOCADOWNLOAD_PARENT_CATEGORY="Parent Category" +COM_PHOCADOWNLOAD_PATH="Path" +COM_PHOCADOWNLOAD_PD_CONTROL_PANEL="Phoca Download Control Panel" +COM_PHOCADOWNLOAD_PD_INFO="Phoca Download Info" +COM_PHOCADOWNLOAD_PENDING="Pending" +COM_PHOCADOWNLOAD_PLAY="Play" +COM_PHOCADOWNLOAD_PLAY_SETTINGS_LABEL="Play Settings" +COM_PHOCADOWNLOAD_PLEASE_ADD_FILE="Please add a file" +COM_PHOCADOWNLOAD_PLEASE_ENTER_VALID_EMAIL_ADDRESS="Please enter a valid email address" +COM_PHOCADOWNLOAD_PLEASE_ENTER_VALID_WEBSITE="Please enter a valid website (format: http://your_site.com)" +COM_PHOCADOWNLOAD_PLEASE_LOGIN_DOWNLOAD_FILE="Please login to download the file" +COM_PHOCADOWNLOAD_PLEASE_SELECT_CATEGORY="Please select category" +COM_PHOCADOWNLOAD_PREVIEW="Preview" +COM_PHOCADOWNLOAD_PREVIEW_SETTINGS_LABEL="Preview Settings" +COM_PHOCADOWNLOAD_PUBLISHED="Published" +COM_PHOCADOWNLOAD_PUBLISH_INFORMATION="Publish Information" +COM_PHOCADOWNLOAD_RESET="Reset" +COM_PHOCADOWNLOAD_ROUNDED_CORNERS="Rounded Corners" +COM_PHOCADOWNLOAD_SEARCH="Search" +COM_PHOCADOWNLOAD_SEARCH_IN_TITLE="Search" +COM_PHOCADOWNLOAD_SELECT_CATEGORY="Select Category" +COM_PHOCADOWNLOAD_SELECT_FILES="Select Files" +COM_PHOCADOWNLOAD_SELECT_ITEM_RESET="Select an item to reset" +COM_PHOCADOWNLOAD_SELECT_LICENSE="Select License" +COM_PHOCADOWNLOAD_SELF="Self" +COM_PHOCADOWNLOAD_SIZE="Size" +COM_PHOCADOWNLOAD_STANDARD_POPUP_WINDOW="Standard Popup Window" +COM_PHOCADOWNLOAD_START="Start" +COM_PHOCADOWNLOAD_START_PUBLISHING="Start Publishing" +COM_PHOCADOWNLOAD_START_UPLOAD="Start Upload" +COM_PHOCADOWNLOAD_START_UPLOADING_QUEUE="Start Uploading Queue" +COM_PHOCADOWNLOAD_STATISTICS="Statistics" +COM_PHOCADOWNLOAD_STATUS="Status" +COM_PHOCADOWNLOAD_STOP_CURRENT_UPLOAD="Stop Current Upload" +COM_PHOCADOWNLOAD_SUCCESS="Success" +COM_PHOCADOWNLOAD_SUCCESS_FILE_UPLOAD="File uploaded" +COM_PHOCADOWNLOAD_SUCCESS_FILE_UPLOADED="File uploaded" +COM_PHOCADOWNLOAD_SUCCESS_FOLDER_CREATING="Folder created" +COM_PHOCADOWNLOAD_SUCCESS_RESET_USER_STAT="User Statistics reset" +COM_PHOCADOWNLOAD_THERE_IS_NO_FILE="There is no file" +COM_PHOCADOWNLOAD_TITLE="Title" +COM_PHOCADOWNLOAD_TITLE_ASC="Title Ascending" +COM_PHOCADOWNLOAD_TITLE_DESC="Title Descending" +COM_PHOCADOWNLOAD_TOP="Top" +COM_PHOCADOWNLOAD_TOP_AND_OVERLIB="Top and Overlib" +COM_PHOCADOWNLOAD_TOP_WITH_DETAIL_AND_OVERLIB="Top with detail and Overlib" +COM_PHOCADOWNLOAD_UNABLE_TO_UPLOAD_FILE="File cannot be uploaded - unable to move file" +COM_PHOCADOWNLOAD_UP="Up" +COM_PHOCADOWNLOAD_UPLOAD="Upload" +COM_PHOCADOWNLOAD_UPLOADED_FILES="Uploaded Files" +COM_PHOCADOWNLOAD_UPLOAD_FILE="Upload File" +COM_PHOCADOWNLOAD_USER="User" +COM_PHOCADOWNLOAD_USERNAME="Username" +COM_PHOCADOWNLOAD_USERS="Users" +COM_PHOCADOWNLOAD_USER_STATISTICS="User Statistics" +COM_PHOCADOWNLOAD_USER_UPLOAD_DISABLED="User Upload is disabled" +COM_PHOCADOWNLOAD_VERSION="Version" +COM_PHOCADOWNLOAD_WARNFILENAME="File name must only contain alphanumeric characters, underscores, hyphens and spaces." +COM_PHOCADOWNLOAD_WARNFILETOOLARGE="This file is too large to upload." +COM_PHOCADOWNLOAD_WARNFILETYPE="This file type is not supported (or there are some restrictions on the server)." +COM_PHOCADOWNLOAD_WARNFILETYPE_DISALLOWED="The file type is disallowed - file cannot be uploaded" +COM_PHOCADOWNLOAD_WARNFILETYPE_DISALLOWED_DOWNLOAD="Error while downloading file (Disallowed Mime Type)" +COM_PHOCADOWNLOAD_WARNFILETYPE_DOWNLOAD="Error while downloading file (Mime Type not found)" +COM_PHOCADOWNLOAD_WARNFILETYPE_NOT_ALLOWED="The file type is not allowed - file cannot be uploaded" +COM_PHOCADOWNLOAD_WARNIEXSS="Possible IE XSS Attack found." +COM_PHOCADOWNLOAD_WARNING_AGREE_LICENSE_TERMS="You must agree to listed terms" +COM_PHOCADOWNLOAD_WARNING_AUTHORIZE_ALL="Do you really want to authorize all files of all users?" +COM_PHOCADOWNLOAD_WARNING_DELETE_ITEMS="Are you sure you want to delete the listed Items?" +COM_PHOCADOWNLOAD_WARNING_DIRNAME="Error: Wrong folder name" +COM_PHOCADOWNLOAD_WARNING_INPUT_FILE_UPLOAD="Please input a file for upload" +COM_PHOCADOWNLOAD_WARNING_RESET_DOWNLOADS="Really reset downloads?" +COM_PHOCADOWNLOAD_WARNINVALIDIMG="Not a valid image." +COM_PHOCADOWNLOAD_WARNINVALIDMIME="Illegal or invalid mime type detected." +COM_PHOCADOWNLOAD_WARNNOTADMIN="Uploaded file is not an image file and you are not a manager or higher." +COM_PHOCADOWNLOAD_WARNSAFEMODE="Directory creation is not allowed while running in SAFE MODE as this can cause problems." +COM_PHOCADOWNLOAD_WARNUSERFILESTOOLARGE="Maximum size of all your files reached. File cannot be uploaded." +COM_PHOCADOWNLOAD_WARNUSERFILESTOOMUCH="Maximum count of all your files reached. File cannot be uploaded." +COM_PHOCADOWNLOAD_YES="Yes" +COM_PHOCADOWNLOAD_AT="at" +COM_PHOCADOWNLOAD_ERROR_CONTROLLER="Error: No such controller or task" +COM_PHOCADOWNLOAD_ERROR_FOLDER_CREATING_EXISTS="Folder exists" +COM_PHOCADOWNLOAD_SUCCESS_FOLDER_CREATING="Folder created" +COM_PHOCADOWNLOAD_EDIT_LICENSE="Edit License" +COM_PHOCADOWNLOAD_NEW_LICENSE="New License" diff --git a/packages/phocadownload/administrator/language/en-GB/en-GB.com_phocadownload.sys.ini b/packages/phocadownload/administrator/language/en-GB/en-GB.com_phocadownload.sys.ini new file mode 100644 index 00000000..f0d511f8 --- /dev/null +++ b/packages/phocadownload/administrator/language/en-GB/en-GB.com_phocadownload.sys.ini @@ -0,0 +1,59 @@ +; @package Joomla.Framework +; @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved. +; @license GNU General Public License version 2 or later; see LICENSE.txt +; +; @component Phoca Component +; @copyright Copyright (C) Jan Pavelka www.phoca.cz +; @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later; +; +; @test utf-8 ä, ö, ü +; + +;[3.0.2] +COM_PHOCADOWNLOAD_DOWNLOAD_LAYOUT="Download View" +COM_PHOCADOWNLOAD_DOWNLOAD_LAYOUT_DESC="This view displays link of file to download (File which is accessible by unique download URL)" +COM_PHOCADOWNLOAD_DOWNLOAD_GROUP="Download View" +COM_PHOCADOWNLOAD_DOWNLOAD_GROUP_DESC="This view displays link of file to download (File which is accessible by unique download URL)" + +;[3.0.0 Stable] +COM_PHOCADOWNLOAD_VERSION="Version" +;[3.0.0] +COM_PHOCADOWNLOAD_UPDATE_TEXT="Phoca Download updated" +COM_PHOCADOWNLOAD_DOWNLOADS="Downloads" +COM_PHOCADOWNLOAD_UPLOADS="Uploads" +COM_PHOCADOWNLOAD_LOGGING="Logging" +COM_PHOCADOWNLOAD_STYLES="Styles" +;[2.1.2] +COM_PHOCADOWNLOAD_TAGS="Tags" +COM_PHOCADOWNLOAD_LAYOUT="Layout" +;[2.1.0] +PHOCADOWNLOAD="Phoca Download" +COM_PHOCADOWNLOAD="Phoca Download" +COM_PHOCADOWNLOAD_CONTROLPANEL="Control Panel" +COM_PHOCADOWNLOAD_FILES="Files" +COM_PHOCADOWNLOAD_CATEGORIES="Categories" +COM_PHOCADOWNLOAD_LICENSES="Licenses" +COM_PHOCADOWNLOAD_STATISTICS="Statistics" +COM_PHOCADOWNLOAD_USERS="Users" +COM_PHOCADOWNLOAD_INFO="Info" +COM_PHOCADOWNLOAD_FILE_RATING="File Rating" +COM_PHOCADOWNLOAD_XML_DESCRIPTION="Phoca Download is a download manager for Joomla! CMS. It includes component, modules and plugins and allows to add files to the site which can be downloaded by other users." +COM_PHOCADOWNLOAD_CATEGORIES_GROUP="List Of Categories (Categories View)" +COM_PHOCADOWNLOAD_CATEGORIES_GROUP_DESC="This view displays list of categories" +COM_PHOCADOWNLOAD_CATEGORY_GROUP="List of Files (Category View)" +COM_PHOCADOWNLOAD_CATEGORY_GROUP_DESC="This view displays list of files" +COM_PHOCADOWNLOAD_FILE_GROUP="File View - detail of a file" +COM_PHOCADOWNLOAD_FILE_GROUP_DESC="This view displays detail of a file" +COM_PHOCADOWNLOAD_USER_UPLOAD_GROUP="User Upload View" +COM_PHOCADOWNLOAD_USER_UPLOAD_GROUP_DESC="This view displays User Upload" +COM_PHOCADOWNLOAD_CATEGORIES_LIST_LAYOUT="List Of Categories (Categories View)" +COM_PHOCADOWNLOAD_CATEGORIES_LIST_LAYOUT_DESC="This view displays list of categories" +COM_PHOCADOWNLOAD_CATEGORY_LIST_LAYOUT="List of Files (Category View)" +COM_PHOCADOWNLOAD_CATEGORY_LIST_LAYOUT_DESC="This view displays list of files" +COM_PHOCADOWNLOAD_USER_UPLOAD_LAYOUT="User Upload" +COM_PHOCADOWNLOAD_USER_UPLOAD_LAYOUT_DESC="This view displays User Upload" +COM_PHOCADOWNLOAD_FILE_LAYOUT="File View" +COM_PHOCADOWNLOAD_FILE_LAYOUT_DESC="This view displays details of a file" + +COM_PHOCADOWNLOAD_INSTALL="Install" +COM_PHOCADOWNLOAD_UPGRADE="Upgrade" \ No newline at end of file diff --git a/packages/phocadownload/administrator/language/en-GB/en-GB.plg_content_phocadownload.ini b/packages/phocadownload/administrator/language/en-GB/en-GB.plg_content_phocadownload.ini new file mode 100644 index 00000000..a287cc17 --- /dev/null +++ b/packages/phocadownload/administrator/language/en-GB/en-GB.plg_content_phocadownload.ini @@ -0,0 +1,33 @@ +; @package Joomla.Framework +; @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved. +; @license GNU General Public License version 2 or later; see LICENSE.txt +; +; @extension Phoca Module +; @copyright Copyright (C) Jan Pavelka www.phoca.cz +; @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later; +; +; @test utf-8 ä, ö, ü +; + +;[3.0.2] +PLG_CONTENT_PHOCADOWNLOAD_NO="No" +PLG_CONTENT_PHOCADOWNLOAD_YES="Yes" +PLG_CONTENT_PHOCADOWNLOAD_FILE_ICON_MIME_LABEL="File Icon (Extension Mime Type)" +PLG_CONTENT_PHOCADOWNLOAD_FILE_ICON_MIME_DESC="Enable or disable displaying of file icon by extension mime type (for example: PDF icon will be displayed next to PDF documents). Be aware not all extension mime type icons are available." + +PLG_CONTENT_PHOCADOWNLOAD_DESCRIPTION="

Phoca Download Content Plugin - displaying Phoca Download files or YouTube videos in article.

Enable and publish this plugin in Plugin Manager

More information: Phoca.cz

Documentation: Phoca Documentation

Help and Support: Phoca Forum

" +PLG_CONTENT_PHOCADOWNLOAD="Phoca Download Plugin" +PLG_CONTENT_PHOCADOWNLOAD_DOWNLOAD_CATEGORIES="Download Categories" +PLG_CONTENT_PHOCADOWNLOAD_DOWNLOAD_CATEGORY="Download Category" +PLG_CONTENT_PHOCADOWNLOAD_DOWNLOAD_FILE="Download File" +PLG_CONTENT_PHOCADOWNLOAD_ICON_SIZE_LABEL="Icon Size" +PLG_CONTENT_PHOCADOWNLOAD_ICON_SIZE_DESC="Set Icon Size" +PLG_CONTENT_PHOCADOWNLOAD_PLAY_FILE="Play File" +PLG_CONTENT_PHOCADOWNLOAD_PHOCA_DOWNLOAD_ERROR="Phoca Download Error" +PLG_CONTENT_PHOCADOWNLOAD_PHOCA_DOWNLOAD_NOT_INSTALLED_ON_YOUR_SYSTEM="Phoca Download is not installed on your system" +PLG_CONTENT_PHOCADOWNLOAD_NO_CORRECT_FILE_FOR_PLAYING_FOUND="No correct file for playing found" +PLG_CONTENT_PHOCADOWNLOAD_NO_FILE_FOR_PLAYING_FOUND="No file for playing found" +PLG_CONTENT_PHOCADOWNLOAD_NO_FILE_FOR_PREVIEWING_FOUND="No file for previewing found" +PLG_CONTENT_PHOCADOWNLOAD_PLAY="Play" +PLG_CONTENT_PHOCADOWNLOAD_PREVIEW="Preview" +PLG_CONTENT_PHOCADOWNLOAD_WRONG_YOUTUBE_URL="Wrong YouTube URL" diff --git a/packages/phocadownload/administrator/language/en-GB/en-GB.plg_content_phocadownload.sys.ini b/packages/phocadownload/administrator/language/en-GB/en-GB.plg_content_phocadownload.sys.ini new file mode 100644 index 00000000..45f32422 --- /dev/null +++ b/packages/phocadownload/administrator/language/en-GB/en-GB.plg_content_phocadownload.sys.ini @@ -0,0 +1,14 @@ +; @package Joomla.Framework +; @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved. +; @license GNU General Public License version 2 or later; see LICENSE.txt +; +; @extension Phoca Module +; @copyright Copyright (C) Jan Pavelka www.phoca.cz +; @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later; +; +; @test utf-8 ä, ö, ü +; + +PLG_CONTENT_PHOCADOWNLOAD_DESCRIPTION="

Phoca Download Content Plugin - displaying Phoca Download files or YouTube videos in article.

Enable and publish this plugin in Plugin Manager

More information: Phoca.cz

Documentation: Phoca Documentation

Help and Support: Phoca Forum

" +PLG_CONTENT_PHOCADOWNLOAD="Phoca Download Plugin" + diff --git a/packages/phocadownload/administrator/language/en-GB/en-GB.plg_editors-xtd_phocadownload.ini b/packages/phocadownload/administrator/language/en-GB/en-GB.plg_editors-xtd_phocadownload.ini new file mode 100644 index 00000000..69cad9c1 --- /dev/null +++ b/packages/phocadownload/administrator/language/en-GB/en-GB.plg_editors-xtd_phocadownload.ini @@ -0,0 +1,19 @@ +; @package Joomla.Framework +; @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved. +; @license GNU General Public License version 2 or later; see LICENSE.txt +; +; @component Phoca Plugin +; @copyright Copyright (C) Jan Pavelka www.phoca.cz +; @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later; +; +; @test utf-8 ä, ö, ü +; + +;[3.0.1] +PLG_EDITORS-XTD_PHOCADOWNLOAD="Phoca Download Button Plugin" +PLG_EDITORS-XTD_PHOCADOWNLOAD_DESCRIPTION="

Phoca Download Button Plugin - displays button in editor to add Phoca Download files easily to article.

Enable and publish this plugin in Plugin Manager

More information: Phoca.cz

Documentation: Phoca Documentation

Help and Support: Phoca Forum

" +PLG_EDITORS-XTD_PHOCADOWNLOAD_NO="No" +PLG_EDITORS-XTD_PHOCADOWNLOAD_YES="Yes" +PLG_EDITORS-XTD_PHOCADOWNLOAD_ENABLE_FRONTEND_LABEL="Display In Frontend" +PLG_EDITORS-XTD_PHOCADOWNLOAD_ENABLE_FRONTEND_DESC="Enable or disable displaying button in frontend" +PLG_EDITORS-XTD_PHOCADOWNLOAD_FILE="Phoca Download File" diff --git a/packages/phocadownload/administrator/language/en-GB/en-GB.plg_editors-xtd_phocadownload.sys.ini b/packages/phocadownload/administrator/language/en-GB/en-GB.plg_editors-xtd_phocadownload.sys.ini new file mode 100644 index 00000000..d35b9993 --- /dev/null +++ b/packages/phocadownload/administrator/language/en-GB/en-GB.plg_editors-xtd_phocadownload.sys.ini @@ -0,0 +1,13 @@ +; @package Joomla.Framework +; @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved. +; @license GNU General Public License version 2 or later; see LICENSE.txt +; +; @component Phoca Module +; @copyright Copyright (C) Jan Pavelka www.phoca.cz +; @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later; +; +; @test utf-8 ä, ö, ü +; +;[3.0.0] +PLG_EDITORS-XTD_PHOCADOWNLOAD="Phoca Download Button Plugin" +PLG_EDITORS-XTD_PHOCADOWNLOAD_DESCRIPTION="

Phoca Download Button Plugin - displays button in editor to add Phoca Download files easily to article.

Enable and publish this plugin in Plugin Manager

More information: Phoca.cz

Documentation: Phoca Documentation

Help and Support: Phoca Forum

" diff --git a/packages/phocadownload/administrator/language/en-GB/en-GB.plg_search_phocadownload.ini b/packages/phocadownload/administrator/language/en-GB/en-GB.plg_search_phocadownload.ini new file mode 100644 index 00000000..4790308a --- /dev/null +++ b/packages/phocadownload/administrator/language/en-GB/en-GB.plg_search_phocadownload.ini @@ -0,0 +1,17 @@ +; @package Joomla.Framework +; @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved. +; @license GNU General Public License version 2 or later; see LICENSE.txt +; +; @component Phoca Plugin +; @copyright Copyright (C) Jan Pavelka www.phoca.cz +; @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later; +; +; @test utf-8 ä, ö, ü +; + +;[3.0.0] +PLG_SEARCH_PHOCADOWNLOAD_PHOCADOWNLOAD="Phoca Download" +PLG_SEARCH_PHOCADOWNLOAD="Phoca Download Search Plugin" +PLG_SEARCH_PHOCADOWNLOAD_DESCRIPTION="Phoca Download Search Plugin - Phoca Plugin for Joomla! CMS
More information on www.phoca.cz" +PLG_SEARCH_PHOCADOWNLOAD_SEARCH_LIMIT_LABEL="Search Limit" +PLG_SEARCH_PHOCADOWNLOAD_SEARCH_LIMIT_DESC="Set number of search items to return" diff --git a/packages/phocadownload/administrator/language/en-GB/en-GB.plg_search_phocadownload.sys.ini b/packages/phocadownload/administrator/language/en-GB/en-GB.plg_search_phocadownload.sys.ini new file mode 100644 index 00000000..5e59eb67 --- /dev/null +++ b/packages/phocadownload/administrator/language/en-GB/en-GB.plg_search_phocadownload.sys.ini @@ -0,0 +1,13 @@ +; @package Joomla.Framework +; @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved. +; @license GNU General Public License version 2 or later; see LICENSE.txt +; +; @component Phoca Module +; @copyright Copyright (C) Jan Pavelka www.phoca.cz +; @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later; +; +; @test utf-8 ä, ö, ü +; +;[3.0.0] +PLG_SEARCH_PHOCADOWNLOAD="Phoca Download Search Plugin" +PLG_SEARCH_PHOCADOWNLOAD_DESCRIPTION="Phoca Download Search Plugin - Phoca Plugin for Joomla! CMS
More information on www.phoca.cz" diff --git a/packages/phocadownload/components/com_phocadownload/assets/flowplayer/LICENSE-flowplayer.txt b/packages/phocadownload/components/com_phocadownload/assets/flowplayer/LICENSE-flowplayer.txt new file mode 100644 index 00000000..c605e448 --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/flowplayer/LICENSE-flowplayer.txt @@ -0,0 +1,10 @@ +The FlowPlayer Free version is released under GNU GENERAL PUBLIC LICENSE +Version 3 (GPL). + +Note that the GPL requires that you don't remove the Flowpayer copyright notices +from the user interface. See section 5.d below. + +Commercial licenses are available. The commercial player version does +not have any Flowplayer logos or texts. + +GNU GENERAL PUBLIC LICENSE - see: http://www.gnu.org/licenses/gpl-3.0.html \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/flowplayer/LICENSE-flowplayeraudio.txt b/packages/phocadownload/components/com_phocadownload/assets/flowplayer/LICENSE-flowplayeraudio.txt new file mode 100644 index 00000000..bab38cb7 --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/flowplayer/LICENSE-flowplayeraudio.txt @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2008, 2009 Flowplayer Oy + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/packages/phocadownload/components/com_phocadownload/assets/flowplayer/flowplayer-3.2.2.min.js b/packages/phocadownload/components/com_phocadownload/assets/flowplayer/flowplayer-3.2.2.min.js new file mode 100644 index 00000000..72324372 --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/flowplayer/flowplayer-3.2.2.min.js @@ -0,0 +1,24 @@ +/* + * flowplayer.js 3.2.2. The Flowplayer API + * + * Copyright 2010 Flowplayer Oy + * + * This file is part of Flowplayer. + * + * Flowplayer is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Flowplayer is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Flowplayer. If not, see . + * + * Date: 2010-05-20 17:15:38 +0000 (Thu, 20 May 2010) + * Revision: 480 + */ +(function(){function g(o){console.log("$f.fireEvent",[].slice.call(o))}function k(q){if(!q||typeof q!="object"){return q}var o=new q.constructor();for(var p in q){if(q.hasOwnProperty(p)){o[p]=k(q[p])}}return o}function m(t,q){if(!t){return}var o,p=0,r=t.length;if(r===undefined){for(o in t){if(q.call(t[o],o,t[o])===false){break}}}else{for(var s=t[0];p1){var t=arguments[1],q=(arguments.length==3)?arguments[2]:{};if(typeof t=="string"){t={src:t}}t=i({bgcolor:"#000000",version:[9,0],expressInstall:"http://static.flowplayer.org/swf/expressinstall.swf",cachebusting:true},t);if(typeof o=="string"){if(o.indexOf(".")!=-1){var s=[];m(n(o),function(){s.push(new b(this,k(t),k(q)))});return new d(s)}else{var r=c(o);return new b(r!==null?r:o,t,q)}}else{if(o){return new b(o,t,q)}}}return null};i(window.$f,{fireEvent:function(){var o=[].slice.call(arguments);var q=$f(o[0]);return q?q._fireEvent(o.slice(1)):null},addPlugin:function(o,p){b.prototype[o]=p;return $f},each:m,extend:i});if(typeof jQuery=="function"){jQuery.fn.flowplayer=function(q,p){if(!arguments.length||typeof arguments[0]=="number"){var o=[];this.each(function(){var r=$f(this);if(r){o.push(r)}});return arguments.length?o[arguments[0]]:new d(o)}return this.each(function(){$f(this,k(q),p?k(p):{})})}}})();(function(){var h=document.all,j="http://www.adobe.com/go/getflashplayer",c=typeof jQuery=="function",e=/(\d+)[^\d]+(\d+)[^\d]*(\d*)/,b={width:"100%",height:"100%",id:"_"+(""+Math.random()).slice(9),allowfullscreen:true,allowscriptaccess:"always",quality:"high",version:[3,0],onFail:null,expressInstall:null,w3c:false,cachebusting:false};if(window.attachEvent){window.attachEvent("onbeforeunload",function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){}})}function i(l,f){if(f){for(key in f){if(f.hasOwnProperty(key)){l[key]=f[key]}}}return l}function a(f,n){var m=[];for(var l in f){if(f.hasOwnProperty(l)){m[l]=n(f[l])}}return m}window.flashembed=function(f,m,l){if(typeof f=="string"){f=document.getElementById(f.replace("#",""))}if(!f){return}if(typeof m=="string"){m={src:m}}return new d(f,i(i({},b),m),l)};var g=i(window.flashembed,{conf:b,getVersion:function(){var f;try{f=navigator.plugins["Shockwave Flash"].description.slice(16)}catch(n){try{var l=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");f=l&&l.GetVariable("$version")}catch(m){}}f=e.exec(f);return f?[f[1],f[3]]:[0,0]},asString:function(l){if(l===null||l===undefined){return null}var f=typeof l;if(f=="object"&&l.push){f="array"}switch(f){case"string":l=l.replace(new RegExp('(["\\\\])',"g"),"\\$1");l=l.replace(/^\s?(\d+\.?\d+)%/,"$1pct");return'"'+l+'"';case"array":return"["+a(l,function(o){return g.asString(o)}).join(",")+"]";case"function":return'"function()"';case"object":var m=[];for(var n in l){if(l.hasOwnProperty(n)){m.push('"'+n+'":'+g.asString(l[n]))}}return"{"+m.join(",")+"}"}return String(l).replace(/\s/g," ").replace(/\'/g,'"')},getHTML:function(o,l){o=i({},o);var n=''}o.width=o.height=o.id=o.w3c=o.src=null;o.onFail=o.version=o.expressInstall=null;for(var m in o){if(o[m]){n+=''}}var p="";if(l){for(var f in l){if(l[f]){var q=l[f];p+=f+"="+(/function|object/.test(typeof q)?g.asString(q):q)+"&"}}p=p.slice(0,-1);n+='"}n+="";return n},isSupported:function(f){return k[0]>f[0]||k[0]==f[0]&&k[1]>=f[1]}});var k=g.getVersion();function d(f,n,m){if(g.isSupported(n.version)){f.innerHTML=g.getHTML(n,m)}else{if(n.expressInstall&&g.isSupported([6,65])){f.innerHTML=g.getHTML(i(n,{src:n.expressInstall}),{MMredirectURL:location.href,MMplayerType:"PlugIn",MMdoctitle:document.title})}else{if(!f.innerHTML.replace(/\s/g,"")){f.innerHTML="

Flash version "+n.version+" or greater is required

"+(k[0]>0?"Your version is "+k:"You have no flash plugin installed")+"

"+(f.tagName=="A"?"

Click here to download latest version

":"

Download latest version from here

");if(f.tagName=="A"){f.onclick=function(){location.href=j}}}if(n.onFail){var l=n.onFail.call(this);if(typeof l=="string"){f.innerHTML=l}}}}if(h){window[n.id]=document.getElementById(n.id)}i(this,{getRoot:function(){return f},getOptions:function(){return n},getConf:function(){return m},getApi:function(){return f.firstChild}})}if(c){jQuery.tools=jQuery.tools||{version:"3.2.0"};jQuery.tools.flashembed={conf:b};jQuery.fn.flashembed=function(l,f){return this.each(function(){$(this).data("flashembed",flashembed(this,l,f))})}}})(); \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/flowplayer/flowplayer-3.2.2.swf b/packages/phocadownload/components/com_phocadownload/assets/flowplayer/flowplayer-3.2.2.swf new file mode 100644 index 00000000..598c3e2a Binary files /dev/null and b/packages/phocadownload/components/com_phocadownload/assets/flowplayer/flowplayer-3.2.2.swf differ diff --git a/packages/phocadownload/components/com_phocadownload/assets/flowplayer/flowplayer.audio-3.2.0.swf b/packages/phocadownload/components/com_phocadownload/assets/flowplayer/flowplayer.audio-3.2.0.swf new file mode 100644 index 00000000..09514e70 Binary files /dev/null and b/packages/phocadownload/components/com_phocadownload/assets/flowplayer/flowplayer.audio-3.2.0.swf differ diff --git a/packages/phocadownload/components/com_phocadownload/assets/flowplayer/flowplayer.controls-3.2.1.swf b/packages/phocadownload/components/com_phocadownload/assets/flowplayer/flowplayer.controls-3.2.1.swf new file mode 100644 index 00000000..61874403 Binary files /dev/null and b/packages/phocadownload/components/com_phocadownload/assets/flowplayer/flowplayer.controls-3.2.1.swf differ diff --git a/packages/phocadownload/components/com_phocadownload/assets/flowplayer/index.html b/packages/phocadownload/components/com_phocadownload/assets/flowplayer/index.html new file mode 100644 index 00000000..0e44bd0e --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/flowplayer/index.html @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/overlib/index.html b/packages/phocadownload/components/com_phocadownload/assets/overlib/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/overlib/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/overlib/overlib_mini.js b/packages/phocadownload/components/com_phocadownload/assets/overlib/overlib_mini.js new file mode 100644 index 00000000..f8036b6d --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/overlib/overlib_mini.js @@ -0,0 +1,322 @@ +//\///// +//\ overLIB 4.21 - You may not remove or change this notice. +//\ Copyright Erik Bosrup 1998-2004. All rights reserved. +//\ +//\ Contributors are listed on the homepage. +//\ This file might be old, always check for the latest version at: +//\ http://www.bosrup.com/web/overlib/ +//\ +//\ Please read the license agreement (available through the link above) +//\ before using overLIB. Direct any licensing questions to erik@bosrup.com. +//\ +//\ Do not sell this as your own work or remove this copyright notice. +//\ For full details on copying or changing this script please read the +//\ license agreement at the link above. Please give credit on sites that +//\ use overLIB and submit changes of the script so other people can use +//\ them as well. +//\///// +//\ THIS IS A VERY MODIFIED VERSION. DO NOT EDIT OR PUBLISH. GET THE ORIGINAL! +var olLoaded=0,pmStart=10000000,pmUpper=10001000,pmCount=pmStart+1,pmt='',pms=new Array(),olInfo=new Info('4.21',1),FREPLACE=0,FBEFORE=1,FAFTER=2,FALTERNATE=3,FCHAIN=4,olHideForm=0,olHautoFlag=0,olVautoFlag=0,hookPts=new Array(),postParse=new Array(),cmdLine=new Array(),runTime=new Array(); +registerCommands('donothing,inarray,caparray,sticky,background,noclose,caption,left,right,center,offsetx,offsety,fgcolor,bgcolor,textcolor,capcolor,closecolor,width,border,cellpad,status,autostatus,autostatuscap,height,closetext,snapx,snapy,fixx,fixy,relx,rely,fgbackground,bgbackground,padx,pady,fullhtml,above,below,capicon,textfont,captionfont,closefont,textsize,captionsize,closesize,timeout,function,delay,hauto,vauto,closeclick,wrap,followmouse,mouseoff,closetitle,cssoff,compatmode,cssclass,fgclass,bgclass,textfontclass,captionfontclass,closefontclass'); +if(typeof ol_fgcolor=='undefined')var ol_fgcolor="#fdfdfd";if(typeof ol_bgcolor=='undefined')var ol_bgcolor="#f0f0f0";if(typeof ol_textcolor=='undefined')var ol_textcolor="#999999";if(typeof ol_capcolor=='undefined')var ol_capcolor="#999999";if(typeof ol_closecolor=='undefined')var ol_closecolor="#9999FF";if(typeof ol_textfont=='undefined')var ol_textfont="Verdana,Arial,Helvetica";if(typeof ol_captionfont=='undefined')var ol_captionfont="Verdana,Arial,Helvetica";if(typeof ol_closefont=='undefined')var ol_closefont="Verdana,Arial,Helvetica";if(typeof ol_textsize=='undefined')var ol_textsize="1";if(typeof ol_captionsize=='undefined')var ol_captionsize="1";if(typeof ol_closesize=='undefined')var ol_closesize="1";if(typeof ol_width=='undefined')var ol_width="200";if(typeof ol_border=='undefined')var ol_border="1";if(typeof ol_cellpad=='undefined')var ol_cellpad=2;if(typeof ol_offsetx=='undefined')var ol_offsetx=10;if(typeof ol_offsety=='undefined')var ol_offsety=10;if(typeof ol_text=='undefined')var ol_text="Default Text";if(typeof ol_cap=='undefined')var ol_cap="";if(typeof ol_sticky=='undefined')var ol_sticky=0;if(typeof ol_background=='undefined')var ol_background="";if(typeof ol_close=='undefined')var ol_close="Close";if(typeof ol_hpos=='undefined')var ol_hpos=RIGHT;if(typeof ol_status=='undefined')var ol_status="";if(typeof ol_autostatus=='undefined')var ol_autostatus=0;if(typeof ol_height=='undefined')var ol_height=-1;if(typeof ol_snapx=='undefined')var ol_snapx=0;if(typeof ol_snapy=='undefined')var ol_snapy=0;if(typeof ol_fixx=='undefined')var ol_fixx=-1;if(typeof ol_fixy=='undefined')var ol_fixy=-1;if(typeof ol_relx=='undefined')var ol_relx=null;if(typeof ol_rely=='undefined')var ol_rely=null;if(typeof ol_fgbackground=='undefined')var ol_fgbackground="";if(typeof ol_bgbackground=='undefined')var ol_bgbackground="";if(typeof ol_padxl=='undefined')var ol_padxl=1;if(typeof ol_padxr=='undefined')var ol_padxr=1;if(typeof ol_padyt=='undefined')var ol_padyt=1;if(typeof ol_padyb=='undefined')var ol_padyb=1;if(typeof ol_fullhtml=='undefined')var ol_fullhtml=0;if(typeof ol_vpos=='undefined')var ol_vpos=BELOW;if(typeof ol_aboveheight=='undefined')var ol_aboveheight=0;if(typeof ol_capicon=='undefined')var ol_capicon="";if(typeof ol_frame=='undefined')var ol_frame=self;if(typeof ol_timeout=='undefined')var ol_timeout=0;if(typeof ol_function=='undefined')var ol_function=null;if(typeof ol_delay=='undefined')var ol_delay=0;if(typeof ol_hauto=='undefined')var ol_hauto=0;if(typeof ol_vauto=='undefined')var ol_vauto=0;if(typeof ol_closeclick=='undefined')var ol_closeclick=0;if(typeof ol_wrap=='undefined')var ol_wrap=0;if(typeof ol_followmouse=='undefined')var ol_followmouse=1;if(typeof ol_mouseoff=='undefined')var ol_mouseoff=0;if(typeof ol_closetitle=='undefined')var ol_closetitle='Close';if(typeof ol_compatmode=='undefined')var ol_compatmode=0;if(typeof ol_css=='undefined')var ol_css=CSSOFF;if(typeof ol_fgclass=='undefined')var ol_fgclass="";if(typeof ol_bgclass=='undefined')var ol_bgclass="";if(typeof ol_textfontclass=='undefined')var ol_textfontclass="";if(typeof ol_captionfontclass=='undefined')var ol_captionfontclass="";if(typeof ol_closefontclass=='undefined')var ol_closefontclass=""; +if(typeof ol_texts=='undefined')var ol_texts=new Array("Text 0","Text 1");if(typeof ol_caps=='undefined')var ol_caps=new Array("Caption 0","Caption 1"); +var o3_text="",o3_cap="",o3_sticky=0,o3_background="",o3_close="Close",o3_hpos=RIGHT,o3_offsetx=2,o3_offsety=2,o3_fgcolor="",o3_bgcolor="",o3_textcolor="",o3_capcolor="",o3_closecolor="",o3_width=100,o3_border=1,o3_cellpad=2,o3_status="",o3_autostatus=0,o3_height=-1,o3_snapx=0,o3_snapy=0,o3_fixx=-1,o3_fixy=-1,o3_relx=null,o3_rely=null,o3_fgbackground="",o3_bgbackground="",o3_padxl=0,o3_padxr=0,o3_padyt=0,o3_padyb=0,o3_fullhtml=0,o3_vpos=BELOW,o3_aboveheight=0,o3_capicon="",o3_textfont="Verdana,Arial,Helvetica",o3_captionfont="Verdana,Arial,Helvetica",o3_closefont="Verdana,Arial,Helvetica",o3_textsize="1",o3_captionsize="1",o3_closesize="1",o3_frame=self,o3_timeout=0,o3_timerid=0,o3_allowmove=0,o3_function=null,o3_delay=0,o3_delayid=0,o3_hauto=0,o3_vauto=0,o3_closeclick=0,o3_wrap=0,o3_followmouse=1,o3_mouseoff=0,o3_closetitle='',o3_compatmode=0,o3_css=CSSOFF,o3_fgclass="",o3_bgclass="",o3_textfontclass="",o3_captionfontclass="",o3_closefontclass=""; +var o3_x=0,o3_y=0,o3_showingsticky=0,o3_removecounter=0; +var over=null,fnRef,hoveringSwitch=false,olHideDelay; +var isMac=(navigator.userAgent.indexOf("Mac")!=-1),olOp=(navigator.userAgent.toLowerCase().indexOf('opera')>-1&&document.createTextNode),olNs4=(navigator.appName=='Netscape'&&parseInt(navigator.appVersion)==4),olNs6=(document.getElementById)?true:false,olKq=(olNs6&&/konqueror/i.test(navigator.userAgent)),olIe4=(document.all)?true:false,olIe5=false,olIe55=false,docRoot='document.body'; +if(olNs4){var oW=window.innerWidth;var oH=window.innerHeight;window.onresize=function(){if(oW!=window.innerWidth||oH!=window.innerHeight)location.reload();}} +if(olIe4){var agent=navigator.userAgent;if(/MSIE/.test(agent)){var versNum=parseFloat(agent.match(/MSIE[ ](\d{1,2}\.\d+)\.*/i)[1]);if(versNum>=5){olIe5=true;olIe55=(versNum>=5.5&&!olOp)?true:false;if(olNs6)olNs6=false;}} +if(olNs6)olIe4=false;} +if(document.compatMode&&document.compatMode=='CSS1Compat'){docRoot=((olIe4&&!olOp)?'document.documentElement':docRoot);} +if(window.addEventListener)window.addEventListener("load",OLonLoad_handler,false);else if(window.attachEvent)window.attachEvent("onload",OLonLoad_handler); +var capExtent; +function overlib(){if(!olLoaded||isExclusive(overlib.arguments))return true;if(olCheckMouseCapture)olMouseCapture();if(over){over=(typeof over.id!='string')?o3_frame.document.all['overDiv']:over;cClick();} +olHideDelay=0;o3_text=ol_text;o3_cap=ol_cap;o3_sticky=ol_sticky;o3_background=ol_background;o3_close=ol_close;o3_hpos=ol_hpos;o3_offsetx=ol_offsetx;o3_offsety=ol_offsety;o3_fgcolor=ol_fgcolor;o3_bgcolor=ol_bgcolor;o3_textcolor=ol_textcolor;o3_capcolor=ol_capcolor;o3_closecolor=ol_closecolor;o3_width=ol_width;o3_border=ol_border;o3_cellpad=ol_cellpad;o3_status=ol_status;o3_autostatus=ol_autostatus;o3_height=ol_height;o3_snapx=ol_snapx;o3_snapy=ol_snapy;o3_fixx=ol_fixx;o3_fixy=ol_fixy;o3_relx=ol_relx;o3_rely=ol_rely;o3_fgbackground=ol_fgbackground;o3_bgbackground=ol_bgbackground;o3_padxl=ol_padxl;o3_padxr=ol_padxr;o3_padyt=ol_padyt;o3_padyb=ol_padyb;o3_fullhtml=ol_fullhtml;o3_vpos=ol_vpos;o3_aboveheight=ol_aboveheight;o3_capicon=ol_capicon;o3_textfont=ol_textfont;o3_captionfont=ol_captionfont;o3_closefont=ol_closefont;o3_textsize=ol_textsize;o3_captionsize=ol_captionsize;o3_closesize=ol_closesize;o3_timeout=ol_timeout;o3_function=ol_function;o3_delay=ol_delay;o3_hauto=ol_hauto;o3_vauto=ol_vauto;o3_closeclick=ol_closeclick;o3_wrap=ol_wrap;o3_followmouse=ol_followmouse;o3_mouseoff=ol_mouseoff;o3_closetitle=ol_closetitle;o3_css=ol_css;o3_compatmode=ol_compatmode;o3_fgclass=ol_fgclass;o3_bgclass=ol_bgclass;o3_textfontclass=ol_textfontclass;o3_captionfontclass=ol_captionfontclass;o3_closefontclass=ol_closefontclass; +setRunTimeVariables(); +fnRef=''; +o3_frame=ol_frame; +if(!(over=createDivContainer()))return false; +parseTokens('o3_',overlib.arguments);if(!postParseChecks())return false; +if(o3_delay==0){return runHook("olMain",FREPLACE);}else{o3_delayid=setTimeout("runHook('olMain',FREPLACE)",o3_delay);return false;}} +function nd(time){if(olLoaded&&!isExclusive()){hideDelay(time); +if(o3_removecounter>=1){o3_showingsticky=0 }; +if(o3_showingsticky==0){o3_allowmove=0;if(over!=null&&o3_timerid==0)runHook("hideObject",FREPLACE,over);}else{o3_removecounter++;}} +return true;} +function cClick(){if(olLoaded){runHook("hideObject",FREPLACE,over);o3_showingsticky=0;} +return false;} +function overlib_pagedefaults(){parseTokens('ol_',overlib_pagedefaults.arguments);} +function olMain(){var layerhtml,styleType;runHook("olMain",FBEFORE); +if(o3_background!=""||o3_fullhtml){ +layerhtml=runHook('ol_content_background',FALTERNATE,o3_css,o3_text,o3_background,o3_fullhtml);}else{ +styleType=(pms[o3_css-1-pmStart]=="cssoff"||pms[o3_css-1-pmStart]=="cssclass"); +if(o3_fgbackground!="")o3_fgbackground="background=\""+o3_fgbackground+"\"";if(o3_bgbackground!="")o3_bgbackground=(styleType?"background=\""+o3_bgbackground+"\"":o3_bgbackground); +if(o3_fgcolor!="")o3_fgcolor=(styleType?"bgcolor=\""+o3_fgcolor+"\"":o3_fgcolor);if(o3_bgcolor!="")o3_bgcolor=(styleType?"bgcolor=\""+o3_bgcolor+"\"":o3_bgcolor); +if(o3_height>0)o3_height=(styleType?"height=\""+o3_height+"\"":o3_height);else o3_height=""; +if(o3_cap==""){ +layerhtml=runHook('ol_content_simple',FALTERNATE,o3_css,o3_text);}else{ +if(o3_sticky){ +layerhtml=runHook('ol_content_caption',FALTERNATE,o3_css,o3_text,o3_cap,o3_close);}else{ +layerhtml=runHook('ol_content_caption',FALTERNATE,o3_css,o3_text,o3_cap,"");}}} +if(o3_sticky){if(o3_timerid>0){clearTimeout(o3_timerid);o3_timerid=0;} +o3_showingsticky=1;o3_removecounter=0;} +if(!runHook("createPopup",FREPLACE,layerhtml))return false; +if(o3_autostatus>0){o3_status=o3_text;if(o3_autostatus>1)o3_status=o3_cap;} +o3_allowmove=0; +if(o3_timeout>0){if(o3_timerid>0)clearTimeout(o3_timerid);o3_timerid=setTimeout("cClick()",o3_timeout);} +runHook("disp",FREPLACE,o3_status);runHook("olMain",FAFTER); +return(olOp&&event&&event.type=='mouseover'&&!o3_status)?'':(o3_status!='');} +function ol_content_simple(text){var cpIsMultiple=/,/.test(o3_cellpad);var txt='
':((!olNs4&&cpIsMultiple)?' style="'+setCellPadStr(o3_cellpad)+'">':'>'))+(o3_textfontclass?'':wrapStr(0,o3_textsize,'text'))+text+(o3_textfontclass?'':wrapStr(1,o3_textsize))+'
'; +set_background("");return txt;} +function ol_content_caption(text,title,close){var nameId,txt,cpIsMultiple=/,/.test(o3_cellpad);var closing,closeevent; +closing="";closeevent="onmouseover";if(o3_closeclick==1)closeevent=(o3_closetitle?"title='"+o3_closetitle+"'":"")+" onclick";if(o3_capicon!=""){nameId=' hspace=\"5\"'+' align=\"middle\" alt=\"\"';if(typeof o3_dragimg!='undefined'&&o3_dragimg)nameId=' hspace=\"5\"'+' name=\"'+o3_dragimg+'\" id=\"'+o3_dragimg+'\" align=\"middle\" alt=\"Drag Enabled\" title=\"Drag Enabled\"';o3_capicon='';} +if(close!="") +closing=''+(o3_closefontclass?'':wrapStr(0,o3_closesize,'close'))+close+(o3_closefontclass?'':wrapStr(1,o3_closesize,'close'))+'';txt='
':'>')+(o3_captionfontclass?'':''+wrapStr(0,o3_captionsize,'caption'))+o3_capicon+title+(o3_captionfontclass?'':wrapStr(1,o3_captionsize)+'')+''+closing+'
' :((!olNs4&&cpIsMultiple)?' style="'+setCellPadStr(o3_cellpad)+'">':'>'))+(o3_textfontclass?'':wrapStr(0,o3_textsize,'text'))+text+(o3_textfontclass?'':wrapStr(1,o3_textsize))+'
'; +set_background("");return txt;} +function ol_content_background(text,picture,hasfullhtml){if(hasfullhtml){txt=text;}else{txt='
'+(o3_textfontclass?'':wrapStr(0,o3_textsize,'text'))+text+(o3_textfontclass?'':wrapStr(1,o3_textsize))+'
';} +set_background(picture);return txt;} +function set_background(pic){if(pic==""){if(olNs4){over.background.src=null;}else if(over.style){over.style.backgroundImage="none";} +}else{if(olNs4){over.background.src=pic;}else if(over.style){over.style.width=o3_width+'px';over.style.backgroundImage="url("+pic+")";}}} +var olShowId=-1; +function disp(statustext){runHook("disp",FBEFORE); +if(o3_allowmove==0){runHook("placeLayer",FREPLACE);(olNs6&&olShowId<0)?olShowId=setTimeout("runHook('showObject',FREPLACE,over)",1):runHook("showObject",FREPLACE,over);o3_allowmove=(o3_sticky||o3_followmouse==0)?0:1;} +runHook("disp",FAFTER); +if(statustext!="")self.status=statustext;} +function createPopup(lyrContent){runHook("createPopup",FBEFORE); +if(o3_wrap){var wd,ww,theObj=(olNs4?over:over.style);theObj.top=theObj.left=((olIe4&&!olOp)?0:-10000)+(!olNs4?'px':0);layerWrite(lyrContent);wd=(olNs4?over.clip.width:over.offsetWidth);if(wd>(ww=windowWidth())){lyrContent=lyrContent.replace(/\ /g,' ');o3_width=ww;o3_wrap=0;}} +layerWrite(lyrContent); +if(o3_wrap)o3_width=(olNs4?over.clip.width:over.offsetWidth); +runHook("createPopup",FAFTER,lyrContent); +return true;} +function placeLayer(){var placeX,placeY,widthFix=0; +if(o3_frame.innerWidth)widthFix=18;iwidth=windowWidth(); +winoffset=(olIe4)?eval('o3_frame.'+docRoot+'.scrollLeft'):o3_frame.pageXOffset; +placeX=runHook('horizontalPlacement',FCHAIN,iwidth,winoffset,widthFix); +if(o3_frame.innerHeight){iheight=o3_frame.innerHeight;}else if(eval('o3_frame.'+docRoot)&&eval("typeof o3_frame."+docRoot+".clientHeight=='number'")&&eval('o3_frame.'+docRoot+'.clientHeight')){iheight=eval('o3_frame.'+docRoot+'.clientHeight');} +scrolloffset=(olIe4)?eval('o3_frame.'+docRoot+'.scrollTop'):o3_frame.pageYOffset;placeY=runHook('verticalPlacement',FCHAIN,iheight,scrolloffset); +repositionTo(over,placeX,placeY);} +function olMouseMove(e){var e=(e)?e:event; +if(e.pageX){o3_x=e.pageX;o3_y=e.pageY;}else if(e.clientX){o3_x=eval('e.clientX+o3_frame.'+docRoot+'.scrollLeft');o3_y=eval('e.clientY+o3_frame.'+docRoot+'.scrollTop');} +if(o3_allowmove==1)runHook("placeLayer",FREPLACE); +if(hoveringSwitch&&!olNs4&&runHook("cursorOff",FREPLACE)){(olHideDelay?hideDelay(olHideDelay):cClick());hoveringSwitch=!hoveringSwitch;}} +function no_overlib(){return ver3fix;} +function olMouseCapture(){capExtent=document;var fN,str='',l,k,f,wMv,sS,mseHandler=olMouseMove;var re=/function[ ]*(\w*)\(/; +wMv=(!olIe4&&window.onmousemove);if(document.onmousemove||wMv){if(wMv)capExtent=window;f=capExtent.onmousemove.toString();fN=f.match(re);if(fN==null){str=f+'(e);';}else if(fN[1]=='anonymous'||fN[1]=='olMouseMove'||(wMv&&fN[1]=='onmousemove')){if(!olOp&&wMv){l=f.indexOf('{')+1;k=f.lastIndexOf('}');sS=f.substring(l,k);if((l=sS.indexOf('('))!=-1){sS=sS.substring(0,l).replace(/^\s+/,'').replace(/\s+$/,'');if(eval("typeof "+sS+"=='undefined'"))window.onmousemove=null;else str=sS+'(e);';}} +if(!str){olCheckMouseCapture=false;return;} +}else{if(fN[1])str=fN[1]+'(e);';else{l=f.indexOf('{')+1;k=f.lastIndexOf('}');str=f.substring(l,k)+'\n';}} +str+='olMouseMove(e);';mseHandler=new Function('e',str);if (typeof yourvar != 'l') {return;}} +capExtent.onmousemove=mseHandler;if(olNs4)capExtent.captureEvents(Event.MOUSEMOVE);} +function parseTokens(pf,ar){ +var v,i,mode=-1,par=(pf!='ol_'),fnMark=(par&&!ar.length?1:0); +for(i=0;ipmStart&&ar[i]=pmCount||ar[i]==DONOTHING){continue;} +if(ar[i]==INARRAY){fnMark=0;eval(pf+'text=ol_texts['+ar[++i]+'].toString()');continue;} +if(ar[i]==CAPARRAY){eval(pf+'cap=ol_caps['+ar[++i]+'].toString()');continue;} +if(ar[i]==STICKY){if(pf!='ol_')eval(pf+'sticky=1');continue;} +if(ar[i]==BACKGROUND){eval(pf+'background="'+ar[++i]+'"');continue;} +if(ar[i]==NOCLOSE){if(pf!='ol_')opt_NOCLOSE();continue;} +if(ar[i]==CAPTION){eval(pf+"cap='"+escSglQuote(ar[++i])+"'");continue;} +if(ar[i]==CENTER||ar[i]==LEFT||ar[i]==RIGHT){eval(pf+'hpos='+ar[i]);if(pf!='ol_')olHautoFlag=1;continue;} +if(ar[i]==OFFSETX){eval(pf+'offsetx='+ar[++i]);continue;} +if(ar[i]==OFFSETY){eval(pf+'offsety='+ar[++i]);continue;} +if(ar[i]==FGCOLOR){eval(pf+'fgcolor="'+ar[++i]+'"');continue;} +if(ar[i]==BGCOLOR){eval(pf+'bgcolor="'+ar[++i]+'"');continue;} +if(ar[i]==TEXTCOLOR){eval(pf+'textcolor="'+ar[++i]+'"');continue;} +if(ar[i]==CAPCOLOR){eval(pf+'capcolor="'+ar[++i]+'"');continue;} +if(ar[i]==CLOSECOLOR){eval(pf+'closecolor="'+ar[++i]+'"');continue;} +if(ar[i]==WIDTH){eval(pf+'width='+ar[++i]);continue;} +if(ar[i]==BORDER){eval(pf+'border='+ar[++i]);continue;} +if(ar[i]==CELLPAD){i=opt_MULTIPLEARGS(++i,ar,(pf+'cellpad'));continue;} +if(ar[i]==STATUS){eval(pf+"status='"+escSglQuote(ar[++i])+"'");continue;} +if(ar[i]==AUTOSTATUS){eval(pf+'autostatus=('+pf+'autostatus==1)?0:1');continue;} +if(ar[i]==AUTOSTATUSCAP){eval(pf+'autostatus=('+pf+'autostatus==2)?0:2');continue;} +if(ar[i]==HEIGHT){eval(pf+'height='+pf+'aboveheight='+ar[++i]);continue;} +if(ar[i]==CLOSETEXT){eval(pf+"close='"+escSglQuote(ar[++i])+"'");continue;} +if(ar[i]==SNAPX){eval(pf+'snapx='+ar[++i]);continue;} +if(ar[i]==SNAPY){eval(pf+'snapy='+ar[++i]);continue;} +if(ar[i]==FIXX){eval(pf+'fixx='+ar[++i]);continue;} +if(ar[i]==FIXY){eval(pf+'fixy='+ar[++i]);continue;} +if(ar[i]==RELX){eval(pf+'relx='+ar[++i]);continue;} +if(ar[i]==RELY){eval(pf+'rely='+ar[++i]);continue;} +if(ar[i]==FGBACKGROUND){eval(pf+'fgbackground="'+ar[++i]+'"');continue;} +if(ar[i]==BGBACKGROUND){eval(pf+'bgbackground="'+ar[++i]+'"');continue;} +if(ar[i]==PADX){eval(pf+'padxl='+ar[++i]);eval(pf+'padxr='+ar[++i]);continue;} +if(ar[i]==PADY){eval(pf+'padyt='+ar[++i]);eval(pf+'padyb='+ar[++i]);continue;} +if(ar[i]==FULLHTML){if(pf!='ol_')eval(pf+'fullhtml=1');continue;} +if(ar[i]==BELOW||ar[i]==ABOVE){eval(pf+'vpos='+ar[i]);if(pf!='ol_')olVautoFlag=1;continue;} +if(ar[i]==CAPICON){eval(pf+'capicon="'+ar[++i]+'"');continue;} +if(ar[i]==TEXTFONT){eval(pf+"textfont='"+escSglQuote(ar[++i])+"'");continue;} +if(ar[i]==CAPTIONFONT){eval(pf+"captionfont='"+escSglQuote(ar[++i])+"'");continue;} +if(ar[i]==CLOSEFONT){eval(pf+"closefont='"+escSglQuote(ar[++i])+"'");continue;} +if(ar[i]==TEXTSIZE){eval(pf+'textsize="'+ar[++i]+'"');continue;} +if(ar[i]==CAPTIONSIZE){eval(pf+'captionsize="'+ar[++i]+'"');continue;} +if(ar[i]==CLOSESIZE){eval(pf+'closesize="'+ar[++i]+'"');continue;} +if(ar[i]==TIMEOUT){eval(pf+'timeout='+ar[++i]);continue;} +if(ar[i]==FUNCTION){if(pf=='ol_'){if(typeof ar[i+1]!='number'){v=ar[++i];ol_function=(typeof v=='function'?v:null);}}else{fnMark=0;v=null;if(typeof ar[i+1]!='number')v=ar[++i]; opt_FUNCTION(v);} continue;} +if(ar[i]==DELAY){eval(pf+'delay='+ar[++i]);continue;} +if(ar[i]==HAUTO){eval(pf+'hauto=('+pf+'hauto==0)?1:0');continue;} +if(ar[i]==VAUTO){eval(pf+'vauto=('+pf+'vauto==0)?1:0');continue;} +if(ar[i]==CLOSECLICK){eval(pf+'closeclick=('+pf+'closeclick==0)?1:0');continue;} +if(ar[i]==WRAP){eval(pf+'wrap=('+pf+'wrap==0)?1:0');continue;} +if(ar[i]==FOLLOWMOUSE){eval(pf+'followmouse=('+pf+'followmouse==1)?0:1');continue;} +if(ar[i]==MOUSEOFF){eval(pf+'mouseoff=('+pf+'mouseoff==0)?1:0');v=ar[i+1];if(pf!='ol_'&&eval(pf+'mouseoff')&&typeof v=='number'&&(vpmUpper))olHideDelay=ar[++i];continue;} +if(ar[i]==CLOSETITLE){eval(pf+"closetitle='"+escSglQuote(ar[++i])+"'");continue;} +if(ar[i]==CSSOFF||ar[i]==CSSCLASS){eval(pf+'css='+ar[i]);continue;} +if(ar[i]==COMPATMODE){eval(pf+'compatmode=('+pf+'compatmode==0)?1:0');continue;} +if(ar[i]==FGCLASS){eval(pf+'fgclass="'+ar[++i]+'"');continue;} +if(ar[i]==BGCLASS){eval(pf+'bgclass="'+ar[++i]+'"');continue;} +if(ar[i]==TEXTFONTCLASS){eval(pf+'textfontclass="'+ar[++i]+'"');continue;} +if(ar[i]==CAPTIONFONTCLASS){eval(pf+'captionfontclass="'+ar[++i]+'"');continue;} +if(ar[i]==CLOSEFONTCLASS){eval(pf+'closefontclass="'+ar[++i]+'"');continue;} +i=parseCmdLine(pf,i,ar);}} +if(fnMark&&o3_function)o3_text=o3_function(); +if((pf=='o3_')&&o3_wrap){o3_width=0; +var tReg=/<.*\n*>/ig;if(!tReg.test(o3_text))o3_text=o3_text.replace(/[ ]+/g,' ');if(!tReg.test(o3_cap))o3_cap=o3_cap.replace(/[ ]+/g,' ');} +if((pf=='o3_')&&o3_sticky){if(!o3_close&&(o3_frame!=ol_frame))o3_close=ol_close;if(o3_mouseoff&&(o3_frame==ol_frame))opt_NOCLOSE(' ');}} +function layerWrite(txt){txt+="\n";if(olNs4){var lyr=o3_frame.document.layers['overDiv'].document +lyr.write(txt) +lyr.close() +}else if(typeof over.innerHTML!='undefined'){if(olIe5&&isMac)over.innerHTML='';over.innerHTML=txt;}else{range=o3_frame.document.createRange();range.setStartAfter(over);domfrag=range.createContextualFragment(txt); +while(over.hasChildNodes()){over.removeChild(over.lastChild);} +over.appendChild(domfrag);}} +function showObject(obj){runHook("showObject",FBEFORE); +var theObj=(olNs4?obj:obj.style);theObj.visibility='visible'; +runHook("showObject",FAFTER);} +function hideObject(obj){runHook("hideObject",FBEFORE); +var theObj=(olNs4?obj:obj.style);if(olNs6&&olShowId>0){clearTimeout(olShowId);olShowId=0;} +theObj.visibility='hidden';theObj.top=theObj.left=((olIe4&&!olOp)?0:-10000)+(!olNs4?'px':0); +if(o3_timerid>0)clearTimeout(o3_timerid);if(o3_delayid>0)clearTimeout(o3_delayid); +o3_timerid=0;o3_delayid=0;self.status=""; +if(obj.onmouseout||obj.onmouseover){if(olNs4)obj.releaseEvents(Event.MOUSEOUT||Event.MOUSEOVER);obj.onmouseout=obj.onmouseover=null;} +runHook("hideObject",FAFTER);} +function repositionTo(obj,xL,yL){var theObj=(olNs4?obj:obj.style);theObj.left=xL+(!olNs4?'px':0);theObj.top=yL+(!olNs4?'px':0);} +function cursorOff(){var left=parseInt(over.style.left);var top=parseInt(over.style.top);var right=left+(over.offsetWidth>=parseInt(o3_width)?over.offsetWidth:parseInt(o3_width));var bottom=top+(over.offsetHeight>=o3_aboveheight?over.offsetHeight:o3_aboveheight); +if(o3_xright||o3_ybottom)return true; +return false;} +function opt_FUNCTION(callme){o3_text=(callme?(typeof callme=='string'?(/.+\(.*\)/.test(callme)?eval(callme):callme):callme()):(o3_function?o3_function():'No Function')); +return 0;} +function opt_NOCLOSE(unused){if(!unused)o3_close=""; +if(olNs4){over.captureEvents(Event.MOUSEOUT||Event.MOUSEOVER);over.onmouseover=function(){if(o3_timerid>0){clearTimeout(o3_timerid);o3_timerid=0;} } +over.onmouseout=function(e){if(olHideDelay)hideDelay(olHideDelay);else cClick(e);} +}else{over.onmouseover=function(){hoveringSwitch=true;if(o3_timerid>0){clearTimeout(o3_timerid);o3_timerid=0;} }} +return 0;} +function opt_MULTIPLEARGS(i,args,parameter){var k=i,re,pV,str=''; +for(k=i;kpmStart)break;str+=args[k]+',';} +if(str)str=str.substring(0,--str.length); +k--;pV=(olNs4&&/cellpad/i.test(parameter))?str.split(',')[0]:str;eval(parameter+'="'+pV+'"'); +return k;} +function nbspCleanup(){if(o3_wrap){o3_text=o3_text.replace(/\ /g,' ');o3_cap=o3_cap.replace(/\ /g,' ');}} +function escSglQuote(str){return str.toString().replace(/'/g,"\\'");} +function OLonLoad_handler(e){var re=/\w+\(.*\)[;\s]+/g,olre=/overlib\(|nd\(|cClick\(/,fn,l,i; +if(!olLoaded)olLoaded=1; +if(window.removeEventListener&&e.eventPhase==3)window.removeEventListener("load",OLonLoad_handler,false);else if(window.detachEvent){window.detachEvent("onload",OLonLoad_handler);var fN=document.body.getAttribute('onload');if(fN){fN=fN.toString().match(re);if(fN&&fN.length){for(i=0;i':'
'):'';else{fontStr='o3_'+whichString+'font';fontColor='o3_'+((whichString=='caption')? 'cap':whichString)+'color';return(hasDims&&!olNs4)?(isClose?'':'
'):'';}} +function quoteMultiNameFonts(theFont){var v,pM=theFont.split(',');for(var i=0;i0)clearTimeout(o3_timerid); +o3_timerid=setTimeout("cClick()",(o3_timeout=time));}} +function horizontalPlacement(browserWidth,horizontalScrollAmount,widthFix){var placeX,iwidth=browserWidth,winoffset=horizontalScrollAmount;var parsedWidth=parseInt(o3_width); +if(o3_fixx>-1||o3_relx!=null){ +placeX=(o3_relx!=null?( o3_relx<0?winoffset+o3_relx+iwidth-parsedWidth-widthFix:winoffset+o3_relx):o3_fixx);}else{ +if(o3_hauto==1){if((o3_x-winoffset)>(iwidth/2)){o3_hpos=LEFT;}else{o3_hpos=RIGHT;}} +if(o3_hpos==CENTER){placeX=o3_x+o3_offsetx-(parsedWidth/2); +if(placeX(winoffset+iwidth-widthFix)){placeX=iwidth+winoffset-parsedWidth-widthFix;if(placeX<0)placeX=0;}} +if(o3_hpos==LEFT){placeX=o3_x-o3_offsetx-parsedWidth;if(placeX1){var snapping=placeX % o3_snapx; +if(o3_hpos==LEFT){placeX=placeX-(o3_snapx+snapping);}else{ +placeX=placeX+(o3_snapx-snapping);} +if(placeX-1||o3_rely!=null){ +placeY=(o3_rely!=null?(o3_rely<0?scrolloffset+o3_rely+iheight-parsedHeight:scrolloffset+o3_rely):o3_fixy);}else{ +if(o3_vauto==1){if((o3_y-scrolloffset)>(iheight/2)&&o3_vpos==BELOW&&(o3_y+parsedHeight+o3_offsety-(scrolloffset+iheight)>0)){o3_vpos=ABOVE;}else if(o3_vpos==ABOVE&&(o3_y-(parsedHeight+o3_offsety)-scrolloffset<0)){o3_vpos=BELOW;}} +if(o3_vpos==ABOVE){if(o3_aboveheight==0)o3_aboveheight=parsedHeight; +placeY=o3_y-(o3_aboveheight+o3_offsety);if(placeY1){var snapping=placeY % o3_snapy; +if(o3_aboveheight>0&&o3_vpos==ABOVE){placeY=placeY-(o3_snapy+snapping);}else{placeY=placeY+(o3_snapy-snapping);} +if(placeY
');divContainer=layerReference(id);}else{divContainer=frm.document.createElement("DIV");divContainer.id=id;body.appendChild(divContainer);} +objRef=divContainer.style;} +objRef.position='absolute';objRef.visibility='hidden';objRef.zIndex=zValue;if(olIe4&&!olOp)objRef.left=objRef.top='0px';else objRef.left=objRef.top=-10000+(!olNs4?'px':0);} +return divContainer;} +function layerReference(id){return(olNs4?o3_frame.document.layers[id]:(document.all?o3_frame.document.all[id]:o3_frame.document.getElementById(id)));} +function isFunction(fnRef){var rtn=true; +if(typeof fnRef=='object'){for(var i=0;ijS){for(var k=jS;k-1){i=j;break;}}} +return i;} +function postParseChecks(pf,args){if(typeof postParse!='undefined'&&postParse.length){for(var k=0;k-1)hookPt.alt[pms[CSSOFF-1-pmStart]]=fnRef; +}else if(hookType==FBEFORE||hookType==FAFTER){var hookPt=(hookType==1?hookPt.before:hookPt.after); +if(typeof fnRef=='object'){hookPt=hookPt.concat(fnRef);}else{hookPt[hookPt.length++]=fnRef;} +if(optPm)hookPt=reOrder(hookPt,fnRef,optPm); +}else if(hookType==FALTERNATE){if(last=='number')hookPt.alt[pms[optPm-1-pmStart]]=fnRef;}else if(hookType==FCHAIN){hookPt=hookPt.chain;if(typeof fnRef=='object')hookPt=hookPt.concat(fnRef);else hookPt[hookPt.length++]=fnRef;} +return;}} +function registerRunTimeFunction(fn){if(isFunction(fn)){if(typeof fn=='object'){runTime=runTime.concat(fn);}else{runTime[runTime.length++]=fn;}}} +function registerCmdLineFunction(fn){if(isFunction(fn)){if(typeof fn=='object'){cmdLine=cmdLine.concat(fn);}else{cmdLine[cmdLine.length++]=fn;}}} +function registerPostParseFunction(fn){if(isFunction(fn)){if(typeof fn=='object'){postParse=postParse.concat(fn);}else{postParse[postParse.length++]=fn;}}} +function runHook(fnHookTo,hookType){var l=hookPts[fnHookTo],k,rtnVal=null,optPm,arS,ar=runHook.arguments; +if(hookType==FREPLACE){arS=argToString(ar,2); +if(typeof l=='undefined'||!(l=l.ovload))rtnVal=eval(fnHookTo+'('+arS+')');else rtnVal=eval('l('+arS+')'); +}else if(hookType==FBEFORE||hookType==FAFTER){if(typeof l!='undefined'){l=(hookType==1?l.before:l.after); +if(l.length){arS=argToString(ar,2);for(var k=0;k0;k--)if((rtnVal=eval('l[k-1]('+arS+')'))!=void(0))break;} +return rtnVal;} +function FunctionReference(){this.ovload=null;this.before=new Array();this.after=new Array();this.alt=new Array();this.chain=new Array();} +function Info(version,prerelease){this.version=version;this.prerelease=prerelease; +this.simpleversion=Math.round(this.version*100);this.major=parseInt(this.simpleversion/100);this.minor=parseInt(this.simpleversion/10)-this.major * 10;this.revision=parseInt(this.simpleversion)-this.major * 100-this.minor * 10;this.meets=meets;} +function meets(reqdVersion){return(!reqdVersion)?false:this.simpleversion>=Math.round(100*parseFloat(reqdVersion));} +registerHook("ol_content_simple",ol_content_simple,FALTERNATE,CSSOFF);registerHook("ol_content_caption",ol_content_caption,FALTERNATE,CSSOFF);registerHook("ol_content_background",ol_content_background,FALTERNATE,CSSOFF);registerHook("ol_content_simple",ol_content_simple,FALTERNATE,CSSCLASS);registerHook("ol_content_caption",ol_content_caption,FALTERNATE,CSSCLASS);registerHook("ol_content_background",ol_content_background,FALTERNATE,CSSCLASS);registerPostParseFunction(checkPositionFlags);registerHook("hideObject",nbspCleanup,FAFTER);registerHook("horizontalPlacement",horizontalPlacement,FCHAIN);registerHook("verticalPlacement",verticalPlacement,FCHAIN);if(olNs4||(olIe5&&isMac)||olKq)olLoaded=1;registerNoParameterCommands('sticky,autostatus,autostatuscap,fullhtml,hauto,vauto,closeclick,wrap,followmouse,mouseoff,compatmode'); +var olCheckMouseCapture=true;if((olNs4||olNs6||olIe4)){olMouseCapture();}else{overlib=no_overlib;nd=no_overlib;ver3fix=true;} diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/cs.js b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/cs.js new file mode 100644 index 00000000..1ee5d5fc --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/cs.js @@ -0,0 +1,14 @@ +// .po file like language pack +plupload.addI18n({ + 'Select files' : 'Vyberte soubory', + 'Add files to the upload queue and click the start button.' : 'PÅ™idejte soubory do fronty a pak spusÅ¥te nahrávání.', + 'Filename' : 'Název souboru', + 'Status' : 'Status', + 'Size' : 'Velikost', + 'Add Files' : 'PÅ™idat soubory', + 'Stop current upload' : 'Zastavit nahrávání', + 'Start uploading queue' : 'Spustit frontu nahrávání', + 'Drag files here.' : 'Sem pÅ™etáhnÄ›te soubory.', + 'Start Upload': 'Spustit nahrávání', + 'Uploaded %d/%d files': 'Nahráno %d/%d souborů' +}); \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/da.js b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/da.js new file mode 100644 index 00000000..fc958965 --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/da.js @@ -0,0 +1,12 @@ +// .po file like language pack +plupload.addI18n({ + 'Select files' : 'Vælg filer', + 'Add files to the upload queue and click the start button.' : 'Tilføj filer til køen, og tryk pÃ¥ start.', + 'Filename' : 'Filnavn', + 'Status' : 'Status', + 'Size' : 'Størrelse', + 'Add files' : 'Tilføj filer', + 'Stop current upload' : 'Stop upload', + 'Start uploading queue' : 'Start upload', + 'Drag files here.' : 'Træk filer her.' +}); \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/de.js b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/de.js new file mode 100644 index 00000000..4c4de07a --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/de.js @@ -0,0 +1,24 @@ +// German +plupload.addI18n({ + 'Select files' : 'Dateien hochladen', + 'Add files to the upload queue and click the start button.' : 'Dateien hinzufügen und auf \'Hochladen\' klicken.', + 'Filename' : 'Dateiname', + 'Status' : 'Status', + 'Size' : 'Größe', + 'Add files' : 'Dateien', // hinzufügen', + 'Stop current upload' : 'Aktuelles Hochladen stoppen', + 'Start uploading queue' : 'Hochladen starten', + 'Uploaded %d/%d files': '%d/%d Dateien sind hochgeladen', + 'N/A' : 'Nicht verfügbar', + 'Drag files here.' : 'Ziehen Sie die Dateien hier hin', + 'File extension error.': 'Fehler bei Dateiendung', + 'File size error.': 'Fehler bei Dateigröße', + 'Init error.': 'Initialisierungsfehler', + 'HTTP Error.': 'HTTP-Fehler', + 'Security error.': 'Sicherheitsfehler', + 'Generic error.': 'Typischer Fehler', + 'IO error.': 'Ein/Ausgabe-Fehler', + 'Stop Upload': 'Hochladen stoppen', + 'Start upload': 'Hochladen', + '%d files queued': '%d Dateien in der Warteschlange' +}); \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/el.js b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/el.js new file mode 100644 index 00000000..aafbaf19 --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/el.js @@ -0,0 +1,14 @@ +// Greek +plupload.addI18n({ + 'Select files' : 'Επιλέξτε ΑÏχεία', + 'Add files to the upload queue and click the start button.' : 'ΠÏοσθήκη αÏχείων στην ουÏά μεταφόÏτωσης', + 'Filename' : 'Όνομα αÏχείου', + 'Status' : 'Κατάσταση', + 'Size' : 'Μέγεθος', + 'Add Files' : 'ΠÏοσθέστε αÏχεία', + 'Stop current upload' : 'Διακοπή Ï„Ïέχουσας μεταφόÏτωσης', + 'Start uploading queue' : 'Εκκίνηση μεταφόÏτωσης ουÏάς αÏχείων', + 'Drag files here.' : 'ΣÏÏετε αÏχεία εδώ', + 'Start Upload': 'Εκκίνηση μεταφόÏτωσης', + 'Uploaded %d/%d files': 'Ανέβηκαν %d/%d αÏχεία' +}); \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/es.js b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/es.js new file mode 100644 index 00000000..2379421f --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/es.js @@ -0,0 +1,25 @@ +// Spanish +plupload.addI18n({ + 'Select files' : 'Elija archivos:', + 'Add files to the upload queue and click the start button.' : 'Agregue archivos a la cola de subida y haga click en el boton de iniciar.', + 'Filename' : 'Nombre de archivo', + 'Status' : 'Estado', + 'Size' : 'Tamaño', + 'Add files' : 'Agregue archivos', + 'Stop current upload' : 'Detener subida actual', + 'Start uploading queue' : 'Iniciar subida de cola', + 'Uploaded %d/%d files': 'Subidos %d/%d archivos', + 'N/A' : 'No disponible', + 'Drag files here.' : 'Arrastre archivos aquí', + 'File extension error.': 'Error de extensión de archivo.', + 'File size error.': 'Error de tamaño de archivo.', + 'Init error.': 'Error de inicialización.', + 'HTTP Error.': 'Error de HTTP.', + 'Security error.': 'Error de seguridad.', + 'Generic error.': 'Error genérico.', + 'IO error.': 'Error de entrada/salida.', + 'Stop Upload': 'Detener Subida.', + 'Add Files': 'Agregar Archivos', + 'Start Upload': 'Comenzar Subida.', + '%d files queued': '%d archivos en cola.' +}); \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/et.js b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/et.js new file mode 100644 index 00000000..a4a5e3aa --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/et.js @@ -0,0 +1,33 @@ +// Estonian translation, et.js +plupload.addI18n({ + 'Select files' : 'Vali faile', + 'Add files to the upload queue and click the start button.' : 'Lisa failid üleslaadimise järjekorda ja klõpsa alustamise nupule.', + 'Filename' : 'Failinimi', + 'Status' : 'Olek', + 'Size' : 'Suurus', + 'Add files' : 'Lisa faile', + 'Stop current upload' : 'Praeguse üleslaadimise peatamine', + 'Start uploading queue' : 'Järjekorras ootavate failide üleslaadimise alustamine', + 'Drag files here.' : 'Lohista failid siia.', + 'Start upload' : 'Alusta üleslaadimist', + 'Uploaded %d/%d files': 'Üles laaditud %d/%d', + 'Stop upload': 'Peata üleslaadimine', + 'Start upload': 'Alusta üleslaadimist', + '%d files queued': 'Järjekorras on %d faili', + 'File: %s': 'Fail: %s', + 'Close': 'Sulge', + 'Using runtime: ': 'Kasutatakse varianti: ', + 'File: %f, size: %s, max file size: %m': 'Fail: %f, suurus: %s, suurim failisuurus: %m', + 'Upload element accepts only %d file(s) at a time. Extra files were stripped.': 'Üleslaadimise element saab vastu võtta ainult %d faili ühe korraga. Ülejäänud failid jäetakse laadimata.', + 'Upload URL might be wrong or doesn\'t exist': 'Üleslaadimise URL võib olla vale või seda pole', + 'Error: File too large: ': 'Viga: fail on liiga suur: ', + 'Error: Invalid file extension: ': 'Viga: sobimatu faililaiend: ', + 'File extension error.': 'Faililaiendi viga.', + 'File size error.': 'Failisuuruse viga.', + 'File count error.': 'Failide arvu viga.', + 'Init error.': 'Lähtestamise viga.', + 'HTTP Error.': 'HTTP ühenduse viga.', + 'Security error.': 'Turvaviga.', + 'Generic error.': 'Üldine viga.', + 'IO error.': 'S/V (I/O) viga.' +}); \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/fa.js b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/fa.js new file mode 100644 index 00000000..af36e228 --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/fa.js @@ -0,0 +1,37 @@ +// Persian +plupload.addI18n({ + 'Select files' : 'انتخاب ÙØ§ÛŒÙ„', + 'Add files to the upload queue and click the start button.' : 'اضاÙÙ‡ کنید ÙØ§ÛŒÙ„ ها را به ص٠آپلود Ùˆ دکمه شروع را کلیک کنید.', + 'Filename' : 'نام ÙØ§ÛŒÙ„', + 'Status' : 'وضعیت', + 'Size' : 'سایز', + 'Add Files' : 'Ø§ÙØ²ÙˆØ¯Ù† ÙØ§ÛŒÙ„', + 'Stop Upload' : 'توق٠انتقال', + 'Start Upload' : 'شروع انتقال', + 'Add files' : 'Ø§ÙØ²ÙˆØ¯Ù† ÙØ§ÛŒÙ„', + 'Add files.' : 'Ø§ÙØ²ÙˆØ¯Ù† ÙØ§ÛŒÙ„', + 'Stop current upload' : 'توق٠انتقال جاری', + 'Start uploading queue' : 'شروع ص٠انتقال', + 'Stop upload' : 'توق٠انتقال', + 'Start upload' : 'شروع انتقال', + 'Uploaded %d/%d files': 'منتقل شد %d/%d از ÙØ§ÛŒÙ„ها', + 'N/A' : 'N/A', + 'Drag files here.' : 'بکشید ÙØ§ÛŒÙ„ ها رو به اینجا', + 'File extension error.': 'خطا پیشوند ÙØ§ÛŒÙ„', + 'File size error.': 'خطای سایز ÙØ§ÛŒÙ„', + 'File count error.': 'خطای تعداد ÙØ§ÛŒÙ„', + 'Init error.': 'خطا در استارت اسکریپت', + 'HTTP Error.': 'HTTP خطای', + 'Security error.': 'خطای امنیتی', + 'Generic error.': 'خطای عمومی', + 'IO error.': 'IO خطای', + 'File: %s': ' ÙØ§ÛŒÙ„ ها : %s', + 'Close': 'بستن', + '%d files queued': '%d ÙØ§ÛŒÙ„ در صÙ', + 'Using runtime: ': 'Ø§Ø³ØªÙØ§Ø¯Ù‡ میکنید از : ', + 'File: %f, size: %s, max file size: %m': ÙØ§ÛŒÙ„: %f, سایز: %s, بزرگترین سایز ÙØ§ÛŒÙ„: %m', + 'Upload element accepts only %d file(s) at a time. Extra files were stripped.': 'عنصر بارگذار Ùقط %d ÙØ§ÛŒÙ„ رو در یک زمان Ù…ÛŒ پذیرد. سایر ÙØ§ÛŒÙ„ ها مجرد از این موضوع هستند.', + 'Upload URL might be wrong or doesn\'t exist': 'آدرس آپلود اشتباه Ù…ÛŒ باشد یا وجود ندارد', + 'Error: File too large: ': 'خطا: ÙØ§ÛŒÙ„ حجیم است :: ', + 'Error: Invalid file extension: ': 'خطا پسوند ÙØ§ÛŒÙ„ معتبر نمی باشد : ' +}); diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/fi.js b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/fi.js new file mode 100644 index 00000000..12a639ef --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/fi.js @@ -0,0 +1,33 @@ +// .fi file like language pack +plupload.addI18n({ + 'Select files' : 'Valitse tiedostoja', + 'Add files to the upload queue and click the start button.' : 'Lisää tiedostoja latausjonoon ja klikkaa aloita-nappia.', + 'Filename' : 'Tiedostonimi', + 'Status' : 'Tila', + 'Size' : 'Koko', + 'Add files' : 'Lisää tiedostoja', + 'Stop current upload' : 'Pysäytä nykyinen lataus', + 'Start uploading queue' : 'Aloita jonon lataus', + 'Drag files here.' : 'Raahaa tiedostot tänne.', + 'Start upload' : 'Aloita lataus', + 'Uploaded %d/%d files': 'Ladattu %d/%d tiedostoa', + 'Stop upload': 'Pysäytä lataus', + 'Start upload': 'Aloita lataus', + '%d files queued': '%d tiedostoa jonossa', + 'File: %s': 'Tiedosto: %s', + 'Close': 'Sulje', + 'Using runtime: ': 'Käytetään ajonaikaista: ', + 'File: %f, size: %s, max file size: %m': 'Tiedosto: %f, koko: %s, maksimi tiedostokoko: %m', + 'Upload element accepts only %d file(s) at a time. Extra files were stripped.': 'Latauselementti sallii ladata vain %d tiedosto(a) kerrallaan. Ylimääräiset tiedostot ohitettiin.', + 'Upload URL might be wrong or doesn\'t exist': 'Lataus URL saattaa olla väärin tai ei ole olemassa', + 'Error: File too large: ': 'Virhe: Tiedosto liian suuri: ', + 'Error: Invalid file extension: ': 'Virhe: Kelpaamaton tiedostopääte: ', + 'File extension error.': 'Tiedostopäätevirhe.', + 'File size error.': 'Tiedostokokovirhe.', + 'File count error.': 'Tiedostolaskentavirhe.', + 'Init error.': 'Init virhe.', + 'HTTP Error.': 'HTTP virhe.', + 'Security error.': 'Tietoturvavirhe.', + 'Generic error.': 'Yleinen virhe.', + 'IO error.': 'I/O virhe.' +}); \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/fr-ca.js b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/fr-ca.js new file mode 100644 index 00000000..61aba239 --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/fr-ca.js @@ -0,0 +1,35 @@ +// French-Canadian +plupload.addI18n({ + 'Select files' : 'Sélectionnez les fichiers', + 'Add files to the upload queue and click the start button.' : 'Ajoutez des fichiers à la file d\'attente et appuyez sur le bouton démarrer.', + 'Filename' : 'Nom du fichier', + 'Status' : 'Statut', + 'Size' : 'Taille', + 'Add files' : 'Ajouter Fichiers', + 'Stop current upload' : 'Arrêter le téléversement actuel', + 'Start uploading queue' : 'Démarrer le téléversement', + 'Uploaded %d/%d files': '%d/%d fichiers envoyés', + 'N/A' : 'Non applicable', + 'Drag files here.' : 'Glisser-déposer les fichiers ici', + 'File extension error.': 'Erreur d\'extension de fichier', + 'File size error.': 'Erreur de taille de fichier', + 'Init error.': 'Erreur d\'initialisation', + 'HTTP Error.': 'Erreur HTTP', + 'Security error.': 'Erreur de sécurité', + 'Generic error.': 'Erreur commune', + 'IO error.': 'Erreur E/S', + 'Stop Upload': 'Arrêter le téléversement', + 'Add Files': 'Ajouter des fichiers', + 'Start upload': 'Démarrer le téléversement', + '%d files queued': '%d fichiers en attente', + 'File: %s':'Fichier: %s', + 'Close':'Fermer', + 'Using runtime:':'Moteur logiciel:', + 'File: %f, size: %s, max file size: %m':'Fichier: %f, poids: %s, poids maximal: %m', + 'Upload element accepts only %d file(s) at a time. Extra files were stripped.':'La file accepte %d fichier(s) à la fois. Les fichiers en trop sont ignorés', + 'Upload URL might be wrong or doesn\'t exist':'L\'URL de téléversement est erroné ou inexistant', + 'Error: File to large: ':'Fichier trop volumineux: ', + 'Error: Invalid file extension: ':'Extension de fichier invalide: ', + 'File size error.':'Erreur de taile de fichier', + 'File count error.':'Erreur de décompte des fichiers' +}); \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/fr.js b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/fr.js new file mode 100644 index 00000000..53dbe289 --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/fr.js @@ -0,0 +1,25 @@ +// French +plupload.addI18n({ + 'Select files' : 'Sélectionnez les fichiers', + 'Add files to the upload queue and click the start button.' : 'Ajoutez des fichiers à la file et appuyez sur le bouton démarrer.', + 'Filename' : 'Nom de fichier', + 'Status' : 'Status', + 'Size' : 'Taille', + 'Add files' : 'Ajouter Fichiers', + 'Stop current upload' : 'Arrêter l\'envoi en cours', + 'Start uploading queue' : 'Démarrer l\'envoi', + 'Uploaded %d/%d files': '%d/%d fichiers envoyés', + 'N/A' : 'Non applicable', + 'Drag files here.' : 'Déposer les fichiers ici.', + 'File extension error.': 'Erreur extension fichier', + 'File size error.': 'Erreur taille fichier.', + 'Init error.': 'Erreur d\'initialisation.', + 'HTTP Error.': 'Erreur HTTP.', + 'Security error.': 'Erreur de sécurité.', + 'Generic error.': 'Erreur générique.', + 'IO error.': 'Erreur E/S.', + 'Stop Upload': 'Arrêter les envois.', + 'Add Files': 'Ajouter des fichiers', + 'Start Upload': 'Démarrer les envois.', + '%d files queued': '%d fichiers en attente.' +}); \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/hr.js b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/hr.js new file mode 100644 index 00000000..084be51c --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/hr.js @@ -0,0 +1,25 @@ +// Croatian +plupload.addI18n({ + 'Select files': 'Izaberite datoteke:', + 'Add files to the upload queue and click the start button.': 'Dodajte datoteke u listu i kliknite Upload.', + 'Filename': 'Ime datoteke', + 'Status': 'Status', + 'Size': 'VeliÄina', + 'Add files': 'Dodajte datoteke', + 'Stop current upload': 'Zaustavi trenutan upload', + 'Start uploading queue': 'Pokreni Upload', + 'Uploaded %d/%d files': 'Uploadano %d/%d datoteka', + 'N/A': 'N/A', + 'Drag files here.': 'Dovucite datoteke ovdje', + 'File extension error.': 'GreÅ¡ka ekstenzije datoteke.', + 'File size error.': 'GreÅ¡ka veliÄine datoteke.', + 'Init error.': 'GreÅ¡ka inicijalizacije.', + 'HTTP Error.': 'HTTP greÅ¡ka.', + 'Security error.': 'Sigurnosna greÅ¡ka.', + 'Generic error.': 'GeneriÄka greÅ¡ka.', + 'IO error.': 'I/O greÅ¡ka.', + 'Stop Upload': 'Zaustavi upload.', + 'Add Files': 'Dodaj datoteke', + 'Start Upload': 'Pokreni upload.', + '%d files queued': '%d datoteka na Äekanju.' +}); \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/hu.js b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/hu.js new file mode 100644 index 00000000..87070bae --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/hu.js @@ -0,0 +1,33 @@ +// Hungarian +plupload.addI18n({ + 'Select files' : 'Fájlok kiválasztása', + 'Add files to the upload queue and click the start button.' : 'Válaszd ki a fájlokat, majd kattints az Indítás gombra.', + 'Filename' : 'Fájlnév', + 'Status' : 'Ãllapot', + 'Size' : 'Méret', + 'Add files' : 'Hozzáadás', + 'Stop current upload' : 'Jelenlegi feltöltés megszakítása', + 'Start uploading queue' : 'Várakozási sor feltöltésének indítása', + 'Uploaded %d/%d files': 'Feltöltött fájlok: %d/%d', + 'N/A': 'Nem elérhetÅ‘', + 'Drag files here.' : 'Húzd ide a fájlokat.', + 'Stop upload': 'Feltöltés megszakítása', + 'Start upload': 'Indítás', + '%d files queued': '%d fájl sorbaállítva', + 'File: %s': 'Fájl: %s', + 'Close': 'Bezárás', + 'Using runtime: ': 'Használt runtime: ', + 'File: %f, size: %s, max file size: %m': 'Fájl: %f, méret: %s, maximális fájlméret: %m', + 'Upload element accepts only %d file(s) at a time. Extra files were stripped.': 'A feltöltés egyszerre csak %d fájlt fogad el, a többi fájl nem lesz feltöltve.', + 'Upload URL might be wrong or doesn\'t exist': 'A megadott URL hibás vagy nem létezik', + 'Error: File too large: ': 'Hiba: A fájl túl nagy: ', + 'Error: Invalid file extension: ': 'Hiba: Érvénytelen fájlkiterjesztés: ', + 'File extension error.': 'Hibás fájlkiterjesztés.', + 'File size error.': 'Hibás fájlméret.', + 'File count error.': 'A fájlok számával kapcsolatos hiba.', + 'Init error.': 'Init hiba.', + 'HTTP Error.': 'HTTP hiba.', + 'Security error.': 'Biztonsági hiba.', + 'Generic error.': 'Ãltalános hiba.', + 'IO error.': 'I/O hiba.' +}); diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/index.html b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/it.js b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/it.js new file mode 100644 index 00000000..891e4fb0 --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/it.js @@ -0,0 +1,24 @@ +// Italian +plupload.addI18n({ + 'Select files' : 'Seleziona i files', + 'Add files to the upload queue and click the start button.' : 'Aggiungi i file alla coda di caricamento e clicca il pulsante di avvio.', + 'Filename' : 'Nome file', + 'Status' : 'Stato', + 'Size' : 'Dimensione', + 'Add Files' : 'Aggiungi file', + 'Stop current upload' : 'Interrompi il caricamento', + 'Start uploading queue' : 'Avvia il caricamento', + 'Uploaded %d/%d files': 'Caricati %d/%d file', + 'N/A' : 'N/D', + 'Drag files here.' : 'Trascina i file qui.', + 'File extension error.': 'Errore estensione file.', + 'File size error.': 'Errore dimensione file.', + 'Init error.': 'Errore inizializzazione.', + 'HTTP Error.': 'Errore HTTP.', + 'Security error.': 'Errore sicurezza.', + 'Generic error.': 'Errore generico.', + 'IO error.': 'Errore IO.', + 'Stop Upload': 'Ferma Upload', + 'Start Upload': 'Inizia Upload', + '%d files queued': '%d file in lista' +}); \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/ja.js b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/ja.js new file mode 100644 index 00000000..02c85aee --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/ja.js @@ -0,0 +1,37 @@ +// Japanese +plupload.addI18n({ + 'Select files' : 'ãƒ•ã‚¡ã‚¤ãƒ«é¸æŠž', + 'Add files to the upload queue and click the start button.' : 'ファイルをアップロードキューã«è¿½åŠ ã—ã¦ã‚¹ã‚¿ãƒ¼ãƒˆãƒœã‚¿ãƒ³ã‚’クリックã—ã¦ãã ã•ã„', + 'Filename' : 'ファイルå', + 'Status' : 'ステータス', + 'Size' : 'サイズ', + 'Add Files' : 'ファイルを追加', + 'Stop Upload' : 'ã‚¢ãƒƒãƒ—ãƒ­ãƒ¼ãƒ‰åœæ­¢', + 'Start Upload' : 'アップロード', + 'Add files' : 'ファイルを追加', + 'Add files.' : 'ファイルを追加', + 'Stop current upload' : 'ç¾åœ¨ã®ã‚¢ãƒƒãƒ—ãƒ­ãƒ¼ãƒ‰ã‚’åœæ­¢', + 'Start uploading queue' : 'アップロード', + 'Stop upload' : 'ã‚¢ãƒƒãƒ—ãƒ­ãƒ¼ãƒ‰åœæ­¢', + 'Start upload' : 'アップロード', + 'Uploaded %d/%d files': 'アップロード中 %d/%d ファイル', + 'N/A' : 'N/A', + 'Drag files here.' : 'ã“ã“ã«ãƒ•ァイルをドラッグ', + 'File extension error.': 'ファイル拡張å­ã‚¨ãƒ©ãƒ¼', + 'File size error.': 'ファイルサイズエラー', + 'File count error.': 'ファイル数エラー', + 'Init error.': 'イニシャライズエラー', + 'HTTP Error.': 'HTTP エラー', + 'Security error.': 'セキュリティエラー', + 'Generic error.': 'エラー', + 'IO error.': 'IO エラー', + 'File: %s': 'ファイル: %s', + 'Close': 'é–‰ã˜ã‚‹', + '%d files queued': '%d ファイルãŒè¿½åŠ ã•れã¾ã—ãŸ', + 'Using runtime: ': 'モード: ', + 'File: %f, size: %s, max file size: %m': 'ファイル: %f, サイズ: %s, 最大ファイルサイズ: %m', + 'Upload element accepts only %d file(s) at a time. Extra files were stripped.': 'アップロードå¯èƒ½ãªãƒ•ァイル数㯠%d ã§ã™ã€‚余分ãªãƒ•ァイルã¯å‰Šé™¤ã•れã¾ã—ãŸ', + 'Upload URL might be wrong or doesn\'t exist': 'アップロード先㮠URL ãŒå­˜åœ¨ã—ã¾ã›ã‚“', + 'Error: File too large: ': 'エラー: サイズãŒå¤§ãã™ãŽã¾ã™: ', + 'Error: Invalid file extension: ': 'エラー: æ‹¡å¼µå­ãŒè¨±å¯ã•れã¦ã„ã¾ã›ã‚“: ' +}); diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/ko.js b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/ko.js new file mode 100644 index 00000000..a2c5e66e --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/ko.js @@ -0,0 +1,36 @@ +// Republic of Korea +plupload.addI18n({ + 'Select files' : 'íŒŒì¼ ì„ íƒ', + 'Add files to the upload queue and click the start button.' : '파ì¼ì„ 업로드 íì— ì¶”ê°€í•˜ì—¬ 시작 ë²„íŠ¼ì„ í´ë¦­í•˜ì‹­ì‹œì˜¤.', + 'Filename' : 'íŒŒì¼ ì´ë¦„', + 'Status' : 'ìƒíƒœ', + 'Size' : 'í¬ê¸°', + 'Add Files' : 'íŒŒì¼ ì¶”ê°€', + 'Stop Upload': '업로드 중지', + 'Start Upload': '업로드', + 'Add files': 'íŒŒì¼ ì¶”ê°€', + 'Stop current upload': '현재 업로드를 ì •ì§€', + 'Start uploading queue': '업로드', + 'Stop upload': '업로드 중지', + 'Start upload': '업로드', + 'Uploaded % d / % d files': '업로드 중 % d / % d 파ì¼', + 'N / A': 'N / A', + 'Drag files here': 'ì—¬ê¸°ì— íŒŒì¼ì„ 드래그', + 'File extension error': 'íŒŒì¼ í™•ìž¥ìž ì˜¤ë¥˜', + 'File size error': 'íŒŒì¼ í¬ê¸° 오류', + 'File count error': 'ì´ë¯¸ì§€ : 오류', + 'Init error': '초기화 오류', + 'HTTP Error': 'HTTP 오류', + 'Security error': '보안 오류', + 'Generic error': '오류', + 'IO error': 'IO 오류', + 'File : % s': 'íŒŒì¼ % s', + 'Close': '닫기', + '% d files queued': '% d 파ì¼ì´ 추가ë˜ì—ˆìŠµë‹ˆë‹¤', + 'Using runtime :': '모드', + 'File : % f, size : % s, max file size : % m': 'íŒŒì¼ : % f, í¬ê¸° : % s, 최대 íŒŒì¼ í¬ê¸° : % m', + 'Upload element accepts only % d file (s) at a time. Extra files were stripped': '업로드 가능한 파ì¼ì˜ 수는 % d입니다. 불필요한 파ì¼ì€ ì‚­ì œë˜ì—ˆìŠµë‹ˆë‹¤ ', + 'Upload URL might be wrong or doesn \'t exist ':'업로드할 URLì´ ì¡´ìž¬í•˜ì§€ 않습니다 ', + 'Error : File too large :': '오류 : í¬ê¸°ê°€ 너무 í½ë‹ˆë‹¤', + 'Error : Invalid file extension :': '오류 : 확장ìžê°€ 허용ë˜ì§€ 않습니다 :' +}); \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/lv.js b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/lv.js new file mode 100644 index 00000000..2a040452 --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/lv.js @@ -0,0 +1,33 @@ +// .lv file like language pack +plupload.addI18n({ + 'Select files' : 'IzvÄ“lieties failus', + 'Add files to the upload queue and click the start button.' : 'Pieveinojiet failus rindai un klikšķiniet uz "SÄkt augÅ¡upielÄdi" pogas.', + 'Filename' : 'Faila nosaukums', + 'Status' : 'Statuss', + 'Size' : 'IzmÄ“rs', + 'Add files' : 'Pievienot failus', + 'Stop current upload' : 'ApturÄ“t paÅ¡reizÄ“jo augÅ¡upielÄdi', + 'Start uploading queue' : 'SÄkt augÅ¡upielÄdi', + 'Drag files here.' : 'Ievelciet failus Å¡eit', + 'Start upload' : 'SÄkt augÅ¡upielÄdi', + 'Uploaded %d/%d files': 'AugÅ¡upielÄdÄ“ti %d/%d faili', + 'Stop upload': 'PÄrtraukt augÅ¡upielÄdi', + 'Start upload': 'SÄkt augÅ¡upielÄdi', + '%d files queued': '%d faili pievienoti rindai', + 'File: %s': 'Fails: %s', + 'Close': 'AizvÄ“rt', + 'Using runtime: ': 'Lieto saskarni: ', + 'File: %f, size: %s, max file size: %m': 'Fails: %f, izmÄ“rs: %s, maksimÄlais faila izmÄ“rs: %m', + 'Upload element accepts only %d file(s) at a time. Extra files were stripped.': 'IespÄ“jams ielÄdÄ“t tikai %d failus vienÄ reizÄ“. AtlikuÅ¡ie faili netika pievienoti', + 'Upload URL might be wrong or doesn\'t exist': 'AugÅ¡upielÄdes URL varÄ“tu bÅ«t nepareizs vai neeksistÄ“', + 'Error: File too large: ': 'Kļūda: Fails pÄrÄk liels: ', + 'Error: Invalid file extension: ': 'Kļūda: Nekorekts faila paplaÅ¡inÄjums:', + 'File extension error.': 'Faila paplaÅ¡inÄjuma kļūda.', + 'File size error.': 'Faila izmÄ“ra kļūda.', + 'File count error.': 'Failu skaita kļūda', + 'Init error.': 'InicializÄcijas kļūda.', + 'HTTP Error.': 'HTTP kļūda.', + 'Security error.': 'Drošības kļūda.', + 'Generic error.': 'VispÄrÄ“ja rakstura kļūda.', + 'IO error.': 'Ievades/Izvades kļūda.' +}); \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/nl.js b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/nl.js new file mode 100644 index 00000000..8372c88b --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/nl.js @@ -0,0 +1,21 @@ +// Dutch +plupload.addI18n({ + 'Select files' : 'Selecteer bestand(en):', + 'Add files to the upload queue and click the start button.' : 'Voeg bestanden toe aan de wachtrij en druk op \'Start\'.', + 'Filename' : 'Bestandsnaam', + 'Status' : 'Status', + 'Size' : 'Grootte', + 'Add files' : 'Voeg bestanden toe', + 'Stop current upload' : 'Stop upload', + 'Start uploading queue' : 'Start upload', + 'Uploaded %d/%d files': '%d/%d bestanden ge-upload', + 'N/A' : 'Niet beschikbaar', + 'Drag files here.' : 'Sleep bestanden hierheen.', + 'File extension error.': 'Ongeldig bestandstype.', + 'File size error.': 'Bestandsgrootte Error.', + 'Init error.': 'Initialisatie error.', + 'HTTP Error.': 'HTTP Error.', + 'Security error.': 'Beveiliging error.', + 'Generic error.': 'Onbekende error.', + 'IO error.': 'IO error.' +}); \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/pl.js b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/pl.js new file mode 100644 index 00000000..3d1b9bea --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/pl.js @@ -0,0 +1,24 @@ +plupload.addI18n({ +'Select files' : 'Wybierz pliki:', +'Add files to the upload queue and click the start button.' : 'Dodaj pliki i kliknij \'Rozpocznij transfer\'.', +'Filename' : 'Nazwa pliku', +'Status' : 'Status', +'Size' : 'Rozmiar', +'Add files' : 'Dodaj pliki', +'Stop current upload' : 'Przerwij aktualny transfer', +'Start uploading queue' : 'Rozpocznij wysyÅ‚anie', +'Uploaded %d/%d files': 'WysÅ‚ano %d/%d plików', +'N/A' : 'Nie dostÄ™pne', +'Drag files here.' : 'PrzeciÄ…gnij tu pliki', +'File extension error.': 'NieobsÅ‚ugiwany format pliku.', +'File size error.': 'Plik jest zbyt duży.', +'Init error.': 'Błąd inicjalizacji.', +'HTTP Error.': 'Błąd HTTP.', +'Security error.': 'Błąd bezpieczeÅ„stwa.', +'Generic error.': 'Błąd ogólny.', +'IO error.': 'Błąd IO.', +'Stop Upload': 'Przerwij transfer.', +'Add Files': 'Dodaj pliki', +'Start upload': 'Rozpocznij transfer.', +'%d files queued': '%d plików w kolejce.' +}); diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/pt-br.js b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/pt-br.js new file mode 100644 index 00000000..9f34a64a --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/pt-br.js @@ -0,0 +1,35 @@ +// Brazilian Portuguese +plupload.addI18n({ + 'Select files' : 'Escolha os arquivos', + 'Add files to the upload queue and click the start button.' : 'Adicione os arquivos abaixo e clique no botão "Iniciar o envio".', + 'Filename' : 'Nome do arquivo', + 'Status' : 'Status', + 'Size' : 'Tamanho', + 'Add Files' : 'Adicionar arquivo(s)', + 'Stop Upload' : 'Parar o envio', + 'Start Upload' : 'Iniciar o envio', + 'Add files' : 'Adicionar arquivo(s)', + 'Add files.' : 'Adicionar arquivo(s)', + 'Stop upload' : 'Parar o envio', + 'Start upload' : 'Iniciar o envio', + 'Uploaded %d/%d files': 'Enviado(s) %d/%d arquivo(s)', + 'N/A' : 'N/D', + 'Drag files here.' : 'Arraste os arquivos pra cá', + 'File extension error.': 'Tipo de arquivo não permitido.', + 'File size error.': 'Tamanho de arquivo não permitido.', + 'File count error.': 'Erro na contagem dos arquivos', + 'Init error.': 'Erro inicializando.', + 'HTTP Error.': 'Erro HTTP.', + 'Security error.': 'Erro de segurança.', + 'Generic error.': 'Erro genérico.', + 'IO error.': 'Erro de E/S.', + 'File: %s': 'Arquivo: %s', + 'Close': 'Fechar', + '%d files queued': '%d arquivo(s)', + 'Using runtime: ': 'Usando: ', + 'File: %f, size: %s, max file size: %m': 'Arquivo: %f, tamanho: %s, máximo: %m', + 'Upload element accepts only %d file(s) at a time. Extra files were stripped.': 'Só são aceitos %d arquivos por vez. O que passou disso foi descartado.', + 'Upload URL might be wrong or doesn\'t exist': 'URL de envio está errada ou não existe', + 'Error: File too large: ': 'Erro: Arquivo muito grande: ', + 'Error: Invalid file extension: ': 'Erro: Tipo de arquivo não permitido: ' +}); diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/ro.js b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/ro.js new file mode 100644 index 00000000..fd198f0a --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/ro.js @@ -0,0 +1,24 @@ +// Romanian +plupload.addI18n({ + 'Select files' : 'Selectare fiÅŸiere', + 'Add files to the upload queue and click the start button.' : 'Adaugă fiÅŸiere în lista apoi apasă butonul \'ÃŽncepe încărcare\'.', + 'Filename' : 'Nume fiÅŸier', + 'Status' : 'Stare', + 'Size' : 'Mărime', + 'Add files' : 'Adăugare fiÅŸiere', + 'Stop current upload' : 'ÃŽntrerupe încărcarea curentă', + 'Start uploading queue' : 'ÃŽncepe incărcarea', + 'Uploaded %d/%d files': 'FiÅŸiere încărcate %d/%d', + 'N/A' : 'N/A', + 'Drag files here.' : 'Trage aici fiÅŸierele', + 'File extension error.': 'Extensie fiÅŸier eronată', + 'File size error.': 'Eroare dimensiune fiÅŸier', + 'Init error.': 'Eroare iniÅ£ializare', + 'HTTP Error.': 'Eroare HTTP', + 'Security error.': 'Eroare securitate', + 'Generic error.': 'Eroare generică', + 'IO error.': 'Eroare Intrare/IeÅŸire', + 'Stop Upload': 'Oprire încărcare', + 'Start upload': 'ÃŽncepe încărcare', + '%d files queued': '%d fiÅŸiere listate' +}); \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/ru.js b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/ru.js new file mode 100644 index 00000000..86469c75 --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/ru.js @@ -0,0 +1,21 @@ +// Russian +plupload.addI18n({ + 'Select files' : 'Выберите файлы', + 'Add files to the upload queue and click the start button.' : 'Добавьте файлы в очередь и нажмите кнопку "Загрузить файлы".', + 'Filename' : 'Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°', + 'Status' : 'СтатуÑ', + 'Size' : 'Размер', + 'Add files' : 'Добавить файлы', + 'Stop current upload' : 'ОÑтановить загрузку', + 'Start uploading queue' : 'Загрузить файлы', + 'Uploaded %d/%d files': 'Загружено %d/%d файлов', + 'N/A' : 'N/D', + 'Drag files here.' : 'Перетащите файлы Ñюда.', + 'File extension error.': 'Ðеправильное раÑширение файла.', + 'File size error.': 'Ðеправильный размер файла.', + 'Init error.': 'Ошибка инициализации.', + 'HTTP Error.': 'Ошибка HTTP.', + 'Security error.': 'Ошибка безопаÑноÑти.', + 'Generic error.': 'ÐžÐ±Ñ‰Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°.', + 'IO error.': 'Ошибка ввода-вывода.' +}); \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/sk.js b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/sk.js new file mode 100644 index 00000000..8b4b2d95 --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/sk.js @@ -0,0 +1,25 @@ +// .po file like language pack +plupload.addI18n({ + 'Select files' : 'Vyberte súbory', + 'Add files to the upload queue and click the start button.' : 'Pridajte súbory do zoznamu a potom spustite nahrávanie.', + 'Filename' : 'Názov súboru', + 'Status' : 'Stav', + 'Size' : 'VeľkosÅ¥', + 'Add files' : 'PridaÅ¥ súbory', + 'Stop current upload' : 'ZastaviÅ¥ nahrávanie', + 'Start uploading queue' : 'SpustiÅ¥ nahrávanie zoznamu', + 'Drag files here.' : 'Sem pretiahnite súbory.', + 'Start upload': 'SpustiÅ¥ nahrávanie', + 'Uploaded %d/%d files': 'Nahraných %d/%d súborov', + 'Using runtime: ': 'K odoslaniu súborov sa použije rozhranie: ', + 'N/A' : 'N/A', + 'File extension error.': 'Chybný typ súboru.', + 'File size error.': 'Súbor je príliÅ¡ veľký.', + 'Init error.': 'Chyba inicializácie.', + 'HTTP Error.': 'HTTP Chyba.', + 'Security error.': 'BezpeÄnostná Chyba.', + 'Generic error.': 'Chyba.', + 'IO error.': 'IO Chyba', + 'Stop Upload': 'ZastaviÅ¥ nahrávanie', + '%d files queued': '%d súborov pridaných do zoznamu' +}); \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/sr.js b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/sr.js new file mode 100644 index 00000000..59dc0a97 --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/sr.js @@ -0,0 +1,14 @@ +// Serbian +plupload.addI18n({ + 'Select files' : 'Izaberite fajlove', + 'Add files to the upload queue and click the start button.' : 'Dodajte fajlove u listu i kliknite na dugme Start.', + 'Filename' : 'Naziv fajla', + 'Status' : 'Status', + 'Size' : 'VeliÄina', + 'Add Files' : 'Dodaj fajlove', + 'Stop current upload' : 'Zaustavi upload', + 'Start uploading queue' : 'PoÄni upload', + 'Drag files here.' : 'Prevucite fajlove ovde.', + 'Start Upload': 'PoÄni upload', + 'Uploaded %d/%d files': 'Snimljeno %d/%d fajlova' +}); \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/sv.js b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/sv.js new file mode 100644 index 00000000..11c75245 --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/i18n/sv.js @@ -0,0 +1,12 @@ +// .po file like language pack +plupload.addI18n({ + 'Select files' : 'Välj filer', + 'Add files to the upload queue and click the start button.' : 'Lägg till filer till kön och tryck pÃ¥ start.', + 'Filename' : 'Filnamn', + 'Status' : 'Status', + 'Size' : 'Storlek', + 'Add files' : 'Lägg till filer', + 'Stop current upload' : 'Stoppa uppladdningen', + 'Start uploading queue' : 'Starta uppladdningen', + 'Drag files here.' : 'Dra filer hit' +}); \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/index.html b/packages/phocadownload/components/com_phocadownload/assets/plupload/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue.min.js b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue.min.js new file mode 100644 index 00000000..ba8e134b --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue.min.js @@ -0,0 +1,12 @@ +(function(c){var d={};function a(e){return plupload.translate(e)||e}function b(f,e){e.contents().each(function(g,h){h=c(h);if(!h.is(".plupload")){h.remove()}});e.prepend('
'+a("Filename")+'
 
'+a("Size")+'
'+a("Status")+'
+ +
 
 
    + +
    ')}c.fn.pluploadQueue=function(e){if(e){this.each(function(){var j,i,k;i=c(this);k=i.attr("id");if(!k){k=plupload.guid();i.attr("id",k)}j=new plupload.Uploader(c.extend({dragdrop:true,container:k},e));if(e.preinit){e.preinit(j)}d[k]=j;function h(l){var m;if(l.status==plupload.DONE){m="plupload_done"}if(l.status==plupload.FAILED){m="plupload_failed"}if(l.status==plupload.QUEUED){m="plupload_delete"}if(l.status==plupload.UPLOADING){m="plupload_uploading"}c("#"+l.id).attr("class",m).find("a").css("display","block")}function f(){c("span.plupload_total_status",i).html(j.total.percent+"%");c("div.plupload_progress_bar",i).css("width",j.total.percent+"%");c("span.plupload_upload_status",i).text("Uploaded "+j.total.uploaded+"/"+j.files.length+" files");if(j.total.uploaded==j.files.length){j.stop()}}function g(){var m=c("ul.plupload_filelist",i).html(""),n=0,l;c.each(j.files,function(p,o){l="";if(o.status==plupload.DONE){if(o.target_name){l+=''}l+='';l+='';n++;c("#"+k+"_count").val(n)}m.append('
  • '+o.name+'
  • '+plupload.formatSize(o.size)+'
    '+o.percent+'%
     
    '+l+"");h(o);c("#"+o.id+".plupload_delete a").click(function(q){c("#"+o.id).remove();j.removeFile(o);q.preventDefault()})});c("span.plupload_total_file_size",i).html(plupload.formatSize(j.total.size));if(j.total.queued===0){c("span.plupload_add_text",i).text(a("Add files."))}else{c("span.plupload_add_text",i).text(j.total.queued+" files queued.")}c("a.plupload_start",i).toggleClass("plupload_disabled",j.files.length===0);m[0].scrollTop=m[0].scrollHeight;f();if(!j.files.length&&j.features.dragdrop&&j.settings.dragdrop){c("#"+k+"_filelist").append('
  • '+a("Drag files here.")+"
  • ")}}j.bind("UploadFile",function(l,m){c("#"+m.id).addClass("plupload_current_file")});j.bind("Init",function(l,m){b(k,i);if(!e.unique_names&&e.rename){c("#"+k+"_filelist div.plupload_file_name span",i).live("click",function(s){var q=c(s.target),o,r,n,p="";o=l.getFile(q.parents("li")[0].id);n=o.name;r=/^(.+)(\.[^.]+)$/.exec(n);if(r){n=r[1];p=r[2]}q.hide().after('');q.next().val(n).focus().blur(function(){q.show().next().remove()}).keydown(function(u){var t=c(this);if(u.keyCode==13){u.preventDefault();o.name=t.val()+p;q.text(o.name);t.blur()}})})}c("a.plupload_add",i).attr("id",k+"_browse");l.settings.browse_button=k+"_browse";if(l.features.dragdrop&&l.settings.dragdrop){l.settings.drop_element=k+"_filelist";c("#"+k+"_filelist").append('
  • '+a("Drag files here.")+"
  • ")}c("#"+k+"_container").attr("title","Using runtime: "+m.runtime);c("a.plupload_start",i).click(function(n){if(!c(this).hasClass("plupload_disabled")){j.start()}n.preventDefault()});c("a.plupload_stop",i).click(function(n){j.stop();n.preventDefault()});c("a.plupload_start",i).addClass("plupload_disabled")});j.init();if(e.setup){e.setup(j)}j.bind("Error",function(l,o){var m=o.file,n;if(m){n=o.message;if(o.details){n+=" ("+o.details+")"}c("#"+m.id).attr("class","plupload_failed").find("a").css("display","block").attr("title",n)}});j.bind("StateChanged",function(){if(j.state===plupload.STARTED){c("li.plupload_delete a,div.plupload_buttons",i).hide();c("span.plupload_upload_status,div.plupload_progress,a.plupload_stop",i).css("display","block");c("span.plupload_upload_status",i).text("Uploaded 0/"+j.files.length+" files")}else{c("a.plupload_stop,div.plupload_progress",i).hide();c("a.plupload_delete",i).css("display","block")}});j.bind("QueueChanged",g);j.bind("StateChanged",function(l){if(l.state==plupload.STOPPED){g()}});j.bind("FileUploaded",function(l,m){h(m)});j.bind("UploadProgress",function(l,m){c("#"+m.id+" div.plupload_file_status",i).html(m.percent+"%"); +c("#"+m.id+" div.plupload_file_statusbar",i).html('
    ') +h(m);f()})});return this}else{return d[c(this[0]).attr("id")]}}})(jQuery); \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/css/index.html b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/css/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/css/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/css/jquery.plupload.queue.css b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/css/jquery.plupload.queue.css new file mode 100644 index 00000000..84daa6df --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/css/jquery.plupload.queue.css @@ -0,0 +1,194 @@ +/* + Plupload +------------------------------------------------------------------- */ + +.plupload_button { + /* display: -moz-inline-box; /* FF < 3*//* + display: inline-block; + font: normal 12px sans-serif; + text-decoration: none; + color: #42454a; + border: 1px solid #bababa; + padding: 2px 8px 3px 20px; + margin-right: 4px; + background: #f3f3f3 url('../img/buttons.png') no-repeat 0 center; + outline: 0; + + /* Optional rounded corners for browsers that support it *//* + -moz-border-radius: 3px; + -khtml-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px;*/ + margin: 5px; +} +.plupload_button i { + margin-left: -5px; + margin-right: 5px; +} +/* +.plupload_button:hover { + color: #000; + text-decoration: none; +}*/ + +.plupload_disabled, a.plupload_disabled:hover { + /*color: #737373; + border-color: #c5c5c5; + background: #ededed url('../img/buttons-disabled.png') no-repeat 0 center;*/ + cursor: default; +} + +.plupload_add { + /*background-position: -181px center;*/ +} + +.plupload_wrapper { + /*font: normal 11px Verdana,sans-serif;*/ + width: 100%; +} + +.plupload_container { + padding: 8px; + /*background: url('../img/transp50.png');*/ + /*-moz-border-radius: 5px;*/ +} + +.plupload_container input { + /*border: 1px solid #DDD;*/ + /*font: normal 11px Verdana,sans-serif;*/ + width: 98%; +} + +.plupload_header {/*background: #2A2C2E url('../img/backgrounds.gif') repeat-x;*/} +.plupload_header_content { + /*background: url('../img/backgrounds.gif') no-repeat 0 -317px; + min-height: 56px; + padding-left: 60px; + color: #FFF;*/ +} +.plupload_header_title { + /*font: normal 18px sans-serif; + padding: 6px 0 3px;*/ +} +.plupload_header_text { + /*font: normal 12px sans-serif;*/ +} + +.plupload_filelist { + margin: 0; + padding: 0; + list-style: none; + border: 1px solid #dddddd; + -webkit-border-radius: 5px; + border-radius: 5px; +} + +.plupload_scroll .plupload_filelist { + height: 185px; + /*background: #f9f9f9;*/ + overflow-y: scroll; +} + +.plupload_filelist li { + padding: 5px 8px 0px 8px; + background: #f9f9f9; + /*padding: 10px 8px; + background: #f9f9f9 url('../img/backgrounds.gif') repeat-x 0 -156px;*/ + border-bottom: 1px solid #dddddd; +} + +.plupload_filelist_header, .plupload_filelist_footer { + /*background: #DFDFDF; + padding: 8px 8px; + color: #42454A;*/ +} +.plupload_filelist_header { + /*border-top: 1px solid #EEE;*/ + padding: 3px 10px; +} + +.plupload_filelist_footer {border-top: 1px solid #FFF; height: 22px; line-height: 20px; vertical-align: middle;} +.plupload_file_name {float: left; overflow: hidden} +.plupload_file_status {color: #777;} +.plupload_file_status span {color: #42454A;} + +.plupload_file_statusbar, +.plupload_file_size, .plupload_file_status, .plupload_progress, .plupload_progress_box { + float: right; + width: 80px; + +} +.plupload_file_action_bottom { + padding-right:8px; +} +.plupload_file_size, .plupload_file_status, .plupload_file_action {text-align: right;} + +.plupload_filelist .plupload_file_name {width: 205px} + +.plupload_file_action { + float: right; + width: 16px; + height: 16px; + margin-left: 15px; +} + +.plupload_file_action * { + display: none; + width: 16px; + height: 16px; +} + +li.plupload_uploading {background: #ECF3DC url('../img/backgrounds.gif') repeat-x 0 -238px;} +li.plupload_done {color:#AAA} + +li.plupload_delete a { + background: url('../img/delete.gif'); +} + +li.plupload_failed a { + background: url('../img/error.gif'); + cursor: default; +} + +li.plupload_done a { + background: url('../img/done.gif'); + cursor: default; +} + +.plupload_progress, .plupload_upload_status { + display: none; +} + +.plupload_progress_container { + margin-top: 3px; + background: #FFF; + padding: 1px; +} +.plupload_progress_bar { + width: 0px; + height: 7px; +} + +.plupload_scroll .plupload_filelist_header .plupload_file_action, .plupload_scroll .plupload_filelist_footer .plupload_file_action { + margin-right: 17px; +} + +/* Floats */ + +.plupload_clear,.plupload_clearer {clear: both;} +.plupload_clearer, .plupload_progress_bar, .plupload_progress_box { + display: block; + font-size: 0; + line-height: 0; +} +.plupload_progress_box { + margin-top: -3px; +} + +li.plupload_droptext { + background: transparent; + text-align: center; + vertical-align: middle; + border: 0; + line-height: 165px; +} diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/img/backgrounds.gif b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/img/backgrounds.gif new file mode 100644 index 00000000..39e33ebc Binary files /dev/null and b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/img/backgrounds.gif differ diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/img/buttons-disabled.png b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/img/buttons-disabled.png new file mode 100644 index 00000000..afa11af9 Binary files /dev/null and b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/img/buttons-disabled.png differ diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/img/buttons.png b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/img/buttons.png new file mode 100644 index 00000000..153e7388 Binary files /dev/null and b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/img/buttons.png differ diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/img/delete.gif b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/img/delete.gif new file mode 100644 index 00000000..78ca8b3b Binary files /dev/null and b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/img/delete.gif differ diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/img/done.gif b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/img/done.gif new file mode 100644 index 00000000..29f3ed7c Binary files /dev/null and b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/img/done.gif differ diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/img/error.gif b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/img/error.gif new file mode 100644 index 00000000..4682b630 Binary files /dev/null and b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/img/error.gif differ diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/img/index.html b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/img/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/img/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/img/throbber.gif b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/img/throbber.gif new file mode 100644 index 00000000..4ae8b16a Binary files /dev/null and b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/img/throbber.gif differ diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/img/transp50.png b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/img/transp50.png new file mode 100644 index 00000000..eb0efe10 Binary files /dev/null and b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/img/transp50.png differ diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/index.html b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/jquery.plupload.queue.js b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/jquery.plupload.queue.js new file mode 100644 index 00000000..86a7546e --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.plupload.queue/jquery.plupload.queue.js @@ -0,0 +1,348 @@ +/** + * jquery.plupload.queue.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under GPL License. + * + * License: http://www.plupload.com/license + * Contributing: http://www.plupload.com/contributing + */ + +// JSLint defined globals +/*global plupload:false, jQuery:false, alert:false */ + +(function($) { + var uploaders = {}; + + function _(str) { + return plupload.translate(str) || str; + } + + function renderUI(id, target) { + // Remove all existing non plupload items + target.contents().each(function(i, node) { + node = $(node); + + if (!node.is('.plupload')) { + node.remove(); + } + }); + + target.prepend( + '
    ' + + '
    ' + + '
    ' + + '
    ' + + '
    ' + /* + '
    ' + _('Select files') + '
    ' + + '
    ' + _('Add files to the upload queue and click the start button.') + '
    ' + */ + '
    ' + + '
    ' + + + '
    ' + + '
    ' + + '
    ' + _('Filename') + '
    ' + + '
     
    ' + + '
    '+ _("Size")+'
    ' + + '
    ' + _('Status') + '
    ' + + '
     
    ' + /* + '
    ' + _('Size') + '
    ' + */ + '
     
    ' + + '
    ' + + + '
      ' + + + '' + + '
      ' + + '' + + '
      ' + ); + } + + $.fn.pluploadQueue = function(settings) { + if (settings) { + this.each(function() { + var uploader, target, id; + + target = $(this); + id = target.attr('id'); + + if (!id) { + id = plupload.guid(); + target.attr('id', id); + } + + uploader = new plupload.Uploader($.extend({ + dragdrop : true, + container : id + }, settings)); + + uploaders[id] = uploader; + + function handleStatus(file) { + var actionClass; + + if (file.status == plupload.DONE) { + actionClass = 'plupload_done'; + } + + if (file.status == plupload.FAILED) { + actionClass = 'plupload_failed'; + } + + if (file.status == plupload.QUEUED) { + actionClass = 'plupload_delete'; + } + + if (file.status == plupload.UPLOADING) { + actionClass = 'plupload_uploading'; + } + + var icon = $('#' + file.id).attr('class', actionClass).find('a').css('display', 'block'); + if (file.hint) { + icon.attr('title', file.hint); + } + } + + function updateTotalProgress() { + $('span.plupload_total_status', target).html(uploader.total.percent + '%'); + $('div.plupload_progress_bar', target).css('width', uploader.total.percent + '%'); + $('span.plupload_upload_status', target).html( + _('Uploaded %d/%d files').replace(/%d\/%d/, uploader.total.uploaded+'/'+uploader.files.length) + ); + } + + function updateList() { + var fileList = $('ul.plupload_filelist', target).html(''), inputCount = 0, inputHTML; + + $.each(uploader.files, function(i, file) { + inputHTML = ''; + + if (file.status == plupload.DONE) { + if (file.target_name) { + inputHTML += ''; + } + + inputHTML += ''; + inputHTML += ''; + + inputCount++; + + $('#' + id + '_count').val(inputCount); + } + + fileList.append( + '
    • ' + + '
      ' + file.name + '
      ' + + '
      ' + + '
      ' + plupload.formatSize(file.size) + '
      ' + + '
      ' + file.percent + '%
      ' + + '
      ' + + '
       
      ' + + inputHTML + + '
    • ' + ); + + handleStatus(file); + + $('#' + file.id + '.plupload_delete a').click(function(e) { + $('#' + file.id).remove(); + uploader.removeFile(file); + + e.preventDefault(); + }); + }); + + $('span.plupload_total_file_size', target).html(plupload.formatSize(uploader.total.size)); + + if (uploader.total.queued === 0) { + $('span.plupload_add_text', target).html(_('Add Files')); + } else { + $('span.plupload_add_text', target).html(_('%d files queued').replace(/%d/, uploader.total.queued)); + } + + $('a.plupload_start', target).toggleClass('plupload_disabled', uploader.files.length == (uploader.total.uploaded + uploader.total.failed)); + + // Scroll to end of file list + fileList[0].scrollTop = fileList[0].scrollHeight; + + updateTotalProgress(); + + // Re-add drag message if there is no files + if (!uploader.files.length && uploader.features.dragdrop && uploader.settings.dragdrop) { + $('#' + id + '_filelist').append('
    • ' + _("Drag files here.") + '
    • '); + } + } + + uploader.bind("UploadFile", function(up, file) { + $('#' + file.id).addClass('plupload_current_file'); + }); + + uploader.bind('Init', function(up, res) { + renderUI(id, target); + + // Enable rename support + if (!settings.unique_names && settings.rename) { + target.on('click', '#' + id + '_filelist div.plupload_file_name span', function(e) { + var targetSpan = $(e.target), file, parts, name, ext = ""; + + // Get file name and split out name and extension + file = up.getFile(targetSpan.parents('li')[0].id); + name = file.name; + parts = /^(.+)(\.[^.]+)$/.exec(name); + if (parts) { + name = parts[1]; + ext = parts[2]; + } + + // Display input element + targetSpan.hide().after(''); + targetSpan.next().val(name).focus().blur(function() { + targetSpan.show().next().remove(); + }).keydown(function(e) { + var targetInput = $(this); + + if (e.keyCode == 13) { + e.preventDefault(); + + // Rename file and glue extension back on + file.name = targetInput.val() + ext; + targetSpan.html(file.name); + targetInput.blur(); + } + }); + }); + } + + $('a.plupload_add', target).attr('id', id + '_browse'); + + up.settings.browse_button = id + '_browse'; + + // Enable drag/drop (see PostInit handler as well) + if (up.settings.dragdrop) { + up.settings.drop_element = id + '_filelist'; + } + + $('#' + id + '_container').attr('title', 'Using runtime: ' + res.runtime); + + $('a.plupload_start', target).click(function(e) { + if (!$(this).hasClass('plupload_disabled')) { + uploader.start(); + } + + e.preventDefault(); + }); + + $('a.plupload_stop', target).click(function(e) { + e.preventDefault(); + uploader.stop(); + }); + + $('a.plupload_start', target).addClass('plupload_disabled'); + }); + + uploader.bind("PostInit", function(up) { + // features are populated only after input components are fully instantiated + if (up.settings.dragdrop && up.features.dragdrop) { + $('#' + id + '_filelist').append('
    • ' + _("Drag files here.") + '
    • '); + } + }); + + uploader.init(); + + uploader.bind("Error", function(up, err) { + var file = err.file, message; + + if (file) { + message = err.message; + + if (err.details) { + message += " (" + err.details + ")"; + } + + if (err.code == plupload.FILE_SIZE_ERROR) { + alert(_("Error: File too large:") + " " + file.name); + } + + if (err.code == plupload.FILE_EXTENSION_ERROR) { + alert(_("Error: Invalid file extension:") + " " + file.name); + } + + file.hint = message; + $('#' + file.id).attr('class', 'plupload_failed').find('a').css('display', 'block').attr('title', message); + } + }); + + uploader.bind('StateChanged', function() { + if (uploader.state === plupload.STARTED) { + $('li.plupload_delete a,div.plupload_buttons', target).hide(); + $('span.plupload_upload_status,div.plupload_progress,a.plupload_stop', target).css('display', 'block'); + $('span.plupload_upload_status', target).html('Uploaded ' + uploader.total.uploaded + '/' + uploader.files.length + ' files'); + + if (settings.multiple_queues) { + $('span.plupload_total_status,span.plupload_total_file_size', target).show(); + } + } else { + updateList(); + $('a.plupload_stop,div.plupload_progress', target).hide(); + $('a.plupload_delete', target).css('display', 'block'); + } + }); + + uploader.bind('QueueChanged', updateList); + + uploader.bind('FileUploaded', function(up, file) { + handleStatus(file); + }); + + uploader.bind("UploadProgress", function(up, file) { + // Set file specific progress + $('#' + file.id + ' div.plupload_file_status', target).html(file.percent + '%'); + /* $('#' + file.id + ' div.plupload_file_statusbar', target).html('
      '); */ + $('#' + file.id + ' div.plupload_file_statusbar', target).html('
      '); + + handleStatus(file); + updateTotalProgress(); + + if (settings.multiple_queues && uploader.total.uploaded + uploader.total.failed == uploader.files.length) { + $(".plupload_buttons,.plupload_upload_status", target).css("display", "inline"); + $(".plupload_start", target).addClass("plupload_disabled"); + $('span.plupload_total_status,span.plupload_total_file_size', target).hide(); + } + }); + + // Call setup function + if (settings.setup) { + settings.setup(uploader); + } + }); + + return this; + } else { + // Get uploader instance for specified element + return uploaders[$(this[0]).attr('id')]; + } + }; +})(jQuery); diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.ui.plupload/css/index.html b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.ui.plupload/css/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.ui.plupload/css/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.ui.plupload/css/jquery.ui.plupload.css b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.ui.plupload/css/jquery.ui.plupload.css new file mode 100644 index 00000000..a819fff9 --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.ui.plupload/css/jquery.ui.plupload.css @@ -0,0 +1,147 @@ +/* + Plupload +------------------------------------------------------------------- */ + +.plupload_button {cursor: pointer;} + +.plupload_wrapper { + font: normal 11px Verdana,sans-serif; + width: 100%; +} + +.plupload .plupload_container input {width: 98%;} +.plupload .plupload_filelist_footer {border-width: 1px 0 0 0} +.plupload .plupload_filelist_header {border-width: 0 0 1px 0} +div.plupload .plupload_file {border-width: 0 0 1px 0} +div.plupload div.plupload_header {border-width: 0 0 1px 0; position: relative;} + +.plupload_file .ui-icon { + cursor:pointer; +} + +.plupload_header_content { + background-image: url('../img/plupload.png'); + background-repeat: no-repeat; + background-position: 8px center; + min-height: 56px; + padding-left: 60px; + position:relative; +} +.plupload_header_content_bw {background-image: url('../img/plupload-bw.png');} +.plupload_header_title { + font: normal 18px sans-serif; + padding: 6px 0 3px; +} +.plupload_header_text {font: normal 12px sans-serif;} + +.plupload_filelist, +.plupload_filelist_content { + border-collapse: collapse; + margin: 0; + padding: 0; + width: 100%; + -moz-user-select:none; + -webkit-user-select:none; + user-select:none; +} + +.plupload_cell {padding: 8px 6px;} + +.plupload_file { + border-left: none; + border-right: none; +} + +.plupload .ui-sortable-helper, +.plupload .ui-sortable .plupload_file { + cursor:move; +} + +.plupload_scroll { + max-height: 180px; + min-height: 168px; + _height: 168px; + overflow-y: auto; +} + +.plupload_file_size, .plupload_file_status {text-align: right;} +.plupload_file_size, .plupload_file_status {width: 52px;} +.plupload_file_action {width: 16px;} +.plupload_file_name { + overflow: hidden; + padding-left: 10px; +} + +.plupload_file_rename { + width:95%; +} + +.plupload_progress {width: 60px;} +.plupload_progress_container {padding: 1px;} + + +/* Floats */ + +.plupload_right {float: right;} +.plupload_left {float: left;} +.plupload_clear,.plupload_clearer {clear: both;} +.plupload_clearer, .plupload_progress_bar { + display: block; + font-size: 0; + line-height: 0; +} +.plupload_clearer {height: 0;} + +/* Misc */ +.plupload_hidden {display: none;} +.plupload_droptext { + background: transparent; + text-align: center; + vertical-align: middle; + border: 0; + line-height: 165px; +} + +.plupload_buttons, .plupload_upload_status {float: left} + +.plupload_message { + position: absolute; + top: 0px; + left: 0px; + height: 100%; + width: 100%; +} + +.plupload_message p { + padding:0.7em; + margin:0; +} + +.plupload_message strong { + font-weight: bold; +} + +plupload_message i { + font-style: italic; +} + +.plupload_message p span.ui-icon { + float: left; + margin-right: 0.3em; +} + +.plupload_header_content .ui-state-error, +.plupload_header_content .ui-state-highlight { + border:none; +} + +.plupload_message_close { + position:absolute; + top:5px; + right:5px; + cursor:pointer; +} + +.plupload .ui-sortable-placeholder { + height:35px; +} diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.ui.plupload/img/index.html b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.ui.plupload/img/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.ui.plupload/img/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.ui.plupload/img/plupload-bw.png b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.ui.plupload/img/plupload-bw.png new file mode 100644 index 00000000..bb4147e8 Binary files /dev/null and b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.ui.plupload/img/plupload-bw.png differ diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.ui.plupload/img/plupload.png b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.ui.plupload/img/plupload.png new file mode 100644 index 00000000..74fa3ad3 Binary files /dev/null and b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.ui.plupload/img/plupload.png differ diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.ui.plupload/index.html b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.ui.plupload/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.ui.plupload/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.ui.plupload/jquery.ui.plupload.js b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.ui.plupload/jquery.ui.plupload.js new file mode 100644 index 00000000..7934bf31 --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/jquery.ui.plupload/jquery.ui.plupload.js @@ -0,0 +1 @@ +(function(f,a,c,g,e){var h={};function b(i){return c.translate(i)||i}function d(i){i.html('
      '+b("Select files")+'
      '+b("Add files to the upload queue and click the start button.")+'
      '+b("Filename")+''+b("Status")+''+b("Size")+' 
      ')}g.widget("ui.plupload",{contents_bak:"",runtime:null,options:{browse_button_hover:"ui-state-hover",browse_button_active:"ui-state-active",dragdrop:true,multiple_queues:true,buttons:{browse:true,start:true,stop:true},autostart:false,sortable:false,rename:false,max_file_count:0},FILE_COUNT_ERROR:-9001,_create:function(){var i=this,k,j;k=this.element.attr("id");if(!k){k=c.guid();this.element.attr("id",k)}this.id=k;this.contents_bak=this.element.html();d(this.element);this.container=g(".plupload_container",this.element).attr("id",k+"_container");this.filelist=g(".plupload_filelist_content",this.container).attr({id:k+"_filelist",unselectable:"on"});this.browse_button=g(".plupload_add",this.container).attr("id",k+"_browse");this.start_button=g(".plupload_start",this.container).attr("id",k+"_start");this.stop_button=g(".plupload_stop",this.container).attr("id",k+"_stop");if(g.ui.button){this.browse_button.button({icons:{primary:"ui-icon-circle-plus"}});this.start_button.button({icons:{primary:"ui-icon-circle-arrow-e"},disabled:true});this.stop_button.button({icons:{primary:"ui-icon-circle-close"}})}this.progressbar=g(".plupload_progress_container",this.container);if(g.ui.progressbar){this.progressbar.progressbar()}this.counter=g(".plupload_count",this.element).attr({id:k+"_count",name:k+"_count"});j=this.uploader=h[k]=new c.Uploader(g.extend({container:k,browse_button:k+"_browse"},this.options));j.bind("Error",function(l,m){if(m.code===c.INIT_ERROR){i.destroy()}});j.bind("Init",function(l,m){if(!i.options.buttons.browse){i.browse_button.button("disable").hide();l.disableBrowse(true)}if(!i.options.buttons.start){i.start_button.button("disable").hide()}if(!i.options.buttons.stop){i.stop_button.button("disable").hide()}if(!i.options.unique_names&&i.options.rename){i._enableRenaming()}if(j.features.dragdrop&&i.options.dragdrop){i._enableDragAndDrop()}i.container.attr("title",b("Using runtime: ")+(i.runtime=m.runtime));i.start_button.click(function(n){if(!g(this).button("option","disabled")){i.start()}n.preventDefault()});i.stop_button.click(function(n){i.stop();n.preventDefault()})});if(i.options.max_file_count){j.bind("FilesAdded",function(l,n){var o=[],m=n.length;var p=l.files.length+m-i.options.max_file_count;if(p>0){o=n.splice(m-p,p);l.trigger("Error",{code:i.FILE_COUNT_ERROR,message:b("File count error."),file:o})}})}j.init();j.bind("FilesAdded",function(l,m){i._trigger("selected",null,{up:l,files:m});if(i.options.autostart){setTimeout(function(){i.start()},10)}});j.bind("FilesRemoved",function(l,m){i._trigger("removed",null,{up:l,files:m})});j.bind("QueueChanged",function(){i._updateFileList()});j.bind("StateChanged",function(){i._handleState()});j.bind("UploadFile",function(l,m){i._handleFileStatus(m)});j.bind("FileUploaded",function(l,m){i._handleFileStatus(m);i._trigger("uploaded",null,{up:l,file:m})});j.bind("UploadProgress",function(l,m){g("#"+m.id).find(".plupload_file_status").html(m.percent+"%").end().find(".plupload_file_size").html(c.formatSize(m.size));i._handleFileStatus(m);i._updateTotalProgress();i._trigger("progress",null,{up:l,file:m})});j.bind("UploadComplete",function(l,m){i._trigger("complete",null,{up:l,files:m})});j.bind("Error",function(l,p){var n=p.file,o,m;if(n){o=""+p.message+"";m=p.details;if(m){o+="
      "+p.details+""}else{switch(p.code){case c.FILE_EXTENSION_ERROR:m=b("File: %s").replace("%s",n.name);break;case c.FILE_SIZE_ERROR:m=b("File: %f, size: %s, max file size: %m").replace(/%([fsm])/g,function(r,q){switch(q){case"f":return n.name;case"s":return n.size;case"m":return c.parseSize(i.options.max_file_size)}});break;case i.FILE_COUNT_ERROR:m=b("Upload element accepts only %d file(s) at a time. Extra files were stripped.").replace("%d",i.options.max_file_count);break;case c.IMAGE_FORMAT_ERROR:m=c.translate("Image format either wrong or not supported.");break;case c.IMAGE_MEMORY_ERROR:m=c.translate("Runtime ran out of available memory.");break;case c.IMAGE_DIMENSIONS_ERROR:m=c.translate("Resoultion out of boundaries! %s runtime supports images only up to %wx%hpx.").replace(/%([swh])/g,function(r,q){switch(q){case"s":return l.runtime;case"w":return l.features.maxWidth;case"h":return l.features.maxHeight}});break;case c.HTTP_ERROR:m=b("Upload URL might be wrong or doesn't exist");break}o+="
      "+m+""}i.notify("error",o);i._trigger("error",null,{up:l,file:n,error:o})}})},_setOption:function(j,k){var i=this;if(j=="buttons"&&typeof(k)=="object"){k=g.extend(i.options.buttons,k);if(!k.browse){i.browse_button.button("disable").hide();up.disableBrowse(true)}else{i.browse_button.button("enable").show();up.disableBrowse(false)}if(!k.start){i.start_button.button("disable").hide()}else{i.start_button.button("enable").show()}if(!k.stop){i.stop_button.button("disable").hide()}else{i.start_button.button("enable").show()}}i.uploader.settings[j]=k},start:function(){this.uploader.start();this._trigger("start",null)},stop:function(){this.uploader.stop();this._trigger("stop",null)},getFile:function(j){var i;if(typeof j==="number"){i=this.uploader.files[j]}else{i=this.uploader.getFile(j)}return i},removeFile:function(j){var i=this.getFile(j);if(i){this.uploader.removeFile(i)}},clearQueue:function(){this.uploader.splice()},getUploader:function(){return this.uploader},refresh:function(){this.uploader.refresh()},_handleState:function(){var j=this,i=this.uploader;if(i.state===c.STARTED){g(j.start_button).button("disable");g([]).add(j.stop_button).add(".plupload_started").removeClass("plupload_hidden");g(".plupload_upload_status",j.element).html(b("Uploaded %d/%d files").replace("%d/%d",i.total.uploaded+"/"+i.files.length));g(".plupload_header_content",j.element).addClass("plupload_header_content_bw")}else{g([]).add(j.stop_button).add(".plupload_started").addClass("plupload_hidden");if(j.options.multiple_queues){g(j.start_button).button("enable");g(".plupload_header_content",j.element).removeClass("plupload_header_content_bw")}j._updateFileList()}},_handleFileStatus:function(l){var n,j;if(!g("#"+l.id).length){return}switch(l.status){case c.DONE:n="plupload_done";j="ui-icon ui-icon-circle-check";break;case c.FAILED:n="ui-state-error plupload_failed";j="ui-icon ui-icon-alert";break;case c.QUEUED:n="plupload_delete";j="ui-icon ui-icon-circle-minus";break;case c.UPLOADING:n="ui-state-highlight plupload_uploading";j="ui-icon ui-icon-circle-arrow-w";var i=g(".plupload_scroll",this.container),m=i.scrollTop(),o=i.height(),k=g("#"+l.id).position().top+g("#"+l.id).height();if(o'}i+='';i+='';l++;k.counter.val(l)}m.append(''+p.name+''+p.percent+'%'+c.formatSize(p.size)+'
      '+i+"");k._handleFileStatus(p);g("#"+p.id+".plupload_delete .ui-icon, #"+p.id+".plupload_done .ui-icon").click(function(r){g("#"+p.id).remove();j.removeFile(p);r.preventDefault()});k._trigger("updatelist",null,m)});if(j.total.queued===0){g(".ui-button-text",k.browse_button).html(b("Add Files"))}else{g(".ui-button-text",k.browse_button).html(b("%d files queued").replace("%d",j.total.queued))}if(j.files.length===(j.total.uploaded+j.total.failed)){k.start_button.button("disable")}else{k.start_button.button("enable")}m[0].scrollTop=m[0].scrollHeight;k._updateTotalProgress();if(!j.files.length&&j.features.dragdrop&&j.settings.dragdrop){g("#"+o+"_filelist").append(''+b("Drag files here.")+"")}else{if(k.options.sortable&&g.ui.sortable){k._enableSortingList()}}},_enableRenaming:function(){var i=this;this.filelist.on("click",".plupload_delete .plupload_file_name span",function(o){var m=g(o.target),k,n,j,l="";k=i.uploader.getFile(m.parents("tr")[0].id);j=k.name;n=/^(.+)(\.[^.]+)$/.exec(j);if(n){j=n[1];l=n[2]}m.hide().after('');m.next().val(j).focus().blur(function(){m.show().next().remove()}).keydown(function(q){var p=g(this);if(g.inArray(q.keyCode,[13,27])!==-1){q.preventDefault();if(q.keyCode===13){k.name=p.val()+l;m.html(k.name)}p.blur()}})})},_enableDragAndDrop:function(){this.filelist.append(''+b("Drag files here.")+"");this.filelist.parent().attr("id",this.id+"_dropbox");this.uploader.settings.drop_element=this.options.drop_element=this.id+"_dropbox"},_enableSortingList:function(){var j,i=this;if(g("tbody tr",this.filelist).length<2){return}g("tbody",this.filelist).sortable({containment:"parent",items:".plupload_delete",helper:function(l,k){return k.clone(true).find("td:not(.plupload_file_name)").remove().end().css("width","100%")},stop:function(p,o){var l,n,k,m=[];g.each(g(this).sortable("toArray"),function(q,r){m[m.length]=i.uploader.getFile(r)});m.unshift(m.length);m.unshift(0);Array.prototype.splice.apply(i.uploader.files,m)}})},notify:function(j,k){var i=g('

      '+k+"

      ");i.addClass("ui-state-"+(j==="error"?"error":"highlight")).find("p .ui-icon").addClass("ui-icon-"+(j==="error"?"alert":"info")).end().find(".plupload_message_close").click(function(){i.remove()}).end();g(".plupload_header_content",this.container).append(i)},destroy:function(){g(".plupload_button",this.element).unbind();if(g.ui.button){g(".plupload_add, .plupload_start, .plupload_stop",this.container).button("destroy")}if(g.ui.progressbar){this.progressbar.progressbar("destroy")}if(g.ui.sortable&&this.options.sortable){g("tbody",this.filelist).sortable("destroy")}this.uploader.destroy();this.element.empty().html(this.contents_bak);this.contents_bak="";g.Widget.prototype.destroy.apply(this)}})}(window,document,plupload,jQuery)); \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/assets/plupload/plupload.browserplus.js b/packages/phocadownload/components/com_phocadownload/assets/plupload/plupload.browserplus.js new file mode 100644 index 00000000..e66404bd --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/assets/plupload/plupload.browserplus.js @@ -0,0 +1 @@ +(function(a){a.runtimes.BrowserPlus=a.addRuntime("browserplus",{getFeatures:function(){return{dragdrop:true,jpgresize:true,pngresize:true,chunks:true,progress:true,multipart:true,multi_selection:true}},init:function(g,i){var e=window.BrowserPlus,h={},d=g.settings,c=d.resize;function f(n){var m,l,j=[],k,o;for(l=0;l0){r(++t,v)}else{k.status=a.DONE;n.trigger("FileUploaded",k,{response:x.value.body,status:w});if(w>=400){n.trigger("Error",{code:a.HTTP_ERROR,message:a.translate("HTTP Error."),file:k,status:w})}}}else{n.trigger("Error",{code:a.GENERIC_ERROR,message:a.translate("Generic Error."),file:k,details:x.error})}})}function q(t){k.size=t.size;if(l){e.FileAccess.chunk({file:t,chunkSize:l},function(w){if(w.success){var x=w.value,u=x.length;o=Array(u);for(var v=0;v';if(d.ua.ie){q=b.createElement("div");l.appendChild(q);q.outerHTML=p;q=null}else{l.innerHTML=p}}());function n(){return b.getElementById(m.id+"_flash")}function j(){if(h++>5000){o({success:false});return}if(g[m.id]===false){setTimeout(j,1)}}j();k=l=null;m.bind("Destroy",function(p){var q;d.removeAllEvents(b.body,p.id);delete g[p.id];delete a[p.id];q=b.getElementById(p.id+"_flash_container");if(q){q.parentNode.removeChild(q)}});m.bind("Flash:Init",function(){var r={},q;try{n().setFileFilters(m.settings.filters,m.settings.multi_selection)}catch(p){o({success:false});return}if(g[m.id]){return}g[m.id]=true;m.bind("UploadFile",function(s,u){var v=s.settings,t=m.settings.resize||{};n().uploadFile(r[u.id],v.url,{name:u.target_name||u.name,mime:d.mimeTypes[u.name.replace(/^.+\.([^.]+)/,"$1").toLowerCase()]||"application/octet-stream",chunk_size:v.chunk_size,width:t.width,height:t.height,quality:t.quality,multipart:v.multipart,multipart_params:v.multipart_params||{},file_data_name:v.file_data_name,format:/\.(jpg|jpeg)$/i.test(u.name)?"jpg":"png",headers:v.headers,urlstream_upload:v.urlstream_upload})});m.bind("CancelUpload",function(){n().cancelUpload()});m.bind("Flash:UploadProcess",function(t,s){var u=t.getFile(r[s.id]);if(u.status!=d.FAILED){u.loaded=s.loaded;u.size=s.size;t.trigger("UploadProgress",u)}});m.bind("Flash:UploadChunkComplete",function(s,u){var v,t=s.getFile(r[u.id]);v={chunk:u.chunk,chunks:u.chunks,response:u.text};s.trigger("ChunkUploaded",t,v);if(t.status!==d.FAILED&&s.state!==d.STOPPED){n().uploadNextChunk()}if(u.chunk==u.chunks-1){t.status=d.DONE;s.trigger("FileUploaded",t,{response:u.text})}});m.bind("Flash:SelectFiles",function(s,v){var u,t,w=[],x;for(t=0;t0;u=Math.ceil(q.size/r);if(!n){r=q.size;u=1}function o(){var B,x=t.settings.multipart,w=0,A={name:q.target_name||q.name},y=t.settings.url;function z(D){var C,I="----pluploadboundary"+c.guid(),F="--",H="\r\n",E,G;if(x){h.setRequestHeader("Content-Type","multipart/form-data; boundary="+I);C=google.gears.factory.create("beta.blobbuilder");c.each(c.extend(A,t.settings.multipart_params),function(K,J){C.append(F+I+H+'Content-Disposition: form-data; name="'+J+'"'+H+H);C.append(K+H)});G=c.mimeTypes[q.name.replace(/^.+\.([^.]+)/,"$1").toLowerCase()]||"application/octet-stream";C.append(F+I+H+'Content-Disposition: form-data; name="'+t.settings.file_data_name+'"; filename="'+q.name+'"'+H+"Content-Type: "+G+H+H);C.append(D);C.append(H+F+I+F+H);E=C.getAsBlob();w=E.length-D.length;D=E}h.send(D)}if(q.status==c.DONE||q.status==c.FAILED||t.state==c.STOPPED){return}if(n){A.chunk=v;A.chunks=u}B=Math.min(r,q.size-(v*r));if(!x){y=c.buildUrl(t.settings.url,A)}h=google.gears.factory.create("beta.httprequest");h.open("POST",y);if(!x){h.setRequestHeader("Content-Disposition",'attachment; filename="'+q.name+'"');h.setRequestHeader("Content-Type","application/octet-stream")}c.each(t.settings.headers,function(D,C){h.setRequestHeader(C,D)});h.upload.onprogress=function(C){q.loaded=s+C.loaded-w;t.trigger("UploadProgress",q)};h.onreadystatechange=function(){var C;if(h.readyState==4&&t.state!==c.STOPPED){if(h.status==200){C={chunk:v,chunks:u,response:h.responseText,status:h.status};t.trigger("ChunkUploaded",q,C);if(C.cancelled){q.status=c.FAILED;return}s+=B;if(++v>=u){q.status=c.DONE;t.trigger("FileUploaded",q,{response:h.responseText,status:h.status})}else{o()}}else{t.trigger("Error",{code:c.HTTP_ERROR,message:c.translate("HTTP Error."),file:q,chunk:v,chunks:u,status:h.status})}}};if(v
      ' - .'
      '; - - -// - - - - - - - - - - -// Most viewed docs (files) -// - - - - - - - - - - -$outputFile = ''; - -if (!empty($this->t['mostvieweddocs']) && $this->t['displaymostdownload'] == 1) { - $l = new PhocaDownloadLayout(); - foreach ($this->t['mostvieweddocs'] as $value) { - // USER RIGHT - Access of categories (if file is included in some not accessed category) - - - - - - // ACCESS is handled in SQL query, ACCESS USER ID is handled here (specific users) - $rightDisplay = 0; - if (!empty($value)) { - $rightDisplay = PhocaDownloadAccess::getUserRight('accessuserid', $value->cataccessuserid, $value->cataccess, $this->t['user']->getAuthorisedViewLevels(), $this->t['user']->get('id', 0), 0); - } - // - - - - - - - - - - - - - - - - - - - - - - - - if ($rightDisplay == 1) { - // FILESIZE - if ($value->filename !='') { - $absFile = str_replace('/', DS, JPath::clean($this->t['absfilepath'] . $value->filename)); - if (JFile::exists($absFile)) { - $fileSize = PhocaDownloadFile::getFileSizeReadable(filesize($absFile)); - } else { - $fileSize = ''; - } - } - - // IMAGE FILENAME - //$imageFileName = ''; - //if ($value->image_filename !='') { - $imageFileName = $l->getImageFileName($value->image_filename, $value->filename, 2); - /*$thumbnail = false; - $thumbnail = preg_match("/phocathumbnail/i", $value->image_filename); - if ($thumbnail) { - $imageFileName = ''; - } else { - $imageFileName = 'style="background: url(\''.$this->t['cssimgpath'].$value->image_filename.'\') 0 center no-repeat;"'; - }*/ - //} - - //$outputFile .= '
      '; - - $outputFile .= '
      '. $imageFileName['filenamethumb'] - . '
      '; - - $outputFile .= ''. $value->title.'' - .' (' .$value->categorytitle.')'; - - $outputFile .= PhocaDownloadRenderFront::displayNewIcon($value->date, $this->t['displaynew']); - $outputFile .= PhocaDownloadRenderFront::displayHotIcon($value->hits, $this->t['displayhot']); - - $outputFile .= '
      ' . "\n"; - } - } - - if ($outputFile != '') { - echo '
       
      '; - echo '
      '; - echo '

      '. JText::_('COM_PHOCADOWNLOAD_MOST_DOWNLOADED_FILES').'

      '; - echo $outputFile; - echo '
      '; - } -} -echo '
       
      '; -echo $this->t['dw']; -?> +t['p']->get( 'pageclass_sfx' ).'">'; + +if ( $this->t['p']->get( 'show_page_heading' ) ) { + echo '

      '. $this->escape($this->t['p']->get('page_heading')) . '

      '; +} + +if ( $this->t['description'] != '') { + echo '
      '. $this->t['description']. '
      '; +} + + +if (!empty($this->t['categories'])) { + $i = 1; + foreach ($this->t['categories'] as $value) { + + // Categories + $numDoc = 0; + $numSubcat = 0; + $catOutput = ''; + if (!empty($value->subcategories)) { + foreach ($value->subcategories as $valueCat) { + + // USER RIGHT - Access of categories - - - - - + // ACCESS is handled in SQL query, ACCESS USER ID is handled here (specific users) + $rightDisplay = 0; + if (!empty($valueCat)) { + $rightDisplay = PhocaDownloadAccess::getUserRight('accessuserid', $valueCat->accessuserid, $valueCat->access, $this->t['user']->getAuthorisedViewLevels(), $this->t['user']->get('id', 0), 0); + + } + // - - - - - - - - - - - - - - - - - - - - - - + + if ($rightDisplay == 1) { + + $catOutput .= '
      '; + $catOutput .= ''. $valueCat->title.''; + + if ($this->t['displaynumdocsecs'] == 1) { + $catOutput .=' ('.$valueCat->numdoc .')'; + } + $catOutput .= '
      ' . "\n"; + $numDoc = (int)$valueCat->numdoc + (int)$numDoc; + $numSubcat++; + } + } + } + + // Don't display parent category + // - if there is no catoutput + // - if there is no rigths for it + + // USER RIGHT - Access of parent category - - - - - + // ACCESS is handled in SQL query, ACCESS USER ID is handled here (specific users) + $rightDisplay = 0; + if (!empty($value)) { + $rightDisplay = PhocaDownloadAccess::getUserRight('accessuserid', $value->accessuserid, $value->access, $this->t['user']->getAuthorisedViewLevels(), $this->t['user']->get('id', 0), 0); + + } + // - - - - - - - - - - - - - - - - - - - - - - + + if ($rightDisplay == 1) { + +// ===================================================================================== +// BEGIN LAYOUT AREA +// ===================================================================================== + + $pdTitle = ''. $value->title.''; + + if ($this->t['displaynumdocsecsheader'] == 1) { + $numDocAll = (int)$numDoc + (int)$value->numdoc; + //$numDoc ... only files in subcategories + //$value->numdoc ... only files in the main category + //$numDocAll ... files in category and in subcategories + $pdTitle .= ' ('.$numSubcat.'/' . $numDocAll .')'; + } + + + $pdDesc = ''; + $pdSubcategories = ''; + if ($this->t['displaymaincatdesc'] == 1) { + $pdDesc .= $value->description; + } else { + if ($catOutput != '') { + $pdSubcategories .= $catOutput; + } else { + $pdSubcategories .= '
      '.JText::_('COM_PHOCADOWNLOAD_NO_SUBCATEGORIES').'
      '; + } + } + + $pdClear = ''; + if ($i%3==0) { + $pdClear .= '
      '; + } + $i++; + + + + + // --------------------------------------------------- + //Convert + // --------------------------------------------------- + if ($this->t['display_specific_layout'] == 0) { + echo '
      '; + echo '
      '.$pdTitle.'
      '; + if ($pdDesc != '') { echo '
      '.$pdDesc.'
      ';} + echo $pdSubcategories; + echo '
      '; + echo $pdClear; + } else { + $categoriesLayout = PhocaDownloadSettings::getLayoutText('categories'); + + /*'
      +
      {pdtitle}
      + {pdsubcategories} + {pdclear} +
      '; + //
      {pdDescription}
      */ + + $categoriesLayoutParams = PhocaDownloadSettings::getLayoutParams('categories'); + + $replace = array($pdTitle, $pdDesc, $pdSubcategories, $pdClear); + $output = str_replace($categoriesLayoutParams['search'], $replace, $categoriesLayout); + + echo $output; + } + } + } +} +echo '
      ' + .'
      '; + + +// - - - - - - - - - - +// Most viewed docs (files) +// - - - - - - - - - - +$outputFile = ''; + +if (!empty($this->t['mostvieweddocs']) && $this->t['displaymostdownload'] == 1) { + $l = new PhocaDownloadLayout(); + foreach ($this->t['mostvieweddocs'] as $value) { + // USER RIGHT - Access of categories (if file is included in some not accessed category) - - - - - + // ACCESS is handled in SQL query, ACCESS USER ID is handled here (specific users) + $rightDisplay = 0; + if (!empty($value)) { + $rightDisplay = PhocaDownloadAccess::getUserRight('accessuserid', $value->cataccessuserid, $value->cataccess, $this->t['user']->getAuthorisedViewLevels(), $this->t['user']->get('id', 0), 0); + } + // - - - - - - - - - - - - - - - - - - - - - - + + if ($rightDisplay == 1) { + // FILESIZE + if ($value->filename !='') { + $absFile = str_replace('/', DS, JPath::clean($this->t['absfilepath'] . $value->filename)); + if (JFile::exists($absFile)) { + $fileSize = PhocaDownloadFile::getFileSizeReadable(filesize($absFile)); + } else { + $fileSize = ''; + } + } + + // IMAGE FILENAME + //$imageFileName = ''; + //if ($value->image_filename !='') { + $imageFileName = $l->getImageFileName($value->image_filename, $value->filename, 2); + /*$thumbnail = false; + $thumbnail = preg_match("/phocathumbnail/i", $value->image_filename); + if ($thumbnail) { + $imageFileName = ''; + } else { + $imageFileName = 'style="background: url(\''.$this->t['cssimgpath'].$value->image_filename.'\') 0 center no-repeat;"'; + }*/ + //} + + //$outputFile .= '
      '; + + $outputFile .= '
      '. $imageFileName['filenamethumb'] + . '
      '; + + $outputFile .= ''. $value->title.'' + .' (' .$value->categorytitle.')'; + + $outputFile .= PhocaDownloadRenderFront::displayNewIcon($value->date, $this->t['displaynew']); + $outputFile .= PhocaDownloadRenderFront::displayHotIcon($value->hits, $this->t['displayhot']); + + $outputFile .= '
      ' . "\n"; + } + } + + if ($outputFile != '') { + echo '
       
      '; + echo '
      '; + echo '

      '. JText::_('COM_PHOCADOWNLOAD_MOST_DOWNLOADED_FILES').'

      '; + echo $outputFile; + echo '
      '; + } +} +echo '
       
      '; +echo $this->t['dev']; +?> diff --git a/packages/phocadownload/components/com_phocadownload/views/categories/tmpl/default.xml b/packages/phocadownload/components/com_phocadownload/views/categories/tmpl/default.xml index 13624692..f3eb60c4 100644 --- a/packages/phocadownload/components/com_phocadownload/views/categories/tmpl/default.xml +++ b/packages/phocadownload/components/com_phocadownload/views/categories/tmpl/default.xml @@ -13,16 +13,21 @@
      - + - + + + + + +
      diff --git a/packages/phocadownload/components/com_phocadownload/views/categories/tmpl/default_bootstrap.php b/packages/phocadownload/components/com_phocadownload/views/categories/tmpl/default_bootstrap.php new file mode 100644 index 00000000..1e20578f --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/views/categories/tmpl/default_bootstrap.php @@ -0,0 +1,170 @@ +t['p']->get( 'pageclass_sfx' ).'">'; + +if ( $this->t['p']->get( 'show_page_heading' ) ) { + echo '

      '. $this->escape($this->t['p']->get('page_heading')) . '

      '; +} + +if ( $this->t['description'] != '') { + echo '
      '. $this->t['description']. '
      '; +} + + +if (!empty($this->t['categories'])) { + //$i = 1; + echo '
      '; + foreach ($this->t['categories'] as $value) { + + // Categories + $numDoc = 0; + $numSubcat = 0; + $catOutput = ''; + if (!empty($value->subcategories)) { + foreach ($value->subcategories as $valueCat) { + + // USER RIGHT - Access of categories - - - - - + // ACCESS is handled in SQL query, ACCESS USER ID is handled here (specific users) + $rightDisplay = 0; + if (!empty($valueCat)) { + $rightDisplay = PhocaDownloadAccess::getUserRight('accessuserid', $valueCat->accessuserid, $valueCat->access, $this->t['user']->getAuthorisedViewLevels(), $this->t['user']->get('id', 0), 0); + + } + // - - - - - - - - - - - - - - - - - - - - - - + + if ($rightDisplay == 1) { + + $catOutput .= '
      '; + $catOutput .= ''. $valueCat->title.''; + + if ($this->t['displaynumdocsecs'] == 1) { + $catOutput .=' ('.$valueCat->numdoc .')'; + } + $catOutput .= '
      ' . "\n"; + $numDoc = (int)$valueCat->numdoc + (int)$numDoc; + $numSubcat++; + } + } + } + + // Don't display parent category + // - if there is no catoutput + // - if there is no rigths for it + + // USER RIGHT - Access of parent category - - - - - + // ACCESS is handled in SQL query, ACCESS USER ID is handled here (specific users) + $rightDisplay = 0; + if (!empty($value)) { + $rightDisplay = PhocaDownloadAccess::getUserRight('accessuserid', $value->accessuserid, $value->access, $this->t['user']->getAuthorisedViewLevels(), $this->t['user']->get('id', 0), 0); + + } + // - - - - - - - - - - - - - - - - - - - - - - + + if ($rightDisplay == 1) { + + + echo '
      '; + echo '
      '; + echo '

      '; + echo ''. $value->title.''; + + if ($this->t['displaynumdocsecsheader'] == 1) { + $numDocAll = (int)$numDoc + (int)$value->numdoc; + //$numDoc ... only files in subcategories + //$value->numdoc ... only files in the main category + //$numDocAll ... files in category and in subcategories + echo ' ('.$numSubcat.'/' . $numDocAll .')'; + } + echo '

      '; + + if ($this->t['displaymaincatdesc'] == 1) { + echo '
      '.$value->description.'
      '; + } else { + if ($catOutput != '') { + echo '
      '.$catOutput. '
      '; + } else { + echo '
      '.JText::_('COM_PHOCADOWNLOAD_NO_SUBCATEGORIES').'
      '; + } + } + + echo '
      '; + + } + } + echo '
      ';// end row +} +echo '
      '; +echo '
      '; + + +// - - - - - - - - - - +// Most viewed docs (files) +// - - - - - - - - - - +$outputFile = ''; + +if (!empty($this->t['mostvieweddocs']) && $this->t['displaymostdownload'] == 1) { + $l = new PhocaDownloadLayout(); + foreach ($this->t['mostvieweddocs'] as $value) { + // USER RIGHT - Access of categories (if file is included in some not accessed category) - - - - - + // ACCESS is handled in SQL query, ACCESS USER ID is handled here (specific users) + $rightDisplay = 0; + if (!empty($value)) { + $rightDisplay = PhocaDownloadAccess::getUserRight('accessuserid', $value->cataccessuserid, $value->cataccess, $this->t['user']->getAuthorisedViewLevels(), $this->t['user']->get('id', 0), 0); + } + // - - - - - - - - - - - - - - - - - - - - - - + + if ($rightDisplay == 1) { + // FILESIZE + if ($value->filename !='') { + $absFile = str_replace('/', DS, JPath::clean($this->t['absfilepath'] . $value->filename)); + if (JFile::exists($absFile)) { + $fileSize = PhocaDownloadFile::getFileSizeReadable(filesize($absFile)); + } else { + $fileSize = ''; + } + } + + // IMAGE FILENAME + //$imageFileName = ''; + //if ($value->image_filename !='') { + $imageFileName = $l->getImageFileName($value->image_filename, $value->filename, 2); + /*$thumbnail = false; + $thumbnail = preg_match("/phocathumbnail/i", $value->image_filename); + if ($thumbnail) { + $imageFileName = ''; + } else { + $imageFileName = 'style="background: url(\''.$this->t['cssimgpath'].$value->image_filename.'\') 0 center no-repeat;"'; + }*/ + //} + + //$outputFile .= '
      '; + + $outputFile .= '
      '. $imageFileName['filenamethumb'] + . '
      '; + + $outputFile .= ''. $value->title.'' + .' (' .$value->categorytitle.')'; + + $outputFile .= PhocaDownloadRenderFront::displayNewIcon($value->date, $this->t['displaynew']); + $outputFile .= PhocaDownloadRenderFront::displayHotIcon($value->hits, $this->t['displayhot']); + + $outputFile .= '
      ' . "\n"; + } + } + + if ($outputFile != '') { + echo '
       
      '; + echo '
      '; + echo '

      '. JText::_('COM_PHOCADOWNLOAD_MOST_DOWNLOADED_FILES').'

      '; + echo $outputFile; + echo '
      '; + } +} +echo '
       
      '; +echo $this->t['dev']; +?> diff --git a/packages/phocadownload/components/com_phocadownload/views/categories/view.html.php b/packages/phocadownload/components/com_phocadownload/views/categories/view.html.php index 23a55ea8..f6db2cdb 100644 --- a/packages/phocadownload/components/com_phocadownload/views/categories/view.html.php +++ b/packages/phocadownload/components/com_phocadownload/views/categories/view.html.php @@ -20,12 +20,11 @@ class PhocaDownloadViewCategories extends JViewLegacy $app = JFactory::getApplication(); $model = $this->getModel(); $document = JFactory::getDocument(); - $this->t['dw'] = PhocaDownloadRenderFront::renderPhocaDownload(); $this->t['p'] = $app->getParams(); $this->t['user'] = JFactory::getUser(); $this->t['categories'] = $model->getCategoriesList(); $this->t['mostvieweddocs'] = $model->getMostViewedDocsList($this->t['p']); - + $this->t['dev'] = PhocaDownloadRenderFront::renderPhocaDownload(); $this->t['displaynew'] = $this->t['p']->get( 'display_new', 0 ); $this->t['displayhot'] = $this->t['p']->get( 'display_hot', 0 ); $this->t['displaymostdownload'] = $this->t['p']->get( 'display_most_download', 1 ); @@ -38,6 +37,34 @@ class PhocaDownloadViewCategories extends JViewLegacy $this->t['displaymaincatdesc'] = $this->t['p']->get( 'display_main_cat_desc', 0 ); $this->t['display_specific_layout'] = $this->t['p']->get( 'display_specific_layout', 0 ); + + + + // Bootstrap 3 Layout + $this->tmpl['display_bootstrap3_layout'] = $this->t['p']->get( 'display_bootstrap3_layout', 0 ); + if ($this->tmpl['display_bootstrap3_layout'] == 1) { + + JHtml::_('jquery.framework', false); + JHTML::stylesheet('media/com_phocadownload/bootstrap/css/bootstrap.min.css' ); + JHTML::stylesheet('media/com_phocadownload/bootstrap/css/bootstrap.extended.css' ); + // Loaded by jquery.framework; + $document->addScript(JURI::root(true).'/media/com_phocadownload/bootstrap/js/bootstrap.min.js'); + + + $document->addScript(JURI::root(true).'/media/com_phocadownload/js/jquery.matchHeight.js'); + $document->addScriptDeclaration( + 'jQuery(window).load(function(){ + jQuery(\'.ph-thumbnail\').matchHeight(); + });'); + + /*$document->addScript(JURI::root(true).'/media/com_phocadownload/js/jquery.equalheights.min.js'); + $document->addScriptDeclaration( + 'jQuery(window).load(function(){ + jQuery(\'.ph-thumbnail\').equalHeights(); + });');*/ + + } + PhocaDownloadRenderFront::renderAllCSS(); $imagePath = PhocaDownloadPath::getPathSet('icon'); @@ -46,7 +73,11 @@ class PhocaDownloadViewCategories extends JViewLegacy $this->t['absfilepath'] = $filePath['orig_abs_ds']; $this->_prepareDocument(); - parent::display($tpl); + if ($this->tmpl['display_bootstrap3_layout'] == 1) { + parent::display('bootstrap'); + } else { + parent::display($tpl); + } } diff --git a/packages/phocadownload/components/com_phocadownload/views/category/metadata.xml b/packages/phocadownload/components/com_phocadownload/views/category/metadata.xml index 5c8f97c3..ec67014e 100644 --- a/packages/phocadownload/components/com_phocadownload/views/category/metadata.xml +++ b/packages/phocadownload/components/com_phocadownload/views/category/metadata.xml @@ -1,6 +1,6 @@ - - - - - + + + + + \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/views/category/tmpl/default.php b/packages/phocadownload/components/com_phocadownload/views/category/tmpl/default.php index fb411570..2f4ba3b0 100644 --- a/packages/phocadownload/components/com_phocadownload/views/category/tmpl/default.php +++ b/packages/phocadownload/components/com_phocadownload/views/category/tmpl/default.php @@ -1,16 +1,339 @@ t['p']->get( 'pageclass_sfx' ).'">'; +echo ""; + +if ($this->category[0]->id == 41) { + echo ''; +} + +if (isset($_GET['program']) && $_GET['program'] == 1) { + echo ''; +} + +echo ''; + +echo '
      '; + +$rgn .= isset($_GET['rgn']) ? '&rgn=' . $_GET['rgn'] : '&rgn=Int'; + +if ($this->t['p']->get('show_page_heading')) { + echo '

      ' . $this->escape($this->t['p']->get('page_heading')) . '

      '; } // Search by tags - the category rights must be checked for every file $this->checkRights = 1; // ------------------------------------------------------------------- if ((int)$this->t['tagid'] > 0) { - + echo $this->loadTemplate('files'); $this->checkRights = 1; if (count($this->files)) { @@ -20,10 +343,10 @@ if ((int)$this->t['tagid'] > 0) { if (!empty($this->category[0])) { echo '
      '; if ($this->t['display_up_icon'] == 1) { - + if (isset($this->category[0]->parentid)) { if ($this->category[0]->parentid == 0) { - + $linkUp = JRoute::_(PhocaDownloadRoute::getCategoriesRoute()); $linkUpText = JText::_('COM_PHOCADOWNLOAD_CATEGORIES'); } else if ($this->category[0]->parentid > 0) { @@ -31,12 +354,12 @@ if ((int)$this->t['tagid'] > 0) { $linkUpText = $this->category[0]->parenttitle; } else { $linkUp = '#'; - $linkUpText = ''; + $linkUpText = ''; } echo ''; + . '' + . JHTML::_('image', $this->t['mediapath']->media_img_rel . 'up.png', JText::_('COM_PHOCADOWNLOAD_UP')) + . '
      '; } } } else { @@ -44,7 +367,247 @@ if ((int)$this->t['tagid'] > 0) { } if (!empty($this->category[0])) { - + $warehouseParam = ''; + if ($this->t['scaleParam'] != '') + $warehouseParam = preg_replace('/&/', '?', $this->t['scaleParam'], 1); + + if (isset($_GET['program'])) { + $warehouseParam .= isset($_GET['rgn']) ? '&rgn=' . $_GET['rgn'] : '&rgn=Int'; + } else { + $warehouseParam .= isset($_GET['rgn']) ? '?rgn=' . $_GET['rgn'] : '?rgn=Int'; + } + + if (isset($_GET['rgn']) && $_GET['rgn'] == 'Cn') { + $img = '/public/images/cloud_library/gstar_bim_logo.png'; + } else { + $img = '/public/images/cloud_library/ARCHLineXP_logo_ARCHITECT_2017_big_cube_no_text.jpg'; + } + + echo '
      '; + echo '
      '; + echo '
      '; + echo ''; + echo '
      '; + + if (!isset($_GET['rgn']) || $_GET['rgn'] != 'Cn') { + echo '
      '; + if ($this->t['user']->id > 0) { + echo ''; + } else { + echo ''; + echo ''; + } + echo '
      '; + echo '
      '; + } + + echo '
      '; + echo '
      '; + + $modelsActive = $this->t['brandClass'] != '' ? 'active-link' : ''; + $brandActive = $this->t['brandClass'] == '' ? 'active-link' : ''; + $AlParam = isset($_GET['program']) && $_GET['program'] == '1' ? '&program=' . $_GET['program'] : ''; + $AlParam .= isset($_GET['rgn']) ? '&rgn=' . $_GET['rgn'] : 'rgn=Int'; + + echo '
      '; + echo '
      '; + echo '' . JText::_('COM_PHOCADOWNLOAD_DOWNLOAD_MODELS') . ''; + echo '
      '; + echo '
      '; + echo '' . JText::_('COM_PHOCADOWNLOAD_DOWNLOAD_BRANDS') . ''; + echo '
      '; + echo '
      '; + + echo ''; + echo '
      '; + echo '
      '; + echo '
      '; + echo '
      '; + echo '
      '; + echo '
      '; + + if ($this->category[0]->id == 41 && !isset($_GET['brand']) && !isset($_GET['category'])) { + if ($this->t['background']) { + echo '
      '; + echo ''; + echo ''; + echo '
      '; + } + + echo '

      ' . $this->t['desc'] . '

      '; + } else { + echo '
      '; + echo ''; + echo '
      '; + } + + echo '
      '; + echo '
      '; + echo '
      '; // USER RIGHT - Access of categories (if file is included in some not accessed category) - - - - - // ACCESS is handled in SQL query, ACCESS USER ID is handled here (specific users) $rightDisplay = 0; @@ -55,36 +618,149 @@ if ((int)$this->t['tagid'] > 0) { if ($rightDisplay == 1) { $this->checkRights = 0; $l = new PhocaDownloadLayout(); - - echo '

      '.$this->category[0]->title. '

      '; + + if ($this->category[0]->id != 41) { + echo '
      '; + + echo ''; + + echo '
      '; + echo '
      '; + echo ''; + echo '
      '; + echo '
      '; + + echo '
      '; + echo '
      '; + echo ''; + echo '
      '; + echo '
      '; + + if (!empty($this->files) && count($this->files) > 1 && isset($_GET['program']) && $_GET['program'] == '1') { + echo ''; + } + + echo '
      '; + + echo '
      '; + echo '
      '; + } + + // Old + // echo '

      ' . $this->category[0]->title . '

      '; // Description /*if ($l->isValueEditor($this->category[0]->description)) { echo '
      '.$this->category[0]->description.'
      '; }*/ - + + + + if ($this->t['no_result'] || (empty($this->files) && empty($this->subcategories))) { + echo '
      '; + echo '

      ' . JText::_('COM_PHOCADOWNLOAD_CLOUD_LIBRARY_NO_RESULT') . '

      '; + echo '
      '; + } + + if (count($this->category[0])) { + echo $this->loadTemplate('pagination'); + } + + // New + if (true && !empty($this->subcategories)) { + $folderClass = $this->category[0]->id != 41 ? 'folder-row' : ''; + $itemClass = $this->category[0]->id != 41 ? 'item-row' : ''; + $AlParam = isset($_GET['program']) && $_GET['program'] == '1' ? '&program=' . $_GET['program'] : ''; + $AlParam .= isset($_GET['rgn']) ? '&rgn=' . $_GET['rgn'] : 'rgn=Int'; + $i = 1; + $imgClass = ''; + + echo '
      '; + foreach ($this->subcategories as $valueSubCat) { + if ($i % 8 == 1) + echo '
      '; + + echo '
      '; + echo ''; + + if (file_exists($_SERVER['DOCUMENT_ROOT'] . '/public/images/cloud_library/' . $valueSubCat->alias . '.png') && ($this->category[0]->id == 41 || $this->category[0]->parentid == 41)) { + if ($valueSubCat->catTitle != '') { + $titles = json_decode($valueSubCat->catTitle); + $title = $this->t['lang'] == 'hu-HU' ? $titles->hun : $titles->eng; + } else { + $title = $valueSubCat->title; + } + + if ($this->category[0]->id != 41) { + $imgClass = ' sub-img'; + } + + echo ''; + echo ''; + echo '

      ' . $title . '

      '; + } else { + if ($this->category[0]->parentid == 41 || $this->category[0]->id == 41) { + echo ''; + echo ''; + echo '

      ' . $valueSubCat->title . '

      '; + } else { + // Folder css + /*echo '
      '; + echo '
      '; + echo $valueSubCat->title; + echo '
      '; + echo '
      '; + echo '';*/ + echo ''; + echo ''; + echo '

      ' . $valueSubCat->title . '

      '; + } + } + echo '
      '; + + if ($i % 8 == 0) + echo '
      '; + + $i++; + } + echo '
      '; + echo '
      '; + } + // Description - if ($l->isValueEditor($this->category[0]->description)) { + if ($l->isValueEditor($this->category[0]->description)) { echo '
      '; echo JHTML::_('content.prepare', $this->category[0]->description); echo '
      '; - } + } // Subcategories - - if (!empty($this->subcategories)) { + + // Old + if (false) { foreach ($this->subcategories as $valueSubCat) { - echo '
      '; - echo ''. $valueSubCat->title.''; - echo ' ('.$valueSubCat->numdoc.')
      ' . "\n"; + echo '' . $valueSubCat->title . ''; + + // Old + //echo ' (' . $valueSubCat->numdoc . ')
      ' . "\n"; + + // New + echo '
      ' . "\n"; $subcategory = 1; + + echo '
      '; } - - echo '
      '; } - + // ===================================================================================== // BEGIN LAYOUT AREA // ===================================================================================== @@ -94,27 +770,27 @@ if ((int)$this->t['tagid'] > 0) { // ===================================================================================== // END LAYOUT AREA // ===================================================================================== - - if (count($this->category[0])) { + + /*if (count($this->category[0])) { echo $this->loadTemplate('pagination'); - } - + }*/ + if ($this->t['display_category_comments'] == 1) { if (JComponentHelper::isEnabled('com_jcomments', true)) { - include_once(JPATH_BASE.DS.'components'.DS.'com_jcomments'.DS.'jcomments.php'); - echo JComments::showComments($this->category[0]->id, 'com_phocadownload', JText::_('COM_PHOCADOWNLOAD_CATEGORY') .' '. $this->category[0]->title); + include_once(JPATH_BASE . DS . 'components' . DS . 'com_jcomments' . DS . 'jcomments.php'); + echo JComments::showComments($this->category[0]->id, 'com_phocadownload', JText::_('COM_PHOCADOWNLOAD_CATEGORY') . ' ' . $this->category[0]->title); } } - + if ($this->t['display_category_comments'] == 2) { - echo '
      '.$this->loadTemplate('comments-fb').'
      '; + echo '
      ' . $this->loadTemplate('comments-fb') . '
      '; } - } else { - echo '

      '.JText::_('COM_PHOCADOWNLOAD_CATEGORY'). '

      '; - echo '
      '.JText::_('COM_PHOCADOWNLOAD_NO_RIGHTS_ACCESS_CATEGORY').'
      '; + echo '

      ' . JText::_('COM_PHOCADOWNLOAD_CATEGORY') . '

      '; + echo '
      ' . JText::_('COM_PHOCADOWNLOAD_NO_RIGHTS_ACCESS_CATEGORY') . '
      '; } - + + echo '
      '; echo '
      '; } else { //echo '

       

      '; @@ -122,5 +798,51 @@ if ((int)$this->t['tagid'] > 0) { } } echo '
       
      '; -echo $this->t['dg']; +echo $this->t['afd']; ?> + + + + \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/views/category/tmpl/default.xml b/packages/phocadownload/components/com_phocadownload/views/category/tmpl/default.xml index 84bd2e37..9e4be1e7 100644 --- a/packages/phocadownload/components/com_phocadownload/views/category/tmpl/default.xml +++ b/packages/phocadownload/components/com_phocadownload/views/category/tmpl/default.xml @@ -1,32 +1,32 @@ - - - - - - - - COM_PHOCADOWNLOAD_CATEGORY_LIST_LAYOUT - COM_PHOCADOWNLOAD_CATEGORY_LIST_LAYOUT_DESC - -
      - - -
      -
      - - -
      - - - - - - - - - - - -
      -
      + + + + + + + + COM_PHOCADOWNLOAD_CATEGORY_LIST_LAYOUT + COM_PHOCADOWNLOAD_CATEGORY_LIST_LAYOUT_DESC + +
      + + +
      +
      + + +
      + + + + + + + + + + + +
      +
      \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/views/category/tmpl/default_bootstrap.php b/packages/phocadownload/components/com_phocadownload/views/category/tmpl/default_bootstrap.php new file mode 100644 index 00000000..0b73a880 --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/views/category/tmpl/default_bootstrap.php @@ -0,0 +1,132 @@ +t['p']->get( 'pageclass_sfx' ).'">'; + +if ( $this->t['p']->get( 'show_page_heading' ) ) { + echo '

      '. $this->escape($this->t['p']->get('page_heading')) . '

      '; +} +// Search by tags - the category rights must be checked for every file +$this->checkRights = 1; +// ------------------------------------------------------------------- +if ((int)$this->t['tagid'] > 0) { + + echo $this->loadTemplate('files'); + $this->checkRights = 1; + if (count($this->files)) { + echo $this->loadTemplate('pagination'); + } +} else { + if (!empty($this->category[0])) { + echo '
      '; + if ($this->t['display_up_icon'] == 1) { + + if (isset($this->category[0]->parentid)) { + if ($this->category[0]->parentid == 0) { + + $linkUp = JRoute::_(PhocaDownloadRoute::getCategoriesRoute()); + $linkUpText = JText::_('COM_PHOCADOWNLOAD_CATEGORIES'); + } else if ($this->category[0]->parentid > 0) { + $linkUp = JRoute::_(PhocaDownloadRoute::getCategoryRoute($this->category[0]->parentid, $this->category[0]->parentalias)); + $linkUpText = $this->category[0]->parenttitle; + } else { + $linkUp = '#'; + $linkUpText = ''; + } + + + echo ''; + } + } + } else { + echo '
      '; + } + + if (!empty($this->category[0])) { + + // USER RIGHT - Access of categories (if file is included in some not accessed category) - - - - - + // ACCESS is handled in SQL query, ACCESS USER ID is handled here (specific users) + $rightDisplay = 0; + if (!empty($this->category[0])) { + $rightDisplay = PhocaDownloadAccess::getUserRight('accessuserid', $this->category[0]->cataccessuserid, $this->category[0]->cataccess, $this->t['user']->getAuthorisedViewLevels(), $this->t['user']->get('id', 0), 0); + } + + + // - - - - - - - - - - - - - - - - - - - - - - + if ($rightDisplay == 1) { + $this->checkRights = 0; + $l = new PhocaDownloadLayout(); + + echo '

      '.$this->category[0]->title. '

      '; + + // Description + /*if ($l->isValueEditor($this->category[0]->description)) { + echo '
      '.$this->category[0]->description.'
      '; + }*/ + + // Description + if ($l->isValueEditor($this->category[0]->description)) { + echo '
      '; + echo JHTML::_('content.prepare', $this->category[0]->description); + echo '
      '; + } + + // Subcategories + + if (!empty($this->subcategories)) { + foreach ($this->subcategories as $valueSubCat) { + + echo '
      '; + echo ''. $valueSubCat->title.''; + echo ' ('.$valueSubCat->numdoc.')
      ' . "\n"; + $subcategory = 1; + } + + echo '
      '; + } + + // ===================================================================================== + // BEGIN LAYOUT AREA + // ===================================================================================== + + echo $this->loadTemplate('files_bootstrap'); + + // ===================================================================================== + // END LAYOUT AREA + // ===================================================================================== + + if (count($this->category[0])) { + echo $this->loadTemplate('pagination'); + } + + if ($this->t['display_category_comments'] == 1) { + if (JComponentHelper::isEnabled('com_jcomments', true)) { + include_once(JPATH_BASE.DS.'components'.DS.'com_jcomments'.DS.'jcomments.php'); + echo JComments::showComments($this->category[0]->id, 'com_phocadownload', JText::_('COM_PHOCADOWNLOAD_CATEGORY') .' '. $this->category[0]->title); + } + } + + if ($this->t['display_category_comments'] == 2) { + echo '
      '.$this->loadTemplate('comments-fb').'
      '; + } + + } else { + echo '

      '.JText::_('COM_PHOCADOWNLOAD_CATEGORY'). '

      '; + echo '
      '.JText::_('COM_PHOCADOWNLOAD_NO_RIGHTS_ACCESS_CATEGORY').'
      '; + } + + echo '
      '; + } else { + //echo '

       

      '; + echo '
      '; + } +} + +echo $this->t['bootstrapmodal']; +echo '
       
      '; +echo $this->t['afd']; +?> diff --git a/packages/phocadownload/components/com_phocadownload/views/category/tmpl/default_comments-fb.php b/packages/phocadownload/components/com_phocadownload/views/category/tmpl/default_comments-fb.php index 970b397b..08e923ee 100644 --- a/packages/phocadownload/components/com_phocadownload/views/category/tmpl/default_comments-fb.php +++ b/packages/phocadownload/components/com_phocadownload/views/category/tmpl/default_comments-fb.php @@ -1,42 +1,42 @@ -
      $value) { - $uri->delVar($value); - } - } - - if ($this->t['fb_comment_app_id'] == '') { - echo JText::_('COM_PHOCADOWNLOAD_ERROR_FB_APP_ID_EMPTY'); - } else { - - $cCount = ''; - if ((int)$this->t['fb_comment_count'] > 0) { - $cCount = 'numposts="'.$this->t['fb_comment_count'].'"'; - } - -?> width="t['fb_comment_width'] ?>"> -
      - - -
      +
      $value) { + $uri->delVar($value); + } + } + + if ($this->t['fb_comment_app_id'] == '') { + echo JText::_('COM_PHOCADOWNLOAD_ERROR_FB_APP_ID_EMPTY'); + } else { + + $cCount = ''; + if ((int)$this->t['fb_comment_count'] > 0) { + $cCount = 'numposts="'.$this->t['fb_comment_count'].'"'; + } + +?> width="t['fb_comment_width'] ?>"> +
      + + +
      diff --git a/packages/phocadownload/components/com_phocadownload/views/category/tmpl/default_files.php b/packages/phocadownload/components/com_phocadownload/views/category/tmpl/default_files.php index 2252b7c3..1e2058a8 100644 --- a/packages/phocadownload/components/com_phocadownload/views/category/tmpl/default_files.php +++ b/packages/phocadownload/components/com_phocadownload/views/category/tmpl/default_files.php @@ -1,15 +1,211 @@ files)) { +echo ''; + +// New +if (true) { + $itemCounter = 12 / (int)$this->t['scale']; + $i = 1; + foreach ($this->files as $v) { - + if ($i % $itemCounter == 1 || $i == 0) + echo '
      '; + + $jsonFile = explode(".environment", $v->filename); + + $params = stripslashes($v->params); + $private = json_decode($params)->private == 'true'; + + if ($private && $v->license != $this->t['user']->nUserID) + continue; + + /*if ($private) { + $hlnum = substr($v->license, 0, 6); + if (!array_key_exists($hlnum, $this->t['hlnums'])) + continue; + }*/ + + $cBtnDanger = 'btn btn-danger'; + $cBtnWarning = 'btn btn-warning'; + $cBtnSuccess = 'btn btn-success'; + $cBtnInfo = 'btn btn-info'; + + // General + $linkDownloadB = ''; + $linkDownloadE = ''; + $pageID = 0; + $lang = ''; + if ((int)$v->confirm_license > 0 || $this->t['display_file_view'] == 1) { + $linkDownloadB = ''; // we need pagination to go back + $linkDownloadE = ''; + } else { + if ($v->link_external != '' && $v->directlink == 1) { + $linkDownloadB = ''; + $linkDownloadE = ''; + } else { + if ($_GET['Itemid'] == 745) { + $linkDownloadB = ''; + $linkDownloadE = ''; + $pageID = 744; + $lang = 'en'; + } else { + $linkDownloadB = ''; + $linkDownloadE = ''; + $pageID = 729; + $lang = 'hu'; + } + } + } + + $title = ''; + $len = (isset($_GET['scale']) && $_GET['scale'] <= 2) || (isset($_GET['program']) && $_GET['program'] == '1') ? 15 : 30; + if (isset($_GET['scale']) && $_GET['scale'] <= 2 && isset($_GET['program']) && $_GET['program'] == '1') + $len = 9; + + if (strlen($v->title) > $len) { + $title = substr($v->title, 0, $len) . '...'; + } else { + $title = $v->title; + } + + // $this->t['brandClass'] == '' + $param = $_GET['brand'] != '' && $_GET['productLine'] != '' ? '&brand=' . $_GET['brand'] . '&productLine=' . $_GET['productLine'] : ''; + + $param = ''; + if (isset($_GET['category']) && $_GET['category'] != '') + $param .= '&category=' . $_GET['category']; + + if (isset($_GET['rootCategory']) && $_GET['rootCategory'] != '') + $param .= '&rootCategory=' . $_GET['rootCategory']; + + if (isset($_GET['brand']) && $_GET['brand'] != '') + $param .= '&brand=' . $_GET['brand']; + + if (isset($_GET['productLine']) && $_GET['productLine'] != '') + $param .= '&productLine=' . $_GET['productLine']; + + if (isset($_GET['limitstart']) && $_GET['limitstart'] != '') + $param .= '&limitstart=' . $_GET['limitstart']; + + if (isset($_GET['limit']) && $_GET['limit'] != '') + $param .= '&limit=' . $_GET['limit']; + + $param .= isset($_GET['rgn']) ? '&rgn=' . $_GET['rgn'] : '&rgn=INT'; + + // pdbuttondownload + $pdButtonDownload = '
      '; + $pdButtonDownload .= str_replace('class=""', 'class="' . $cBtnSuccess . '"', $linkDownloadB) . JText::_('COM_PHOCADOWNLOAD_DOWNLOAD') . $linkDownloadE; + + $pdButtonDownload .= '
      '; + + echo '
      '; + echo '
      '; + echo ''; + echo '
      '; + echo ''; + echo '
      '; + echo '
      '; + echo '
      '; + echo '
      '; + echo '
      '; + echo $linkDownloadB; + echo ''; + echo $linkDownloadE; + echo '
      '; + echo '
      '; + echo ''; + echo $title; + echo ''; + echo '
      '; + echo '
      '; + echo '
      '; + echo '
      '; + echo '
      '; + + if ($i % $itemCounter == 0 && $i != 0) + echo '
      '; + + $i++; + } +} + +// Old +if (false) { + foreach ($this->files as $v) { + + + if ($this->checkRights == 1) { // USER RIGHT - Access of categories (if file is included in some not accessed category) - - - - - // ACCESS is handled in SQL query, ACCESS USER ID is handled here (specific users) $rightDisplay = 0; + + if (!isset($v->cataccessuserid)) { + $v->cataccessuserid = 0; + } if (isset($v->catid) && isset($v->cataccessuserid) && isset($v->cataccess)) { $rightDisplay = PhocaDownloadAccess::getUserRight('accessuserid', $v->cataccessuserid, $v->cataccess, $this->t['user']->getAuthorisedViewLevels(), $this->t['user']->get('id', 0), 0); } @@ -17,261 +213,325 @@ if (!empty($this->files)) { } else { $rightDisplay = 1; } - + if ($rightDisplay == 1) { - + + // Test if we have information about category - if we are displaying items by e.g. search outcomes - tags + // we don't have any ID of category so we need to load it for each file. + $this->catitem[$v->id] = new StdClass(); + $this->catitem[$v->id]->id = 0; + $this->catitem[$v->id]->alias = ''; + + if (isset($this->category[0]->id) && isset($this->category[0]->alias)) { + $this->catitem[$v->id]->id = (int)$this->category[0]->id; + $this->catitem[$v->id]->alias = $this->category[0]->alias; + } else { + $catDb = PhocaDownloadCategory::getCategoryByFile($v->id); + if (isset($catDb->id) && isset($catDb->alias)) { + $this->catitem[$v->id]->id = (int)$catDb->id; + $this->catitem[$v->id]->alias = $catDb->alias; + } + $categorySetTemp = 1; + } + + $cBtnDanger = 'btn btn-danger'; + $cBtnWarning = 'btn btn-warning'; + $cBtnSuccess = 'btn btn-success'; + $cBtnInfo = 'btn btn-info'; + + /*$cBtnDanger = ''; + $cBtnWarning = ''; + $cBtnSuccess = ''; + $cBtnInfo = '';*/ + // General - $linkDownloadB = ''; - $linkDownloadE = ''; + $linkDownloadB = ''; + $linkDownloadE = ''; + $pageID = 0; + $lang = ''; if ((int)$v->confirm_license > 0 || $this->t['display_file_view'] == 1) { - $linkDownloadB = ''; // we need pagination to go back - $linkDownloadE =''; + $linkDownloadB = ''; // we need pagination to go back + $linkDownloadE = ''; } else { if ($v->link_external != '' && $v->directlink == 1) { - $linkDownloadB = ''; - $linkDownloadE =''; + $linkDownloadB = ''; + $linkDownloadE = ''; } else { - $linkDownloadB = ''; - $linkDownloadE =''; + if ($_GET['Itemid'] == 745) { + $linkDownloadB = ''; + $linkDownloadE = ''; + $pageID = 744; + $lang = 'en'; + } else { + $linkDownloadB = ''; + $linkDownloadE = ''; + $pageID = 729; + $lang = 'hu'; + } } } - + // pdtextonly - $pdTextOnly = '
      '.$v->description.'
      ' . "\n"; - + $pdTextOnly = '
      ' . $v->description . '
      ' . "\n"; + // pdfile if ($v->filename != '') { $imageFileName = $l->getImageFileName($v->image_filename, $v->filename); - + $pdFile = '
      '; if ($this->t['filename_or_name'] == 'filenametitle') { - $pdFile .= '
      '. $v->title . '
      '; + $pdFile .= '
      ' . $v->title . '
      '; } - - $pdFile .= '
      '. $imageFileName['filenamethumb'] - . '
      '; - + + $pdFile .= '
      ' . $imageFileName['filenamethumb'] + . '
      '; + $pdFile .= '
      '; - $pdFile .= $linkDownloadB .$l->getName($v->title, $v->filename) .$linkDownloadE; + + // Old + //$pdFile .= $linkDownloadB . $l->getName($v->title, $v->filename) . $linkDownloadE; + + // New + $pdFile .= '' . $v->title . ''; $pdFile .= '
      '; - + $pdFile .= PhocaDownloadRenderFront::displayNewIcon($v->date, $this->t['displaynew']); $pdFile .= PhocaDownloadRenderFront::displayHotIcon($v->hits, $this->t['displayhot']); - + + // String Tags - title suffix + $tagsS = $l->displayTagsString($v->tags_string); + if ($tagsS != '') { + $pdFile .= '
      ' . $tagsS . '
      '; + } + + // Tags - title suffix + if ($this->t['display_tags_links'] == 4 || $this->t['display_tags_links'] == 6) { + $tags = $l->displayTags($v->id, 1); + if ($tags != '') { + $pdFile .= '
      ' . $tags . '
      '; + } + } + //Specific icons if (isset($v->image_filename_spec1) && $v->image_filename_spec1 != '') { - $pdFile .= '
      '.$l->getImageDownload($v->image_filename_spec1).'
      '; - } + $pdFile .= '
      ' . $l->getImageDownload($v->image_filename_spec1) . '
      '; + } if (isset($v->image_filename_spec2) && $v->image_filename_spec2 != '') { - $pdFile .= '
      '.$l->getImageDownload($v->image_filename_spec2).'
      '; - } - + $pdFile .= '
      ' . $l->getImageDownload($v->image_filename_spec2) . '
      '; + } + $pdFile .= '
      ' . "\n"; } - + + + + + // pdbuttonplay $pdButtonPlay = ''; if (isset($v->filename_play) && $v->filename_play != '') { $fileExt = PhocaDownloadFile::getExtension($v->filename_play); $canPlay = PhocaDownloadFile::canPlay($v->filename_play); - + if ($canPlay) { // Special height for music only $buttonPlOptions = $this->t['buttonpl']->options; if ($fileExt == 'mp3' || $fileExt == 'ogg') { $buttonPlOptions = $this->t['buttonpl']->optionsmp3; } - $playLink = JRoute::_(PhocaDownloadRoute::getFileRoute($v->id,$v->catid,$v->alias, $v->categoryalias,0, 'play').$this->t['limitstarturl']); + $playLink = JRoute::_(PhocaDownloadRoute::getFileRoute($v->id, $v->catid, $v->alias, $v->categoryalias, 0, 'play') . $this->t['limitstarturl']); + //class="btn btn-danger" $pdButtonPlay .= '
      '; if ($this->t['play_popup_window'] == 1) { - $pdButtonPlay .= ''. JText::_('COM_PHOCADOWNLOAD_PLAY').''; - } else { - $pdButtonPlay .= ''. JText::_('COM_PHOCADOWNLOAD_PLAY').''; + $pdButtonPlay .= '' . JText::_('COM_PHOCADOWNLOAD_PLAY') . ''; + } else { + $pdButtonPlay .= '' . JText::_('COM_PHOCADOWNLOAD_PLAY') . ''; } $pdButtonPlay .= '
      '; } } - + // pdbuttonpreview $pdButtonPreview = ''; if (isset($v->filename_preview) && $v->filename_preview != '') { $fileExt = PhocaDownloadFile::getExtension($v->filename_preview); if ($fileExt == 'pdf' || $fileExt == 'jpeg' || $fileExt == 'jpg' || $fileExt == 'png' || $fileExt == 'gif') { - + $filePath = PhocaDownloadPath::getPathSet('filepreview'); - $filePath = str_replace ( '../', JURI::base(true).'/', $filePath['orig_rel_ds']); - $previewLink = $filePath . $v->filename_preview; + $filePath = str_replace('../', JURI::base(true) . '/', $filePath['orig_rel_ds']); + $previewLink = $filePath . $v->filename_preview; $pdButtonPreview .= '
      '; - + if ($this->t['preview_popup_window'] == 1) { - $pdButtonPreview .= ''. JText::_('COM_PHOCADOWNLOAD_PREVIEW').''; - } else { + $pdButtonPreview .= '' . JText::_('COM_PHOCADOWNLOAD_PREVIEW') . ''; + } else { if ($fileExt == 'pdf') { // Iframe - modal - $pdButtonPreview .= ''. JText::_('COM_PHOCADOWNLOAD_PREVIEW').''; + $pdButtonPreview .= '' . JText::_('COM_PHOCADOWNLOAD_PREVIEW') . ''; } else { // Image - modal - $pdButtonPreview .= ''. JText::_('COM_PHOCADOWNLOAD_PREVIEW').''; + $pdButtonPreview .= '' . JText::_('COM_PHOCADOWNLOAD_PREVIEW') . ''; } } $pdButtonPreview .= '
      '; } } - + // pdbuttondownload $pdButtonDownload = '
      '; - $pdButtonDownload .= str_replace('class=""', 'class="btn btn-success"', $linkDownloadB) . JText::_('COM_PHOCADOWNLOAD_DOWNLOAD') .$linkDownloadE; + $pdButtonDownload .= str_replace('class=""', 'class="' . $cBtnSuccess . '"', $linkDownloadB) . JText::_('COM_PHOCADOWNLOAD_DOWNLOAD') . $linkDownloadE; + $pdButtonDownload .= '
      '; - - - + + + // pdbuttondetails $d = ''; - + $pdTitle = ''; if ($v->title != '') { - $pdTitle .= '
      '.$v->title.'
      '; + $pdTitle .= '
      ' . $v->title . '
      '; $d .= $pdTitle; } - + $pdImage = ''; if ($v->image_download != '') { - $pdImage .= '
      '.$l->getImageDownload($v->image_download).'
      '; - $d .= $pdImage; + $pdImage .= '
      ' . $l->getImageDownload($v->image_download) . '
      '; + $d .= $pdImage; } - + $pdFileSize = ''; $fileSize = $l->getFilesize($v->filename); if ($fileSize != '') { - $pdFileSize .= '
      '.JText::_('COM_PHOCADOWNLOAD_FILESIZE').':
      '; - $pdFileSize .= '
      '.$fileSize.'
      '; + $pdFileSize .= '
      ' . JText::_('COM_PHOCADOWNLOAD_FILESIZE') . ':
      '; + $pdFileSize .= '
      ' . $fileSize . '
      '; $d .= $pdFileSize; } - + $pdVersion = ''; if ($v->version != '') { - $pdVersion .= '
      '.JText::_('COM_PHOCADOWNLOAD_VERSION').':
      '; - $pdVersion .= '
      '.$v->version.'
      '; + $pdVersion .= '
      ' . JText::_('COM_PHOCADOWNLOAD_VERSION') . ':
      '; + $pdVersion .= '
      ' . $v->version . '
      '; $d .= $pdVersion; } - + $pdLicense = ''; if ($v->license != '') { if ($v->license_url != '') { - $pdLicense .= '
      '.JText::_('COM_PHOCADOWNLOAD_LICENSE').':
      '; - $pdLicense .= ''; + $pdLicense .= '
      ' . JText::_('COM_PHOCADOWNLOAD_LICENSE') . ':
      '; + $pdLicense .= ''; } else { - $pdLicense .= '
      '.JText::_('COM_PHOCADOWNLOAD_LICENSE').':
      '; - $pdLicense .= '
      '.$v->license.'
      '; + $pdLicense .= '
      ' . JText::_('COM_PHOCADOWNLOAD_LICENSE') . ':
      '; + $pdLicense .= '
      ' . $v->license . '
      '; } $d .= $pdLicense; } - + $pdAuthor = ''; if ($v->author != '') { if ($v->author_url != '') { - $pdAuthor .= '
      '.JText::_('COM_PHOCADOWNLOAD_AUTHOR').':
      '; - $pdAuthor .= ''; + $pdAuthor .= '
      ' . JText::_('COM_PHOCADOWNLOAD_AUTHOR') . ':
      '; + $pdAuthor .= ''; } else { - $pdAuthor .= '
      '.JText::_('COM_PHOCADOWNLOAD_AUTHOR').':
      '; - $pdAuthor .= '
      '.$v->author.'
      '; + $pdAuthor .= '
      ' . JText::_('COM_PHOCADOWNLOAD_AUTHOR') . ':
      '; + $pdAuthor .= '
      ' . $v->author . '
      '; } $d .= $pdAuthor; } - + $pdAuthorEmail = ''; if ($v->author_email != '') { - $pdAuthorEmail .= '
      '.JText::_('COM_PHOCADOWNLOAD_EMAIL').':
      '; - $pdAuthorEmail .= '
      '. $l->getProtectEmail($v->author_email).'
      '; + $pdAuthorEmail .= '
      ' . JText::_('COM_PHOCADOWNLOAD_EMAIL') . ':
      '; + $pdAuthorEmail .= '
      ' . $l->getProtectEmail($v->author_email) . '
      '; $d .= $pdAuthorEmail; } - + $pdFileDate = ''; $fileDate = $l->getFileDate($v->filename, $v->date); if ($fileDate != '') { - $pdFileDate .= '
      '.JText::_('COM_PHOCADOWNLOAD_DATE').':
      '; - $pdFileDate .= '
      '.$fileDate.'
      '; + $pdFileDate .= '
      ' . JText::_('COM_PHOCADOWNLOAD_DATE') . ':
      '; + $pdFileDate .= '
      ' . $fileDate . '
      '; $d .= $pdFileDate; } - + $pdDownloads = ''; if ($this->t['display_downloads'] == 1) { - $pdDownloads .= '
      '.JText::_('COM_PHOCADOWNLOAD_DOWNLOADS').':
      '; - $pdDownloads .= '
      '.$v->hits.' x
      '; + $pdDownloads .= '
      ' . JText::_('COM_PHOCADOWNLOAD_DOWNLOADS') . ':
      '; + $pdDownloads .= '
      ' . $v->hits . ' x
      '; $d .= $pdDownloads; } - + $pdDescription = ''; if ($l->isValueEditor($v->description) && $this->t['display_description'] != 1 & $this->t['display_description'] != 2 & $this->t['display_description'] != 3) { - $pdDescription .= '
      '.$v->description.'
      '; + $pdDescription .= '
      ' . $v->description . '
      '; $d .= $pdDescription; } - + $pdFeatures = ''; if ($l->isValueEditor($v->features)) { - $pdFeatures .= '
      '.JText::_('COM_PHOCADOWNLOAD_FEATURES').'
      '; - $pdFeatures .= '
      '.$v->features.'
      '; - } - - $pdChangelog = ''; - if ($l->isValueEditor($v->changelog)) { - $pdChangelog .= '
      '.JText::_('COM_PHOCADOWNLOAD_CHANGELOG').'
      '; - $pdChangelog .= '
      '.$v->changelog.'
      '; - } - - $pdNotes = ''; - if ($l->isValueEditor($v->notes)) { - $pdNotes .= '
      '.JText::_('COM_PHOCADOWNLOAD_NOTES').'
      '; - $pdNotes .= '
      '.$v->notes.'
      '; + $pdFeatures .= '
      ' . JText::_('COM_PHOCADOWNLOAD_FEATURES') . '
      '; + $pdFeatures .= '
      ' . $v->features . '
      '; } - + $pdChangelog = ''; + if ($l->isValueEditor($v->changelog)) { + $pdChangelog .= '
      ' . JText::_('COM_PHOCADOWNLOAD_CHANGELOG') . '
      '; + $pdChangelog .= '
      ' . $v->changelog . '
      '; + } + + $pdNotes = ''; + if ($l->isValueEditor($v->notes)) { + $pdNotes .= '
      ' . JText::_('COM_PHOCADOWNLOAD_NOTES') . '
      '; + $pdNotes .= '
      ' . $v->notes . '
      '; + } + + // pdfiledesc $description = $l->isValueEditor($v->description); - + $pdFileDescTop = ''; $pdFileDescBottom = ''; $oFileDesc = ''; - + if ($description) { - switch($this->t['display_description']) { - + switch ($this->t['display_description']) { + case 1: - $pdFileDescTop = '
      '.$v->description.'
      '; - break; + $pdFileDescTop = '
      ' . $v->description . '
      '; + break; case 2: - $pdFileDescBottom = '
      '.$v->description.'
      '; - break; + $pdFileDescBottom = '
      ' . $v->description . '
      '; + break; case 3: - $oFileDesc = '
      '.$v->description.'
      '; - break; + $oFileDesc = '
      ' . PhocaDownloadUtils::strTrimAll($d) . '
      '; + break; case 4: - $pdFileDescTop = '
      '.$v->description.'
      '; - $oFileDesc = '
      '.PhocaDownloadUtils::strTrimAll($d).'
      '; - break; + $pdFileDescTop = '
      ' . $v->description . '
      '; + $oFileDesc = '
      ' . PhocaDownloadUtils::strTrimAll($d) . '
      '; + break; case 5: - $pdFileDescBottom = '
      '.$v->description.'
      '; - $oFileDesc = '
      '.PhocaDownloadUtils::strTrimAll($d).'
      '; - break; + $pdFileDescBottom = '
      ' . $v->description . '
      '; + $oFileDesc = '
      ' . PhocaDownloadUtils::strTrimAll($d) . '
      '; + break; case 6: - $pdFileDescTop = '
      '.$d.'
      '; - $oFileDesc = '
      '.PhocaDownloadUtils::strTrimAll($d).'
      '; - break; + $pdFileDescTop = '
      ' . $d . '
      '; + $oFileDesc = '
      ' . PhocaDownloadUtils::strTrimAll($d) . '
      '; + break; case 7: - $pdFileDescBottom = '
      '.$d.'
      '; - $oFileDesc = '
      '.PhocaDownloadUtils::strTrimAll($d).'
      '; - break; - + $pdFileDescBottom = '
      ' . $d . '
      '; + $oFileDesc = '
      ' . PhocaDownloadUtils::strTrimAll($d) . '
      '; + break; + case 8: - $oFileDesc = '
      '.PhocaDownloadUtils::strTrimAll($d).'
      '; - break; - + $oFileDesc = '
      ' . PhocaDownloadUtils::strTrimAll($d) . '
      '; + break; + default: - break; + break; } } - + // Detail Button if ($this->t['display_detail'] == 1) { if ($oFileDesc != '') { @@ -279,44 +539,51 @@ if (!empty($this->files)) { } else { $overlibcontent = $d; } - + $overlibcontent = str_replace('"', '\'', $overlibcontent); $sA = array(utf8_encode(chr(11)), utf8_encode(chr(160))); $eA = array("\t", "\n", "\r", "\0"); $overlibcontent = str_replace($sA, ' ', $overlibcontent); $overlibcontent = str_replace($eA, '', $overlibcontent); - $textO = htmlspecialchars(addslashes('
      '.$overlibcontent.'
      ')); - $overlib = "\n\n" ."onmouseover=\"return overlib('".$textO."', CAPTION, '".JText::_('COM_PHOCADOWNLOAD_DETAILS')."', BELOW, RIGHT, CSSCLASS, TEXTFONTCLASS, 'fontPhocaPDClass', FGCLASS, 'fgPhocaPDClass', BGCLASS, 'bgPhocaPDClass', CAPTIONFONTCLASS,'capfontPhocaPDClass', CLOSEFONTCLASS, 'capfontclosePhocaPDClass', STICKY, MOUSEOFF, CLOSETEXT, '".JText::_('COM_PHOCADOWNLOAD_CLOSE')."');\""; + $textO = htmlspecialchars(addslashes('
      ' . $overlibcontent . '
      ')); + $overlib = "\n\n" . "onmouseover=\"return overlib('" . $textO . "', CAPTION, '" . JText::_('COM_PHOCADOWNLOAD_DETAILS') . "', BELOW, RIGHT, CSSCLASS, TEXTFONTCLASS, 'fontPhocaPDClass', FGCLASS, 'fgPhocaPDClass', BGCLASS, 'bgPhocaPDClass', CAPTIONFONTCLASS,'capfontPhocaPDClass', CLOSEFONTCLASS, 'capfontclosePhocaPDClass', STICKY, MOUSEOFF, CLOSETEXT, '" . JText::_('COM_PHOCADOWNLOAD_CLOSE') . "');\""; $overlib .= " onmouseout=\"return nd();\"" . "\n"; - + + $pdButtonDetails = '
      '; - $pdButtonDetails .= ''. JText::_('COM_PHOCADOWNLOAD_DETAILS').''; + + // Old + //$pdButtonDetails .= '' . JText::_('COM_PHOCADOWNLOAD_DETAILS') . ''; + + // New + $pdButtonDetails .= '' . JText::_('COM_PHOCADOWNLOAD_DETAILS') . ''; $pdButtonDetails .= '
      '; } else if ($this->t['display_detail'] == 2) { $buttonDOptions = $this->t['buttond']->options; - $detailLink = JRoute::_(PhocaDownloadRoute::getFileRoute($v->id,$this->category[0]->id,$v->alias, $v->categoryalias, 0, 'detail').$this->t['limitstarturl']); + $detailLink = JRoute::_(PhocaDownloadRoute::getFileRoute($v->id, $this->catitem[$v->id]->id, $v->alias, $this->catitem[$v->id]->alias, 0, 'detail') . $this->t['limitstarturl']); $pdButtonDetails = '
      '; - $pdButtonDetails .= ''. JText::_('COM_PHOCADOWNLOAD_DETAILS').''; + $pdButtonDetails .= '' . JText::_('COM_PHOCADOWNLOAD_DETAILS') . ''; + $pdButtonDetails .= '
      '; } else { $pdButtonDetails = ''; } - - + + // pdmirrorlink1 $pdMirrorLink1 = ''; $mirrorOutput1 = PhocaDownloadRenderFront::displayMirrorLinks(1, $v->mirror1link, $v->mirror1title, $v->mirror1target); if ($mirrorOutput1 != '') { - + if ($this->t['display_mirror_links'] == 4 || $this->t['display_mirror_links'] == 6) { $classMirror = 'pd-button-mirror1'; $mirrorOutput1 = str_replace('class=""', 'class="btn"', $mirrorOutput1); } else { $classMirror = 'pd-mirror'; } - - $pdMirrorLink1 = '
      '.$mirrorOutput1.'
      '; + + $pdMirrorLink1 = '
      ' . $mirrorOutput1 . '
      '; } // pdmirrorlink2 @@ -329,89 +596,87 @@ if (!empty($this->files)) { } else { $classMirror = 'pd-mirror'; } - - $pdMirrorLink2 = '
      '.$mirrorOutput2.'
      '; + + $pdMirrorLink2 = '
      ' . $mirrorOutput2 . '
      '; } - + // pdreportlink $pdReportLink = PhocaDownloadRenderFront::displayReportLink(1, $v->title); - + // pdrating $pdRating = PhocaDownloadRate::renderRateFile($v->id, $this->t['display_rating_file']); - + // pdtags $pdTags = ''; if ($this->t['display_tags_links'] == 1 || $this->t['display_tags_links'] == 3) { - if ($l->displayTags($v->id) != '') { - $pdTags .= $l->displayTags($v->id); + $tags2 = $l->displayTags($v->id); + if ($tags2 != '') { + $pdTags .= '
      ' . $tags2 . '
      '; } - } - + //pdvideo $pdVideo = $l->displayVideo($v->video_filename, 0); - - + + // --------------------------------------------------- //Convert // --------------------------------------------------- if ($v->textonly == 1) { - echo '
      '. $pdTextOnly . '
      '; + echo '
      ' . $pdTextOnly . '
      '; } else { if ($this->t['display_specific_layout'] == 0) { echo '
      '; echo $pdFileDescTop; echo $pdFile; - echo '
      '.$pdButtonDownload.'
      '; - + echo '
      ' . $pdButtonDownload . '
      '; + if ($this->t['display_detail'] == 1 || $this->t['display_detail'] == 2) { - echo '
      '.$pdButtonDetails.'
      '; + echo '
      ' . $pdButtonDetails . '
      '; } - + if ($this->t['display_preview'] == 1 && $pdButtonPreview != '') { - echo '
      '.$pdButtonPreview.'
      '; + echo '
      ' . $pdButtonPreview . '
      '; } - + if ($this->t['display_play'] == 1 && $pdButtonPlay != '') { - echo '
      '.$pdButtonPlay.'
      '; + echo '
      ' . $pdButtonPlay . '
      '; } - + if ($this->t['display_mirror_links'] == 4 || $this->t['display_mirror_links'] == 6) { if ($pdMirrorLink2 != '') { - echo '
      '.$pdMirrorLink2.'
      '; + echo '
      ' . $pdMirrorLink2 . '
      '; } if ($pdMirrorLink1 != '') { - echo '
      '.$pdMirrorLink1.'
      '; + echo '
      ' . $pdMirrorLink1 . '
      '; } - } else if ($this->t['display_mirror_links'] == 1 || $this->t['display_mirror_links'] == 3) { - echo '
      '.$pdMirrorLink2.$pdMirrorLink1.'
      '; + echo '
      ' . $pdMirrorLink2 . $pdMirrorLink1 . '
      '; } - + if ($pdVideo != '') { - echo '
      '.$pdVideo.'
      '; + echo '
      ' . $pdVideo . '
      '; } - + if ($pdReportLink != '') { - echo '
      '.$pdReportLink.'
      '; + echo '
      ' . $pdReportLink . '
      '; } - + if ($pdRating != '') { - echo '
      '.$pdRating.'
      '; + echo '
      ' . $pdRating . '
      '; } - + if ($pdTags != '') { - echo '
      '.$pdTags.'
      '; + echo '
      ' . $pdTags . '
      '; } echo $pdFileDescBottom; echo '
      '; echo '
      '; - } else { - - /*$categoryLayout = '
      + + /*$categoryLayout = '
      {pdfiledesctop} {pdfile}
      {pdbuttondownload}
      @@ -424,18 +689,35 @@ if (!empty($this->files)) { {pdfiledescbottom}
      ';*/ - + $categoryLayout = PhocaDownloadSettings::getLayoutText('category'); $categoryLayoutParams = PhocaDownloadSettings::getLayoutParams('category'); - - $replace = array($pdTitle, $pdImage, $pdFile, $pdFileSize, $pdVersion, $pdLicense, $pdAuthor, $pdAuthorEmail, $pdFileDate, $pdDownloads, $pdDescription, $pdFeatures, $pdChangelog, $pdNotes, $pdMirrorLink1, $pdMirrorLink2, $pdReportLink, $pdRating, $pdTags, $pdFileDescTop, $pdFileDescBottom, $pdButtonDownload, $pdButtonDetails, $pdButtonPreview, $pdButtonPlay, $pdVideo ); + + $replace = array($pdTitle, $pdImage, $pdFile, $pdFileSize, $pdVersion, $pdLicense, $pdAuthor, $pdAuthorEmail, $pdFileDate, $pdDownloads, $pdDescription, $pdFeatures, $pdChangelog, $pdNotes, $pdMirrorLink1, $pdMirrorLink2, $pdReportLink, $pdRating, $pdTags, $pdFileDescTop, $pdFileDescBottom, $pdButtonDownload, $pdButtonDetails, $pdButtonPreview, $pdButtonPlay, $pdVideo); $output = str_replace($categoryLayoutParams['search'], $replace, $categoryLayout); - + echo $output; + + + // --------------------------------------------------- } - // --------------------------------------------------- } } } } ?> + + \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/views/category/tmpl/default_files_bootstrap.php b/packages/phocadownload/components/com_phocadownload/views/category/tmpl/default_files_bootstrap.php new file mode 100644 index 00000000..4a717b5d --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/views/category/tmpl/default_files_bootstrap.php @@ -0,0 +1,541 @@ +files)) { + foreach ($this->files as $v) { + + + if ($this->checkRights == 1) { + // USER RIGHT - Access of categories (if file is included in some not accessed category) - - - - - + // ACCESS is handled in SQL query, ACCESS USER ID is handled here (specific users) + $rightDisplay = 0; + + if (!isset($v->cataccessuserid)) { + $v->cataccessuserid = 0; + } + + if (isset($v->catid) && isset($v->cataccessuserid) && isset($v->cataccess)) { + $rightDisplay = PhocaDownloadAccess::getUserRight('accessuserid', $v->cataccessuserid, $v->cataccess, $this->t['user']->getAuthorisedViewLevels(), $this->t['user']->get('id', 0), 0); + } + // - - - - - - - - - - - - - - - - - - - - - - + } else { + $rightDisplay = 1; + } + + if ($rightDisplay == 1) { + + + + // Test if we have information about category - if we are displaying items by e.g. search outcomes - tags + // we don't have any ID of category so we need to load it for each file. + $this->catitem[$v->id] = new StdClass(); + $this->catitem[$v->id]->id = 0; + $this->catitem[$v->id]->alias = ''; + + if (isset($this->category[0]->id) && isset($this->category[0]->alias)) { + $this->catitem[$v->id]->id = (int)$this->category[0]->id; + $this->catitem[$v->id]->alias = $this->category[0]->alias; + } else { + $catDb = PhocaDownloadCategory::getCategoryByFile($v->id); + if (isset($catDb->id) && isset($catDb->alias)) { + $this->catitem[$v->id]->id = (int)$catDb->id; + $this->catitem[$v->id]->alias = $catDb->alias; + } + $categorySetTemp = 1; + } + + // General + $linkDownloadB = ''; + $linkDownloadE = ''; + if ((int)$v->confirm_license > 0 || $this->t['display_file_view'] == 1) { + $linkDownloadB = ''; // we need pagination to go back + $linkDownloadE = ''; + } else { + if ($v->link_external != '' && $v->directlink == 1) { + $linkDownloadB = ''; + $linkDownloadE = ''; + } else { + $linkDownloadB = ''; + $linkDownloadE = ''; + } + } + + + // pdfile + if ($v->filename != '') { + $imageFileName = $l->getImageFileName($v->image_filename, $v->filename); + + $pdFile = '
      '; + if ($this->t['filename_or_name'] == 'filenametitle') { + $pdFile .= '
      ' . $v->title . '
      '; + } + + $pdFile .= '
      ' . $imageFileName['filenamethumb'] + . '
      '; + + $pdFile .= '
      '; + $pdFile .= $linkDownloadB . $l->getName($v->title, $v->filename) . $linkDownloadE; + $pdFile .= '
      '; + + $pdFile .= PhocaDownloadRenderFront::displayNewIcon($v->date, $this->t['displaynew']); + $pdFile .= PhocaDownloadRenderFront::displayHotIcon($v->hits, $this->t['displayhot']); + + + // String Tags - title suffix + $tagsS = $l->displayTagsString($v->tags_string); + if ($tagsS != '') { + $pdFile .= '
      ' . $tagsS . '
      '; + } + + // Tags - title suffix + if ($this->t['display_tags_links'] == 4 || $this->t['display_tags_links'] == 6) { + $tags = $l->displayTags($v->id, 1); + if ($tags != '') { + $pdFile .= '
      ' . $tags . '
      '; + } + } + + // Specific icons + if (isset($v->image_filename_spec1) && $v->image_filename_spec1 != '') { + $pdFile .= '
      ' . $l->getImageDownload($v->image_filename_spec1) . '
      '; + } + if (isset($v->image_filename_spec2) && $v->image_filename_spec2 != '') { + $pdFile .= '
      ' . $l->getImageDownload($v->image_filename_spec2) . '
      '; + } + + $pdFile .= '
      ' . "\n"; + } + + // pdbuttonplay + $pdButtonPlay = ''; + + if (isset($v->filename_play) && $v->filename_play != '') { + $fileExt = PhocaDownloadFile::getExtension($v->filename_play); + $canPlay = PhocaDownloadFile::canPlay($v->filename_play); + + if ($canPlay) { + // Special height for music only + $buttonPlOptions = $this->t['buttonpl']->optionsB; + if ($fileExt == 'mp3' || $fileExt == 'ogg') { + $buttonPlOptions = $this->t['buttonpl']->optionsmp3B; + } + $playLink = JRoute::_(PhocaDownloadRoute::getFileRoute($v->id, $v->catid, $v->alias, $v->categoryalias, 0, 'play') . $this->t['limitstarturl']); + //$pdButtonPlay .= '
      '; + if ($this->t['play_popup_window'] == 1) { + $pdButtonPlay = '' . JText::_('COM_PHOCADOWNLOAD_PLAY') . ''; + } else { + //$pdButtonPlay .= ''. JText::_('COM_PHOCADOWNLOAD_PLAY').''; + + $pdButtonPlay = '' . JText::_('COM_PHOCADOWNLOAD_PLAY') . ''; + } + //$pdButtonPlay .= '
      '; + } + } + + // pdbuttonpreview + $pdButtonPreview = ''; + if (isset($v->filename_preview) && $v->filename_preview != '') { + $fileExt = PhocaDownloadFile::getExtension($v->filename_preview); + if ($fileExt == 'pdf' || $fileExt == 'jpeg' || $fileExt == 'jpg' || $fileExt == 'png' || $fileExt == 'gif') { + + $filePath = PhocaDownloadPath::getPathSet('filepreview'); + $filePath = str_replace('../', JURI::base(true) . '/', $filePath['orig_rel_ds']); + $previewLink = $filePath . $v->filename_preview; + //$pdButtonPreview .= '
      '; + + if ($this->t['preview_popup_window'] == 1) { + $pdButtonPreview .= '' . JText::_('COM_PHOCADOWNLOAD_PREVIEW') . ''; + } else { + if ($fileExt == 'pdf') { + // Iframe - modal + //$pdButtonPreview .= ''. JText::_('COM_PHOCADOWNLOAD_PREVIEW').''; + $pdButtonPreview = 't['buttonpr']->optionsB . ' >' . JText::_('COM_PHOCADOWNLOAD_PREVIEW') . ''; + } else { + // Image - modal + //$pdButtonPreview .= ''. JText::_('COM_PHOCADOWNLOAD_PREVIEW').''; + + $pdButtonPreview = 't['buttonpr']->optionsimgB . ' >' . JText::_('COM_PHOCADOWNLOAD_PREVIEW') . ''; + } + } + //$pdButtonPreview .= '
      '; + } + } + + // pdbuttondownload + //$pdButtonDownload = '
      '; + $pdButtonDownload = str_replace('class=""', 'class="btn btn-success"', $linkDownloadB) . JText::_('COM_PHOCADOWNLOAD_DOWNLOAD') . $linkDownloadE; + //$pdButtonDownload .= '
      '; + + + + // pdbuttondetails + $d = ''; + + $pdTitle = ''; + if ($v->title != '') { + $pdTitle .= '
      ' . $v->title . '
      '; + $d .= $pdTitle; + } + + $pdImage = ''; + if ($v->image_download != '') { + $pdImage .= '
      ' . $l->getImageDownload($v->image_download) . '
      '; + $d .= $pdImage; + } + + $pdFileSize = ''; + $fileSize = $l->getFilesize($v->filename); + if ($fileSize != '') { + $pdFileSize .= '
      ' . JText::_('COM_PHOCADOWNLOAD_FILESIZE') . ':
      '; + $pdFileSize .= '
      ' . $fileSize . '
      '; + $d .= $pdFileSize; + } + + $pdVersion = ''; + if ($v->version != '') { + $pdVersion .= '
      ' . JText::_('COM_PHOCADOWNLOAD_VERSION') . ':
      '; + $pdVersion .= '
      ' . $v->version . '
      '; + $d .= $pdVersion; + } + + $pdLicense = ''; + if ($v->license != '') { + if ($v->license_url != '') { + $pdLicense .= '
      ' . JText::_('COM_PHOCADOWNLOAD_LICENSE') . ':
      '; + $pdLicense .= ''; + } else { + $pdLicense .= '
      ' . JText::_('COM_PHOCADOWNLOAD_LICENSE') . ':
      '; + $pdLicense .= '
      ' . $v->license . '
      '; + } + $d .= $pdLicense; + } + + $pdAuthor = ''; + if ($v->author != '') { + if ($v->author_url != '') { + $pdAuthor .= '
      ' . JText::_('COM_PHOCADOWNLOAD_AUTHOR') . ':
      '; + $pdAuthor .= ''; + } else { + $pdAuthor .= '
      ' . JText::_('COM_PHOCADOWNLOAD_AUTHOR') . ':
      '; + $pdAuthor .= '
      ' . $v->author . '
      '; + } + $d .= $pdAuthor; + } + + $pdAuthorEmail = ''; + if ($v->author_email != '') { + $pdAuthorEmail .= '
      ' . JText::_('COM_PHOCADOWNLOAD_EMAIL') . ':
      '; + $pdAuthorEmail .= '
      ' . $l->getProtectEmail($v->author_email) . '
      '; + $d .= $pdAuthorEmail; + } + + $pdFileDate = ''; + $fileDate = $l->getFileDate($v->filename, $v->date); + if ($fileDate != '') { + $pdFileDate .= '
      ' . JText::_('COM_PHOCADOWNLOAD_DATE') . ':
      '; + $pdFileDate .= '
      ' . $fileDate . '
      '; + $d .= $pdFileDate; + } + + $pdDownloads = ''; + if ($this->t['display_downloads'] == 1) { + $pdDownloads .= '
      ' . JText::_('COM_PHOCADOWNLOAD_DOWNLOADS') . ':
      '; + $pdDownloads .= '
      ' . $v->hits . ' x
      '; + $d .= $pdDownloads; + } + + $pdDescription = ''; + if ($l->isValueEditor($v->description) && $this->t['display_description'] != 1 & $this->t['display_description'] != 2 & $this->t['display_description'] != 3) { + $pdDescription .= '
      ' . $v->description . '
      '; + $d .= $pdDescription; + } + + $pdFeatures = ''; + if ($l->isValueEditor($v->features)) { + $pdFeatures .= '
      ' . JText::_('COM_PHOCADOWNLOAD_FEATURES') . '
      '; + $pdFeatures .= '
      ' . $v->features . '
      '; + } + + $pdChangelog = ''; + if ($l->isValueEditor($v->changelog)) { + $pdChangelog .= '
      ' . JText::_('COM_PHOCADOWNLOAD_CHANGELOG') . '
      '; + $pdChangelog .= '
      ' . $v->changelog . '
      '; + } + + $pdNotes = ''; + if ($l->isValueEditor($v->notes)) { + $pdNotes .= '
      ' . JText::_('COM_PHOCADOWNLOAD_NOTES') . '
      '; + $pdNotes .= '
      ' . $v->notes . '
      '; + } + + + // pdfiledesc + $description = $l->isValueEditor($v->description); + + $pdFileDescTop = ''; + $pdFileDescBottom = ''; + $oFileDesc = ''; + + if ($description) { + switch ($this->t['display_description']) { + + case 1: + $pdFileDescTop = '
      ' . $v->description . '
      '; + break; + case 2: + $pdFileDescBottom = '
      ' . $v->description . '
      '; + break; + case 3: + $oFileDesc = '
      ' . $v->description . '
      '; + break; + case 4: + $pdFileDescTop = '
      ' . $v->description . '
      '; + $oFileDesc = '
      ' . PhocaDownloadUtils::strTrimAll($d) . '
      '; + break; + case 5: + $pdFileDescBottom = '
      ' . $v->description . '
      '; + $oFileDesc = '
      ' . PhocaDownloadUtils::strTrimAll($d) . '
      '; + break; + case 6: + $pdFileDescTop = '
      ' . $d . '
      '; + $oFileDesc = '
      ' . PhocaDownloadUtils::strTrimAll($d) . '
      '; + break; + case 7: + $pdFileDescBottom = '
      ' . $d . '
      '; + $oFileDesc = '
      ' . PhocaDownloadUtils::strTrimAll($d) . '
      '; + break; + + case 8: + $oFileDesc = '
      ' . PhocaDownloadUtils::strTrimAll($d) . '
      '; + break; + + default: + break; + } + } + + // Detail Button + if ($this->t['display_detail'] == 1) { + if ($oFileDesc != '') { + $overlibcontent = $oFileDesc; + } else { + $overlibcontent = $d; + } + + $overlibcontent = str_replace('"', '\'', $overlibcontent); + $sA = array(utf8_encode(chr(11)), utf8_encode(chr(160))); + $eA = array("\t", "\n", "\r", "\0"); + $overlibcontent = str_replace($sA, ' ', $overlibcontent); + $overlibcontent = str_replace($eA, '', $overlibcontent); + + $textO = htmlspecialchars(addslashes('
      ' . $overlibcontent . '
      ')); + $overlib = "\n\n" . "onmouseover=\"return overlib('" . $textO . "', CAPTION, '" . JText::_('COM_PHOCADOWNLOAD_DETAILS') . "', BELOW, RIGHT, CSSCLASS, TEXTFONTCLASS, 'fontPhocaPDClass', FGCLASS, 'fgPhocaPDClass', BGCLASS, 'bgPhocaPDClass', CAPTIONFONTCLASS,'capfontPhocaPDClass', CLOSEFONTCLASS, 'capfontclosePhocaPDClass', STICKY, MOUSEOFF, CLOSETEXT, '" . JText::_('COM_PHOCADOWNLOAD_CLOSE') . "');\""; + $overlib .= " onmouseout=\"return nd();\"" . "\n"; + + //$pdButtonDetails = '
      '; + $pdButtonDetails = '' . JText::_('COM_PHOCADOWNLOAD_DETAILS') . ''; + //$pdButtonDetails = '
      '; + } else if ($this->t['display_detail'] == 2) { + + $detailLink = JRoute::_(PhocaDownloadRoute::getFileRoute($v->id, $this->catitem[$v->id]->id, $v->alias, $this->catitem[$v->id]->alias, 0, 'detail') . $this->t['limitstarturl']); + //$pdButtonDetails = '
      '; + + $pdButtonDetails = '' . JText::_('COM_PHOCADOWNLOAD_DETAILS') . ''; + + //$pdButtonDetails .= '
      '; + + } else { + $pdButtonDetails = ''; + } + + /// pdmirrorlink1 + $pdMirrorLink1 = ''; + $mirrorOutput1 = PhocaDownloadRenderFront::displayMirrorLinks(1, $v->mirror1link, $v->mirror1title, $v->mirror1target); + + if ($mirrorOutput1 != '') { + + if ($this->t['display_mirror_links'] == 4 || $this->t['display_mirror_links'] == 6) { + $classMirror = ''; //'pd-button-mirror1'; + $mirrorOutput1 = str_replace('class=""', 'class="btn btn-primary "', $mirrorOutput1); + } else { + $classMirror = 'pd-mirror-bp'; + } + + $pdMirrorLink1 = '
      ' . $mirrorOutput1 . '
      '; + } + + /// pdmirrorlink2 + $pdMirrorLink2 = ''; + $mirrorOutput2 = PhocaDownloadRenderFront::displayMirrorLinks(1, $v->mirror2link, $v->mirror2title, $v->mirror2target); + if ($mirrorOutput2 != '') { + if ($this->t['display_mirror_links'] == 4 || $this->t['display_mirror_links'] == 6) { + $classMirror = ''; //'pd-button-mirror2'; + $mirrorOutput2 = str_replace('class=""', 'class="btn btn-primary "', $mirrorOutput2); + } else { + $classMirror = 'pd-mirror-bp'; + } + + $pdMirrorLink2 = '
      ' . $mirrorOutput2 . '
      '; + } + + /// pdreportlink + $pdReportLink = PhocaDownloadRenderFront::displayReportLink(1, $v->title); + + /// pdrating + $pdRating = PhocaDownloadRate::renderRateFile($v->id, $this->t['display_rating_file']); + + /// pdtags + $pdTags = ''; + if ($this->t['display_tags_links'] == 1 || $this->t['display_tags_links'] == 3) { + $tags2 = $l->displayTags($v->id); + if ($tags2 != '') { + $pdTags .= '
      ' . $tags2 . '
      '; + } + } + + + /// pdvideo + $pdVideo = $l->displayVideo($v->video_filename, 0); + + + // --------------------------------------------------- + // Output + // --------------------------------------------------- + if ($v->textonly == 1) { + echo '
      '; + echo '
      '; + echo $v->description; + echo '
      '; + echo '
      '; // end row + + } else { + + // ======= ROW 1 LEFT + echo '
      '; + + if ($pdFileDescTop != '') { + echo '
      '; + echo $pdFileDescTop; + echo '
      '; + } + + echo '
      '; + echo $pdFile; + echo '
      '; + + // ======= ROW 1 RIGHT + echo '
      '; + + echo '
      ' . $pdButtonDownload . '
      '; + echo '
      ' . $pdButtonDetails . '
      '; + echo '
      ' . $pdButtonPreview . '
      '; + echo '
      ' . $pdButtonPlay . '
      '; + + echo '
      '; + + echo '
      '; // end row + + // ======== ROW 2 LEFT + echo '
      '; + + echo '
      '; + if ($pdVideo != '') { + echo '
      ' . $pdVideo . '
      '; + } + echo '
      ' . $pdRating . '
      '; + echo '
      '; + + // ======== ROW 2 RIGHT + echo '
      '; + + if ($this->t['display_mirror_links'] == 4 || $this->t['display_mirror_links'] == 6) { + if ($pdMirrorLink2 != '') { + echo '
      ' . $pdMirrorLink2 . '
      '; + } + if ($pdMirrorLink1 != '') { + echo '
      ' . $pdMirrorLink1 . '
      '; + } + } else if ($this->t['display_mirror_links'] == 1 || $this->t['display_mirror_links'] == 3) { + echo '
      ' . $pdMirrorLink2 . $pdMirrorLink1 . '
      '; + } + + if ($pdTags != '') { + echo '
      ' . $pdTags . '
      '; + } + + if ($pdReportLink != '') { + echo '
      ' . $pdReportLink . '
      '; + } + + echo '
      '; + + if ($pdFileDescBottom != '') { + echo '
      '; + echo $pdFileDescBottom; + echo '
      '; + } + + echo '
      '; // end row + + + + + /*echo '
      '; + echo $pdFileDescTop; + echo $pdFile; + echo '
      '.$pdButtonDownload.'
      '; + /* + if ($this->t['display_detail'] == 1 || $this->t['display_detail'] == 2) { + echo '
      '.$pdButtonDetails.'
      '; + } + + if ($this->t['display_preview'] == 1 && $pdButtonPreview != '') { + echo '
      '.$pdButtonPreview.'
      '; + } + + if ($this->t['display_play'] == 1 && $pdButtonPlay != '') { + echo '
      '.$pdButtonPlay.'
      '; + } + + if ($this->t['display_mirror_links'] == 4 || $this->t['display_mirror_links'] == 6) { + if ($pdMirrorLink2 != '') { + echo '
      '.$pdMirrorLink2.'
      '; + } + if ($pdMirrorLink1 != '') { + echo '
      '.$pdMirrorLink1.'
      '; + } + + } else if ($this->t['display_mirror_links'] == 1 || $this->t['display_mirror_links'] == 3) { + echo '
      '.$pdMirrorLink2.$pdMirrorLink1.'
      '; + } + + if ($pdVideo != '') { + echo '
      '.$pdVideo.'
      '; + } + + if ($pdReportLink != '') { + echo '
      '.$pdReportLink.'
      '; + } + + if ($pdRating != '') { + echo '
      '.$pdRating.'
      '; + } + + if ($pdTags != '') { + echo '
      '.$pdTags.'
      '; + } + echo $pdFileDescBottom; + echo '
      '; + echo '
      ';*/ + + + + + // --------------------------------------------------- + } + } + } +} diff --git a/packages/phocadownload/components/com_phocadownload/views/category/tmpl/default_pagination.php b/packages/phocadownload/components/com_phocadownload/views/category/tmpl/default_pagination.php index 825b50ee..850ee226 100644 --- a/packages/phocadownload/components/com_phocadownload/views/category/tmpl/default_pagination.php +++ b/packages/phocadownload/components/com_phocadownload/views/category/tmpl/default_pagination.php @@ -1,33 +1,51 @@ -t['action'] = str_replace('&', '&', $this->t['action']); //$this->t['action'] = str_replace('&', '&', $this->t['action']); $this->t['action'] = htmlspecialchars($this->t['action']); -echo '
      '. "\n"; +echo '' . "\n"; echo '
       
      '; -echo '
      '; //echo ''; -echo JHTML::_( 'form.token' ); +echo JHTML::_('form.token'); echo ''; -?> \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/views/category/view.html.php b/packages/phocadownload/components/com_phocadownload/views/category/view.html.php index 55e3f42b..1fb5c55f 100644 --- a/packages/phocadownload/components/com_phocadownload/views/category/view.html.php +++ b/packages/phocadownload/components/com_phocadownload/views/category/view.html.php @@ -7,9 +7,9 @@ * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL */ defined('_JEXEC') or die(); -jimport( 'joomla.application.component.view'); -jimport( 'joomla.filesystem.folder' ); -jimport( 'joomla.filesystem.file' ); +jimport('joomla.application.component.view'); +jimport('joomla.filesystem.folder'); +jimport('joomla.filesystem.file'); class PhocaDownloadViewCategory extends JViewLegacy { @@ -17,137 +17,259 @@ class PhocaDownloadViewCategory extends JViewLegacy protected $subcategories; protected $files; protected $t; - - function display($tpl = null) { - + function display($tpl = null) + { + $app = JFactory::getApplication(); $this->t['p'] = $app->getParams(); $this->t['user'] = JFactory::getUser(); $uri = JFactory::getURI(); $model = $this->getModel(); $document = JFactory::getDocument(); - $this->t['categoryid'] = $app->input->get( 'id', 0, 'int' ); - $this->t['tagid'] = $app->input->get( 'tagid', 0, 'int' ); - $limitStart = $app->input->get( 'limitstart', 0, 'int' ); + $this->t['categoryid'] = $app->input->get('id', 0, 'int'); + $this->t['tagid'] = $app->input->get('tagid', 0, 'int'); + $limitStart = $app->input->get('limitstart', 0, 'int'); $this->t['mediapath'] = PhocaDownloadPath::getPathMedia(); - - $this->category = $model->getCategory($this->t['categoryid']); - $this->subcategories = $model->getSubcategories($this->t['categoryid']); - $this->files = $model->getFileList($this->t['categoryid'], $this->t['tagid']); - $this->t['pagination'] = $model->getPagination($this->t['categoryid'], $this->t['tagid']); - - PhocaDownloadRenderFront::renderAllCSS(); - $document->addCustomTag(''); - if ($limitStart > 0 ) { - $this->t['limitstarturl'] = '&start='.$limitStart; + $search = $app->input->get('search_object', '', 'string'); + $brand = $app->input->get('brand', '', 'string'); + $category = $app->input->get('category', '', 'int'); + $productLine = $app->input->get('productLine', '', 'string'); + $scale = $app->input->get('scale', 0, 'int'); + $rootCategory = $app->input->get('rootCategory', '', 'int'); + $nUserID = $this->t['user']->id > 0 ? $this->t['user']->nUserID : 0; + $programParam = isset($_GET['program']) && $_GET['program'] == '1' ? '&program=1' : ''; + + $this->category = $model->getCategory($this->t['categoryid']); + $this->subcategories = $model->getSubcategories($this->t['categoryid'], $search, $brand, $productLine, $category); + $this->files = $model->getFileList($this->t['categoryid'], $this->t['tagid'], $search, $brand, $productLine, $category, $rootCategory); + $this->t['pagination'] = $model->getPagination($this->t['categoryid'], $this->t['tagid'], $search, $brand, $productLine, $category, $rootCategory); + $this->t['itemMenu'] = $model->getMenuItems(41, $nUserID); + $this->t['brandMenu'] = $model->getBrandsMenuItems(41, $nUserID); + $this->t['actives'] = array($this->category[0]->id, $this->category[0]->parentid); + $this->t['searchTxt'] = $search; + $this->t['hlnums'] = $model->getHlNums($nUserID); + $this->t['background'] = false; + $this->t['no_result'] = $search != '' && empty($this->files); + $this->t['modelClass'] = $category != '' || $brand != '' || ($brand != '' && $productLine != '') ? 'hiddenModel' : ''; + $this->t['brandClass'] = $this->t['modelClass'] == '' ? 'hiddenBrand' : ''; + $this->t['scale'] = $scale > 1 && $scale < 5 ? $scale : 3; + $this->t['scaleParam'] = $scale != 0 ? '&scale=' . $scale : ''; + $this->t['lang'] = JFactory::getLanguage()->getTag(); + $this->t['scaleParam'] .= $programParam; + $this->t['limitPram'] = isset($_GET['limitstart']) && isset($_GET['limit']) ? '&limitstart=' . $_GET['limitstart'] . '&limit=' . $_GET['limit'] : ''; + $this->t['desc'] = $model->getDescription(12584, $_GET['rgn']); + + if ($this->category[0]->id == 41) { + $files = glob($_SERVER['DOCUMENT_ROOT'] . '/public/images/cloud_library/backgrounds/*.jpg'); + + $rand_key = array_rand($files, 1); + $background = explode($_SERVER['DOCUMENT_ROOT'], $files[$rand_key]); + $this->t['background'] = $background[1]; + } + + foreach ($this->t['itemMenu'] as $menu) { + if (isset($menu->subCategories[$this->category[0]->parentid])) + array_push($this->t['actives'], $menu->id); + } + + if ($this->category[0]->metakey != '') { + $subArray = explode(";", $this->category[0]->metakey); + + $mergedArray = array_merge($this->t['actives'], $subArray); + $this->t['actives'] = $mergedArray; + } + + PhocaDownloadRenderFront::renderAllCSS(); + $document->addCustomTag(''); + + if ($limitStart > 0) { + $this->t['limitstarturl'] = '&start=' . $limitStart; } else { $this->t['limitstarturl'] = ''; } - - $this->t['download_external_link'] = $this->t['p']->get( 'download_external_link', '_self' ); - $this->t['filename_or_name'] = $this->t['p']->get( 'filename_or_name', 'filenametitle' ); - $this->t['display_downloads'] = $this->t['p']->get( 'display_downloads', 0 ); - $this->t['display_description'] = $this->t['p']->get( 'display_description', 3 ); - $this->t['display_detail'] = $this->t['p']->get( 'display_detail', 1 ); - $this->t['display_play'] = $this->t['p']->get( 'display_play', 0 ); - $this->t['playerwidth'] = $this->t['p']->get( 'player_width', 328 ); - $this->t['playerheight'] = $this->t['p']->get( 'player_height', 200 ); - $this->t['playermp3height'] = $this->t['p']->get( 'player_mp3_height', 30 ); - $this->t['previewwidth'] = $this->t['p']->get( 'preview_width', 640 ); - $this->t['previewheight'] = $this->t['p']->get( 'preview_height', 480 ); - $this->t['display_preview'] = $this->t['p']->get( 'display_preview', 0 ); - $this->t['play_popup_window'] = $this->t['p']->get( 'play_popup_window', 0 ); - $this->t['preview_popup_window'] = $this->t['p']->get( 'preview_popup_window', 0 ); - $this->t['file_icon_size'] = $this->t['p']->get( 'file_icon_size', 16 ); - $this->t['displaynew'] = $this->t['p']->get( 'display_new', 0 ); - $this->t['displayhot'] = $this->t['p']->get( 'display_hot', 0 ); - $this->t['display_up_icon'] = $this->t['p']->get( 'display_up_icon', 1 ); - $this->t['allowed_file_types'] = $this->t['p']->get( 'allowed_file_types', '' ); - $this->t['disallowed_file_types'] = $this->t['p']->get( 'disallowed_file_types', '' ); - $this->t['enable_user_statistics'] = $this->t['p']->get( 'enable_user_statistics', 1 ); - $this->t['display_category_comments']= $this->t['p']->get( 'display_category_comments', 0 ); - $this->t['display_date_type'] = $this->t['p']->get( 'display_date_type', 0 ); + + $this->t['sign_out_link'] = $_SERVER['SERVER_NAME'] == 'www.archline.hu' ? '/kilepes' : '/logout'; + $this->t['profile_link'] = $_SERVER['SERVER_NAME'] == 'www.archline.hu' ? '/felhasznalo' : '/user'; + $this->t['download_external_link'] = $this->t['p']->get('download_external_link', '_self'); + $this->t['filename_or_name'] = $this->t['p']->get('filename_or_name', 'filenametitle'); + $this->t['display_downloads'] = $this->t['p']->get('display_downloads', 0); + $this->t['display_description'] = $this->t['p']->get('display_description', 3); + $this->t['display_detail'] = $this->t['p']->get('display_detail', 1); + $this->t['display_play'] = $this->t['p']->get('display_play', 0); + $this->t['playerwidth'] = $this->t['p']->get('player_width', 328); + $this->t['playerheight'] = $this->t['p']->get('player_height', 200); + $this->t['playermp3height'] = $this->t['p']->get('player_mp3_height', 30); + $this->t['previewwidth'] = $this->t['p']->get('preview_width', 640); + $this->t['previewheight'] = $this->t['p']->get('preview_height', 480); + $this->t['display_preview'] = $this->t['p']->get('display_preview', 0); + $this->t['play_popup_window'] = $this->t['p']->get('play_popup_window', 0); + $this->t['preview_popup_window'] = $this->t['p']->get('preview_popup_window', 0); + $this->t['file_icon_size'] = $this->t['p']->get('file_icon_size', 16); + $this->t['displaynew'] = $this->t['p']->get('display_new', 0); + $this->t['displayhot'] = $this->t['p']->get('display_hot', 0); + $this->t['display_up_icon'] = $this->t['p']->get('display_up_icon', 1); + $this->t['allowed_file_types'] = $this->t['p']->get('allowed_file_types', ''); + $this->t['disallowed_file_types'] = $this->t['p']->get('disallowed_file_types', ''); + $this->t['enable_user_statistics'] = $this->t['p']->get('enable_user_statistics', 1); + $this->t['display_category_comments'] = $this->t['p']->get('display_category_comments', 0); + $this->t['display_date_type'] = $this->t['p']->get('display_date_type', 0); $this->t['display_file_view'] = $this->t['p']->get('display_file_view', 0); - $this->t['download_metakey'] = $this->t['p']->get( 'download_metakey', '' ); - $this->t['download_metadesc'] = $this->t['p']->get( 'download_metadesc', '' ); - $this->t['display_rating_file'] = $this->t['p']->get( 'display_rating_file', 0 ); - $this->t['display_mirror_links'] = $this->t['p']->get( 'display_mirror_links', 0 ); - $this->t['display_report_link'] = $this->t['p']->get( 'display_report_link', 0 ); - $this->t['send_mail_download'] = $this->t['p']->get( 'send_mail_download', 0 );// not boolean but id of user + $this->t['download_metakey'] = $this->t['p']->get('download_metakey', ''); + $this->t['download_metadesc'] = $this->t['p']->get('download_metadesc', ''); + $this->t['display_rating_file'] = $this->t['p']->get('display_rating_file', 0); + $this->t['display_mirror_links'] = $this->t['p']->get('display_mirror_links', 0); + $this->t['display_report_link'] = $this->t['p']->get('display_report_link', 0); + $this->t['send_mail_download'] = $this->t['p']->get('send_mail_download', 0); // not boolean but id of user //$this->t['send_mail_upload'] = $this->t['p']->get( 'send_mail_upload', 0 ); - $this->t['display_tags_links'] = $this->t['p']->get( 'display_tags_links', 0 ); - $this->t['display_specific_layout'] = $this->t['p']->get( 'display_specific_layout', 0 ); - $this->t['fb_comment_app_id'] = $this->t['p']->get( 'fb_comment_app_id', '' ); - $this->t['fb_comment_width'] = $this->t['p']->get( 'fb_comment_width', '550' ); - $this->t['fb_comment_lang'] = $this->t['p']->get( 'fb_comment_lang', 'en_US' ); - $this->t['fb_comment_count'] = $this->t['p']->get( 'fb_comment_count', '' ); - $this->t['html5_play'] = $this->t['p']->get( 'html5_play', 0 ); - - + $this->t['display_tags_links'] = $this->t['p']->get('display_tags_links', 0); + $this->t['display_specific_layout'] = $this->t['p']->get('display_specific_layout', 0); + $this->t['fb_comment_app_id'] = $this->t['p']->get('fb_comment_app_id', ''); + $this->t['fb_comment_width'] = $this->t['p']->get('fb_comment_width', '550'); + $this->t['fb_comment_lang'] = $this->t['p']->get('fb_comment_lang', 'en_US'); + $this->t['fb_comment_count'] = $this->t['p']->get('fb_comment_count', ''); + $this->t['html5_play'] = $this->t['p']->get('html5_play', 0); + $this->t['bt_cat_col_left'] = (int)$this->t['p']->get('bt_cat_col_left', 6); + if ($this->t['bt_cat_col_left'] == 12) { + $this->t['bt_cat_col_right'] = 12; + } else { + $this->t['bt_cat_col_right'] = 12 - $this->t['bt_cat_col_left']; + } + // Rating if ($this->t['display_rating_file'] == 1 || $this->t['display_rating_file'] == 3) { - JHTML::_('behavior.framework', true); + JHtml::_('jquery.framework', false); PhocaDownloadRate::renderRateFileJS(1); $this->t['display_rating_file'] = 1; } else { $this->t['display_rating_file'] = 0; } - - $this->t['dg'] = PhocaDownloadRenderFront::renderPhocaDownload(); - + + $this->t['afd'] = PhocaDownloadRenderFront::renderPhocaDownload(); + + // LOGOUT + // - - - - - - - - - - - - - - - + $logout = $app->input->get('warehouse_logout', array(0), 'array'); + $logoutId = (int) $logout[0]; + if ($logoutId > 0) { + $uri = JUri::getInstance(); + + $app = JFactory::getApplication(); + $app->logout($logoutId); + $app->redirect(JRoute::_($uri->toString(), false)); + } + // - - - - - - - - - - - - - - - + + // SCALE DOWN + // - - - - - - - - - - - - - - - + $scaleDown = $app->input->get('btn_scale_down', array(0), 'array'); + $scaleDownId = (int) $scaleDown[0]; + if ($scaleDownId > 0) { + $scale = isset($_GET['scale']) ? $_GET['scale'] - 1 : 2; + if (($scale > 1 && $scale < 5) || !isset($_GET['scale'])) { + if ($brand != '' && $productLine != '') + $url = '/warehouse?brand=' . $brand . '&productLine=' . $productLine . '&scale=' . $scale . $programParam; + elseif ($brand != '' && $productLine == '') + $url = '/warehouse?brand=' . $brand . '&scale=' . $scale . $programParam; + else + $url = '/index.php?option=com_phocadownload&view=category&id=' . $_GET['id'] . '&Itemid=' . $_GET['Itemid'] . '&scale=' . $scale . $programParam; + + $app->redirect($url); + } + } + + // SCALE UP + $scaleUp = $app->input->get('btn_scale_up', array(0), 'array'); + $scaleUpId = (int) $scaleUp[0]; + if ($scaleUpId > 0) { + $scale = isset($_GET['scale']) ? $_GET['scale'] + 1 : 4; + if (($scale > 1 && $scale < 5) || !isset($_GET['scale'])) { + if ($brand != '' && $productLine != '') + $url = '/warehouse?brand=' . $brand . '&productLine=' . $productLine . '&scale=' . $scale . $programParam; + elseif ($brand != '' && $productLine == '') + $url = '/warehouse?brand=' . $brand . '&scale=' . $scale . $programParam; + else + $url = '/index.php?option=com_phocadownload&view=category&id=' . $_GET['id'] . '&Itemid=' . $_GET['Itemid'] . '&scale=' . $scale . $programParam; + + $app->redirect($url); + } + } + // DOWNLOAD // - - - - - - - - - - - - - - - - $download = $app->input->get( 'download', array(0),'array' ); + $download = $app->input->get('download', array(0), 'array'); $downloadId = (int) $download[0]; if ($downloadId > 0) { - if (isset($this->category[0]->id) && (int)$this->category[0]->id > 0 ) { - $currentLink = 'index.php?option=com_phocadownload&view=category&id='.$this->category[0]->id.':'.$this->category[0]->alias.$this->t['limitstarturl'] . '&Itemid='. $app->input->get('Itemid', 0, 'int'); + if (isset($this->category[0]->id) && (int)$this->category[0]->id > 0) { + $currentLink = 'index.php?option=com_phocadownload&view=category&id=' . $this->category[0]->id . ':' . $this->category[0]->alias . $this->t['limitstarturl'] . '&Itemid=' . $app->input->get('Itemid', 0, 'int'); } else { $currentLink = $uri; } - $fileData = PhocaDownloadDownload::getDownloadData($downloadId, $currentLink); + $fileData = PhocaDownloadDownload::getDownloadData($downloadId, $currentLink); + $model->updateShow($downloadId); PhocaDownloadDownload::download($fileData, $downloadId, $currentLink); } // - - - - - - - - - - - - - - - - + + // MULTI DOWNLOAD + // - - - - - - - - - - - - - - - + $multiDownload = $app->input->get('multiDownload', array(0), 'array'); + $multiDownloadId = (int) $multiDownload[0]; + if ($multiDownloadId > 0) { + PhocaDownloadDownload::download($fileData, $multiDownloadId, $currentLink, 0, true); + } + // - - - - - - - - - - - - - - - + // DETAIL // - - - - - - - - - - - - - - - + + // BOOTSTRAP + $this->t['bootstrapmodal'] = ''; + PhocaDownloadRenderFront::renderBootstrapModalJs('.pd-modal-button'); + if ($this->t['display_detail'] == 2) { $this->t['buttond'] = new JObject(); $this->t['buttond']->set('methodname', 'modal-button'); $this->t['buttond']->set('name', 'detail'); $this->t['buttond']->set('modal', true); $this->t['buttond']->set('options', "{handler: 'iframe', size: {x: 600, y: 500}, overlayOpacity: 0.7, classWindow: 'phocadownloaddetailwindow', classOverlay: 'phocadownloaddetailoverlay'}"); + + // BOOTSTRAP + $this->t['bootstrapmodal'] .= PhocaDownloadRenderFront::bootstrapModalHtml('phModalDetail', JText::_('COM_PHOCADOWNLOAD_DETAILS')); } - - JHTML::_('behavior.modal', 'a.pd-modal-button'); + + // PLAY - - - - - - - - - - - - $windowWidthPl = (int)$this->t['playerwidth'] + 20; $windowHeightPl = (int)$this->t['playerheight'] + 20; - + if ($this->t['html5_play'] == 1) { - $windowWidthPl = (int)$this->t['playerwidth'] + 40; + $windowWidthPl = (int)$this->t['playerwidth'] + 50; } else { $windowWidthPl = (int)$this->t['playerwidth'] + 50; } - $windowHeightPlMP3 = (int)$this->t['playermp3height'] + 20; + $windowHeightPlMP3 = (int)$this->t['playermp3height'] + 30; if ($this->t['play_popup_window'] == 1) { $this->t['buttonpl'] = new JObject(); $this->t['buttonpl']->set('methodname', 'js-button'); - $this->t['buttonpl']->set('options', "window.open(this.href,'win2','width=".$windowWidthPl.",height=".$windowHeightPl.",scrollbars=yes,menubar=no,resizable=yes'); return false;"); - $this->t['buttonpl']->set('optionsmp3', "window.open(this.href,'win2','width=".$windowWidthPl.",height=".$windowHeightPlMP3.",scrollbars=yes,menubar=no,resizable=yes'); return false;"); + $this->t['buttonpl']->set('options', "window.open(this.href,'win2','width=" . $windowWidthPl . ",height=" . $windowHeightPl . ",scrollbars=yes,menubar=no,resizable=yes'); return false;"); + $this->t['buttonpl']->set('optionsmp3', "window.open(this.href,'win2','width=" . $windowWidthPl . ",height=" . $windowHeightPlMP3 . ",scrollbars=yes,menubar=no,resizable=yes'); return false;"); } else { - $document->addCustomTag( " \n"); + $document->addCustomTag(" \n"); $this->t['buttonpl'] = new JObject(); $this->t['buttonpl']->set('name', 'image'); $this->t['buttonpl']->set('modal', true); $this->t['buttonpl']->set('methodname', 'modal-button'); - $this->t['buttonpl']->set('options', "{handler: 'iframe', size: {x: ".$windowWidthPl.", y: ".$windowHeightPl."}, overlayOpacity: 0.7, classWindow: 'phocadownloadplaywindow', classOverlay: 'phocadownloadplayoverlay'}"); - $this->t['buttonpl']->set('optionsmp3', "{handler: 'iframe', size: {x: ".$windowWidthPl.", y: ".$windowHeightPlMP3."}, overlayOpacity: 0.7, classWindow: 'phocadownloadplaywindow', classOverlay: 'phocadownloadplayoverlay'}"); + $this->t['buttonpl']->set('options', "{handler: 'iframe', size: {x: " . $windowWidthPl . ", y: " . $windowHeightPl . "}, overlayOpacity: 0.7, classWindow: 'phocadownloadplaywindow', classOverlay: 'phocadownloadplayoverlay'}"); + $this->t['buttonpl']->set('optionsmp3', "{handler: 'iframe', size: {x: " . $windowWidthPl . ", y: " . $windowHeightPlMP3 . "}, overlayOpacity: 0.7, classWindow: 'phocadownloadplaywindow', classOverlay: 'phocadownloadplayoverlay'}"); + + // BOOTSTRAP + $this->t['buttonpl']->set('optionsB', ' data-width-dialog="' . $windowWidthPl . '" data-height-dialog="' . $windowHeightPl . '"'); + $this->t['buttonpl']->set('optionsmp3B', ' data-width-dialog="' . $windowWidthPl . '" data-height-dialog="' . $windowHeightPlMP3 . '"'); + $this->t['bootstrapmodal'] .= PhocaDownloadRenderFront::bootstrapModalHtml('phModalPlay', JText::_('COM_PHOCADOWNLOAD_PLAY')); } // - - - - - - - - - - - - - - - // PREVIEW - - - - - - - - - - - - @@ -156,46 +278,79 @@ class PhocaDownloadViewCategory extends JViewLegacy if ($this->t['preview_popup_window'] == 1) { $this->t['buttonpr'] = new JObject(); $this->t['buttonpr']->set('methodname', 'js-button'); - $this->t['buttonpr']->set('options', "window.open(this.href,'win2','width=".$windowWidthPr.",height=".$windowHeightPr.",scrollbars=yes,menubar=no,resizable=yes'); return false;"); + $this->t['buttonpr']->set('options', "window.open(this.href,'win2','width=" . $windowWidthPr . ",height=" . $windowHeightPr . ",scrollbars=yes,menubar=no,resizable=yes'); return false;"); } else { - $document->addCustomTag( " \n"); + $document->addCustomTag(" \n"); $this->t['buttonpr'] = new JObject(); $this->t['buttonpr']->set('name', 'image'); $this->t['buttonpr']->set('modal', true); $this->t['buttonpr']->set('methodname', 'modal-button'); - $this->t['buttonpr']->set('options', "{handler: 'iframe', size: {x: ".$windowWidthPr.", y: ".$windowHeightPr."}, overlayOpacity: 0.7, classWindow: 'phocadownloadpreviewwindow', classOverlay: 'phocadownloadpreviewoverlay'}"); + $this->t['buttonpr']->set('options', "{handler: 'iframe', size: {x: " . $windowWidthPr . ", y: " . $windowHeightPr . "}, overlayOpacity: 0.7, classWindow: 'phocadownloadpreviewwindow', classOverlay: 'phocadownloadpreviewoverlay'}"); $this->t['buttonpr']->set('optionsimg', "{handler: 'image', size: {x: 200, y: 150}, overlayOpacity: 0.7, classWindow: 'phocadownloadpreviewwindow', classOverlay: 'phocadownloadpreviewoverlay'}"); + + // BOOTSTRAP + $this->t['buttonpr']->set('optionsB', ' data-type="document" data-width-dialog="' . $windowWidthPr . '" data-height-dialog="' . $windowHeightPr . '"'); + $this->t['buttonpr']->set('optionsimgB', 'data-type="image"'); + $this->t['bootstrapmodal'] .= PhocaDownloadRenderFront::bootstrapModalHtml('phModalPreview', JText::_('COM_PHOCADOWNLOAD_PREVIEW')); } // - - - - - - - - - - - - - - - - + + $this->t['ordering'] = $model->getFileOrderingSelect(); + $imagePath = PhocaDownloadPath::getPathSet('icon'); - $this->t['cssimgpath'] = str_replace ( '../', JURI::base(true).'/', $imagePath['orig_rel_ds']); + $this->t['cssimgpath'] = str_replace('../', JURI::base(true) . '/', $imagePath['orig_rel_ds']); $filePath = PhocaDownloadPath::getPathSet('file'); $this->t['absfilepath'] = $filePath['orig_abs_ds']; $this->t['action'] = $uri->toString(); - if (isset($this->category[0]) && is_object($this->category[0])){ + + + // Bootstrap 3 Layout + $this->tmpl['display_bootstrap3_layout'] = $this->t['p']->get('display_bootstrap3_layout', 0); + if ($this->tmpl['display_bootstrap3_layout'] == 1) { + + JHtml::_('jquery.framework', false); + JHTML::stylesheet('media/com_phocadownload/bootstrap/css/bootstrap.min.css'); + JHTML::stylesheet('media/com_phocadownload/bootstrap/css/bootstrap.extended.css'); + // Loaded by jquery.framework; + //$document->addScript(JURI::root(true).'/media/com_phocadownload/bootstrap/js/bootstrap.min.js'); + /*$document->addScript(JURI::root(true).'/media/com_phocadownload/js/jquery.equalheights.min.js'); + $document->addScriptDeclaration( + 'jQuery(window).load(function(){ + jQuery(\'.ph-thumbnail\').equalHeights(); + });');*/ + } else { + // Because of modals + JHTML::_('behavior.framework', true); + JHTML::_('behavior.modal', 'a.pd-modal-button'); + } + + if (isset($this->category[0]) && is_object($this->category[0])) { $this->_prepareDocument($this->category[0]); } - - parent::display($tpl); - + + if ($this->tmpl['display_bootstrap3_layout'] == 1) { + parent::display('bootstrap'); + } else { + parent::display($tpl); + } } - - protected function _prepareDocument($category) { - + + protected function _prepareDocument($category) + { + $app = JFactory::getApplication(); $menus = $app->getMenu(); $pathway = $app->getPathway(); //$this->t['p'] = &$app->getParams(); $title = null; - - $this->t['downloadmetakey'] = $this->t['p']->get( 'download_metakey', '' ); - $this->t['downloadmetadesc'] = $this->t['p']->get( 'download_metadesc', '' ); - + + $this->t['downloadmetakey'] = $this->t['p']->get('download_metakey', ''); + $this->t['downloadmetadesc'] = $this->t['p']->get('download_metadesc', ''); + $menu = $menus->getActive(); if ($menu) { @@ -220,35 +375,34 @@ class PhocaDownloadViewCategory extends JViewLegacy $this->document->setTitle($title);*/ - - $title = $this->t['p']->get('page_title', ''); - $this->tmpl['display_cat_name_title'] = 1; + + $title = $this->t['p']->get('page_title', ''); + $this->tmpl['display_cat_name_title'] = 1; if (empty($title)) { $title = htmlspecialchars_decode($app->getCfg('sitename')); } else if ($app->getCfg('sitename_pagetitles', 0) == 1) { $title = JText::sprintf('JPAGETITLE', htmlspecialchars_decode($app->getCfg('sitename')), $title); - + if ($this->tmpl['display_cat_name_title'] == 1 && isset($category->title) && $category->title != '') { - $title = $title .' - ' . $category->title; + $title = $title . ' - ' . $category->title; } - } else if ($app->getCfg('sitename_pagetitles', 0) == 2) { - + if ($this->tmpl['display_cat_name_title'] == 1 && isset($category->title) && $category->title != '') { - $title = $title .' - ' . $category->title; + $title = $title . ' - ' . $category->title; } $title = JText::sprintf('JPAGETITLE', $title, htmlspecialchars_decode($app->getCfg('sitename'))); } $this->document->setTitle($title); - + if ($category->metadesc != '') { $this->document->setDescription($category->metadesc); } else if ($this->t['downloadmetadesc'] != '') { $this->document->setDescription($this->t['downloadmetadesc']); } else if ($this->t['p']->get('menu-meta_description', '')) { $this->document->setDescription($this->t['p']->get('menu-meta_description', '')); - } + } if ($category->metakey != '') { $this->document->setMetadata('keywords', $category->metakey); @@ -261,7 +415,7 @@ class PhocaDownloadViewCategory extends JViewLegacy if ($app->getCfg('MetaTitle') == '1' && $this->t['p']->get('menupage_title', '')) { $this->document->setMetaData('title', $this->t['p']->get('page_title', '')); } - + // Breadcrumbs TODO (Add the whole tree) /*$pathway = $app->getPathway(); if (isset($this->category[0]->parentid)) { @@ -275,27 +429,34 @@ class PhocaDownloadViewCategory extends JViewLegacy if (!empty($this->category[0]->title)) { $pathway->addItem($this->category[0]->title); }*/ - + // Breadcrumbs TODO (Add the whole tree) - $pathway = $app->getPathway(); + + + // Start comment if problem with duplicated pathway + // /* if (isset($this->category[0]->parentid)) { if ($this->category[0]->parentid == 0) { // $pathway->addItem( JText::_('COM_PHOCADOWNLOAD_CATEGORIES'), JRoute::_(PhocaDownloadRoute::getCategoriesRoute())); + } else if ($this->category[0]->parentid > 0) { $curpath = $pathway->getPathwayNames(); - if($this->category[0]->parenttitle != $curpath[count($curpath)-1]){ - $pathway->addItem($this->category[0]->parenttitle, JRoute::_(PhocaDownloadRoute::getCategoryRoute($this->category[0]->parentid, $this->category[0]->parentalias))); + + if (isset($this->category[0]->parenttitle) && isset($curpath[count($curpath) - 1]) && $this->category[0]->parenttitle != $curpath[count($curpath) - 1]) { + + + $pathway->addItem($this->category[0]->parenttitle, JRoute::_(PhocaDownloadRoute::getCategoryRoute($this->category[0]->parentid, $this->category[0]->parentalias))); } } } + // */ + // End comment when problem with duplicated pathway if (!empty($this->category[0]->title)) { $curpath = $pathway->getPathwayNames(); - if($this->category[0]->title != $curpath[count($curpath)-1]){ + if (isset($this->category[0]->title) && isset($curpath[count($curpath) - 1]) && $this->category[0]->title != $curpath[count($curpath) - 1]) { $pathway->addItem($this->category[0]->title); } } - } } -?> \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/views/download/metadata.xml b/packages/phocadownload/components/com_phocadownload/views/download/metadata.xml index 81b20c70..78e3f1d8 100644 --- a/packages/phocadownload/components/com_phocadownload/views/download/metadata.xml +++ b/packages/phocadownload/components/com_phocadownload/views/download/metadata.xml @@ -1,6 +1,6 @@ - - - - - + + + + + \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/views/download/tmpl/default.php b/packages/phocadownload/components/com_phocadownload/views/download/tmpl/default.php index 86c2404a..a49c263b 100644 --- a/packages/phocadownload/components/com_phocadownload/views/download/tmpl/default.php +++ b/packages/phocadownload/components/com_phocadownload/views/download/tmpl/default.php @@ -1,429 +1,774 @@ t['p']->get( 'pageclass_sfx' ).'" >'; -echo '
      '; - -if ($this->t['found'] == 1) { - if(isset($this->file[0]->id) && (int)$this->file[0]->id > 0 && isset($this->file[0]->token) && $this->file[0]->token != '') { - - $v = $this->file[0]; - $downloadLink = PhocaDownloadRoute::getDownloadRoute((int)$v->id, (int)$v->catid, $v->token); - $l = new PhocaDownloadLayout(); - - //echo '

      '.$l->getName($v->title, $v->filename, 1). '

      '; - - $pdTitle = ''; - if ($v->title != '') { - $pdTitle .= '
      '.$v->title.'
      '; - } - - $pdImage = ''; - if ($v->image_download != '') { - $pdImage .= '
      '.$l->getImageDownload($v->image_download).'
      '; - } - - if ($v->filename != '') { - $imageFileName = $l->getImageFileName($v->image_filename, $v->filename); - - $pdFile = '
      '; - if ($this->t['filename_or_name'] == 'filenametitle') { - $pdFile .= '
      '. $v->title . '
      '; - } - - $pdFile .= '
      '. $imageFileName['filenamethumb'] - . '
      '; - - $pdFile .= '
      '; - $pdFile .= $l->getName($v->title, $v->filename); - $pdFile .= '
      '; - - $pdFile .= PhocaDownloadRenderFront::displayNewIcon($v->date, $this->t['displaynew']); - $pdFile .= PhocaDownloadRenderFront::displayHotIcon($v->hits, $this->t['displayhot']); - - //Specific icons - if (isset($v->image_filename_spec1) && $v->image_filename_spec1 != '') { - $pdFile .= '
      '.$l->getImageDownload($v->image_filename_spec1).'
      '; - } - if (isset($v->image_filename_spec2) && $v->image_filename_spec2 != '') { - $pdFile .= '
      '.$l->getImageDownload($v->image_filename_spec2).'
      '; - } - - $pdFile .= '
      ' . "\n"; - } - echo ''; - +// NEW +echo ""; + +if (isset($_GET['program']) && $_GET['program'] == 1) { + echo ''; +} + +$rgn .= isset($_GET['rgn']) ? '&rgn=' . $_GET['rgn'] : '&rgn=Int'; + +$warehouseParam = ''; +if ($this->t['scaleParam'] != '') + $warehouseParam = preg_replace('/&/', '?', $this->t['scaleParam'], 1); + +if (isset($_GET['program'])) { + $warehouseParam .= isset($_GET['rgn']) ? '&rgn=' . $_GET['rgn'] : '&rgn=Int'; } else { - echo '
      '.JText::_('COM_PHOCADOWNLOAD_FILE_NOT_FOUND').'
      '; + $warehouseParam .= isset($_GET['rgn']) ? '?rgn=' . $_GET['rgn'] : '?rgn=Int'; } -/* -if ( $this->t['p']->get( 'show_page_heading' ) ) { - echo '

      '. $this->escape($this->t['p']->get('page_heading')) . '

      '; +if (isset($_GET['rgn']) && $_GET['rgn'] == 'Cn') { + $img = '/public/images/cloud_library/gstar_bim_logo.png'; +} else { + $img = '/public/images/cloud_library/ARCHLineXP_logo_ARCHITECT_2017_big_cube_no_text.jpg'; } -if (!empty($this->category[0])) { - echo '
      '; - if ($this->t['display_up_icon'] == 1 && $this->t['tmplr'] == 0) { - - if (isset($this->category[0]->id)) { - if ($this->category[0]->id > 0) { - $linkUp = JRoute::_(PhocaDownloadRoute::getCategoryRoute($this->category[0]->id, $this->category[0]->alias)); - $linkUpText = $this->category[0]->title; +echo '
      '; +echo '
      '; + + +echo '
      '; + + + +echo '
      '; + + +echo '
      '; +echo ''; +echo '
      '; + +if (!isset($_GET['rgn']) || $_GET['rgn'] != 'Cn') { + echo '
      '; + if ($this->t['user']->id > 0) { + echo ''; + } else { + echo ''; + echo ''; + } + echo '
      '; + echo '
      '; +} +echo '
      '; +echo '
      '; + +$modelsActive = $this->t['brandClass'] != '' ? 'active-link' : ''; +$brandActive = $this->t['brandClass'] == '' ? 'active-link' : ''; + +echo '
      '; +echo '
      '; +echo '' . JText::_('COM_PHOCADOWNLOAD_DOWNLOAD_MODELS') . ''; +echo '
      '; +echo '
      '; +echo '' . JText::_('COM_PHOCADOWNLOAD_DOWNLOAD_BRANDS') . ''; +echo '
      '; +echo '
      '; + +echo ''; +echo '
      '; +echo '
      '; +echo '
      '; + +echo '
      '; +echo '
      '; + +echo '
      '; +echo '
      '; +echo ''; +echo '
      '; +echo '
      '; + +echo '
      '; +echo '
      '; +echo ''; +echo '
      '; +echo '
      '; + +echo '
      '; + +echo '
      '; +echo '
      '; +echo '
      '; +foreach ($this->files as $v) { + $jsonFile = explode(".environment", $v->filename); + + $cBtnDanger = 'btn btn-danger'; + $cBtnWarning = 'btn btn-warning'; + $cBtnSuccess = 'btn btn-success'; + $cBtnInfo = 'btn btn-info'; + + // General + $linkDownloadB = ''; + $linkDownloadE = ''; + $pageID = 0; + $lang = ''; + if ((int)$v->confirm_license > 0 || $this->t['display_file_view'] == 1) { + $linkDownloadB = ''; // we need pagination to go back + $linkDownloadE = ''; + } else { + if ($v->link_external != '' && $v->directlink == 1) { + $linkDownloadB = ''; + $linkDownloadE = ''; + } else { + if ($_GET['Itemid'] == 745) { + $linkDownloadB = ''; + $linkDownloadE = ''; + $pageID = 744; + $lang = 'en'; + } else { + $linkDownloadB = ''; + $linkDownloadE = ''; + $pageID = 729; + $lang = 'hu'; + } + } + } + + $title = ''; + if (strlen($v->title) > 30) { + $title = substr($v->title, 0, 30) . '...'; + } else { + $title = $v->title; + } + + // pdbuttondownload + $pdButtonDownload = '
      '; + $pdButtonDownload .= str_replace('class=""', 'class="' . $cBtnSuccess . '"', $linkDownloadB) . JText::_('COM_PHOCADOWNLOAD_DOWNLOAD') . $linkDownloadE; + + $pdButtonDownload .= '
      '; + + echo '
      '; + echo '
      '; + echo ''; + echo '
      '; + echo ''; + echo '
      '; + echo '
      '; + echo '
      '; + echo '
      '; + echo '
      '; + echo ''; + echo $title; + echo ''; + echo '
      '; + echo '
      '; + echo $linkDownloadB; + echo ''; + echo $linkDownloadE; + echo '
      '; + echo '
      '; + echo '
      '; + echo '
      '; + echo '
      '; +} +echo '
      '; +echo '
      '; + + +echo '
      '; + + + +echo '
      '; + +echo '
      '; +echo '
      '; + +// OLD +if (false) { + echo '
      '; + echo '
      '; + + if ($this->t['found'] == 1) { + if (isset($this->file[0]->id) && (int)$this->file[0]->id > 0 && isset($this->file[0]->token) && $this->file[0]->token != '') { + + $v = $this->file[0]; + $downloadLink = PhocaDownloadRoute::getDownloadRoute((int)$v->id, (int)$v->catid, $v->token); + $l = new PhocaDownloadLayout(); + + //echo '

      '.$l->getName($v->title, $v->filename, 1). '

      '; + $pdTitle = ''; if ($v->title != '') { - $pdTitle .= '
      '.$v->title.'
      '; + $pdTitle .= '
      ' . $v->title . '
      '; } - + $pdImage = ''; if ($v->image_download != '') { - $pdImage .= '
      '.$l->getImageDownload($v->image_download).'
      '; + $pdImage .= '
      ' . $l->getImageDownload($v->image_download) . '
      '; } - - $pdVideo = ''; - $pdVideo = $l->displayVideo($v->video_filename, 1); - + if ($v->filename != '') { $imageFileName = $l->getImageFileName($v->image_filename, $v->filename); - + $pdFile = '
      '; if ($this->t['filename_or_name'] == 'filenametitle') { - $pdFile .= '
      '. $v->title . '
      '; + $pdFile .= '
      ' . $v->title . '
      '; } - - $pdFile .= '
      '. $imageFileName['filenamethumb'] - . '
      '; - + + $pdFile .= '
      ' . $imageFileName['filenamethumb'] + . '
      '; + $pdFile .= '
      '; $pdFile .= $l->getName($v->title, $v->filename); $pdFile .= '
      '; - + $pdFile .= PhocaDownloadRenderFront::displayNewIcon($v->date, $this->t['displaynew']); $pdFile .= PhocaDownloadRenderFront::displayHotIcon($v->hits, $this->t['displayhot']); - + + // String Tags - title suffix + $tagsS = $l->displayTagsString($v->tags_string); + if ($tagsS != '') { + $pdFile .= '
      ' . $tagsS . '
      '; + } + + // Tags - title suffix - FILE VIEW = DOWNLOAD FILE + if ($this->t['display_tags_links'] == 5 || $this->t['display_tags_links'] == 6) { + $tags = $l->displayTags($v->id, 1); + if ($tags != '') { + $pdFile .= '
      ' . $tags . '
      '; + } + } + //Specific icons if (isset($v->image_filename_spec1) && $v->image_filename_spec1 != '') { - $pdFile .= '
      '.$l->getImageDownload($v->image_filename_spec1).'
      '; - } + $pdFile .= '
      ' . $l->getImageDownload($v->image_filename_spec1) . '
      '; + } if (isset($v->image_filename_spec2) && $v->image_filename_spec2 != '') { - $pdFile .= '
      '.$l->getImageDownload($v->image_filename_spec2).'
      '; - } - + $pdFile .= '
      ' . $l->getImageDownload($v->image_filename_spec2) . '
      '; + } + $pdFile .= '
      ' . "\n"; } - - $pdFileSize = ''; - $fileSize = $l->getFilesize($v->filename); - if ($fileSize != '') { - $pdFileSize .= '
      '.JText::_('COM_PHOCADOWNLOAD_FILESIZE').':
      '; - $pdFileSize .= '
      '.$fileSize.'
      '; - } - - $pdVersion = ''; - if ($v->version != '') { - $pdVersion .= '
      '.JText::_('COM_PHOCADOWNLOAD_VERSION').':
      '; - $pdVersion .= '
      '.$v->version.'
      '; - } - - $pdLicense = ''; - if ($v->license != '') { - if ($v->license_url != '') { - $pdLicense .= '
      '.JText::_('COM_PHOCADOWNLOAD_LICENSE').':
      '; - $pdLicense .= ''; - } else { - $pdLicense .= '
      '.JText::_('COM_PHOCADOWNLOAD_LICENSE').':
      '; - $pdLicense .= '
      '.$v->license.'
      '; - } - } - - $pdAuthor = ''; - if ($v->author != '') { - if ($v->author_url != '') { - $pdAuthor .= '
      '.JText::_('COM_PHOCADOWNLOAD_AUTHOR').':
      '; - $pdAuthor .= ''; - } else { - $pdAuthor .= '
      '.JText::_('COM_PHOCADOWNLOAD_AUTHOR').':
      '; - $pdAuthor .= '
      '.$v->author.'
      '; - } - } - - $pdAuthorEmail = ''; - if ($v->author_email != '') { - $pdAuthorEmail .= '
      '.JText::_('COM_PHOCADOWNLOAD_EMAIL').':
      '; - $pdAuthorEmail .= '
      '. $l->getProtectEmail($v->author_email).'
      '; - } - - $pdFileDate = ''; - $fileDate = $l->getFileDate($v->filename, $v->date); - if ($fileDate != '') { - $pdFileDate .= '
      '.JText::_('COM_PHOCADOWNLOAD_DATE').':
      '; - $pdFileDate .= '
      '.$fileDate.'
      '; - } - - $pdDownloads = ''; - if ($this->t['display_downloads'] == 1) { - $pdDownloads .= '
      '.JText::_('COM_PHOCADOWNLOAD_DOWNLOADS').':
      '; - $pdDownloads .= '
      '.$v->hits.' x
      '; - } - - $pdDescription = ''; - if ($l->isValueEditor($v->description)) { - $pdDescription .= '
      '.$v->description.'
      '; - } - - $pdFeatures = ''; - if ($l->isValueEditor($v->features)) { - $pdFeatures .= '
      '.JText::_('COM_PHOCADOWNLOAD_FEATURES').'
      '; - $pdFeatures .= '
      '.$v->features.'
      '; - } - - $pdChangelog = ''; - if ($l->isValueEditor($v->changelog)) { - $pdChangelog .= '
      '.JText::_('COM_PHOCADOWNLOAD_CHANGELOG').'
      '; - $pdChangelog .= '
      '.$v->changelog.'
      '; - } - - $pdNotes = ''; - if ($l->isValueEditor($v->notes)) { - $pdNotes .= '
      '.JText::_('COM_PHOCADOWNLOAD_NOTES').'
      '; - $pdNotes .= '
      '.$v->notes.'
      '; - } - - - // pdmirrorlink1 - $pdMirrorLink1 = ''; - $mirrorOutput1 = PhocaDownloadRenderFront::displayMirrorLinks(1, $v->mirror1link, $v->mirror1title, $v->mirror1target); - if ($mirrorOutput1 != '') { - - if ($this->t['display_mirror_links'] == 4 || $this->t['display_mirror_links'] == 6) { - $classMirror = 'pd-button-mirror1'; - } else { - $classMirror = 'pd-mirror'; - } - - $pdMirrorLink1 = '
      '.$mirrorOutput1.'
      '; - } - - // pdmirrorlink2 - $pdMirrorLink2 = ''; - $mirrorOutput2 = PhocaDownloadRenderFront::displayMirrorLinks(1, $v->mirror2link, $v->mirror2title, $v->mirror2target); - if ($mirrorOutput2 != '') { - if ($this->t['display_mirror_links'] == 4 || $this->t['display_mirror_links'] == 6) { - $classMirror = 'pd-button-mirror2'; - } else { - $classMirror = 'pd-mirror'; - } - - $pdMirrorLink2 = '
      '.$mirrorOutput2.'
      '; - } - - // pdreportlink - $pdReportLink = PhocaDownloadRenderFront::displayReportLink(1, $v->title); - - - // pdrating - $pdRating = PhocaDownloadRate::renderRateFile($v->id, $this->t['display_rating_file']); - - // pdtags - $pdTags = ''; - if ($this->t['display_tags_links'] == 2 || $this->t['display_tags_links'] == 3) { - if ($l->displayTags($v->id) != '') { - $pdTags .= $l->displayTags($v->id); - } - - } - - - // --------------------------------------------------- - //Convert - // --------------------------------------------------- - if ($this->t['display_specific_layout'] == 0) { - echo '
      '; - //echo $pdTitle; - echo $pdImage; - echo $pdFile; - echo $pdFileSize; - echo $pdVersion; - echo $pdLicense; - echo $pdAuthor; - echo $pdAuthorEmail; - echo $pdFileDate; - echo $pdDownloads; - echo $pdDescription; - echo $pdFeatures; - echo $pdChangelog; - echo $pdNotes; - if ($this->t['display_mirror_links'] == 5 || $this->t['display_mirror_links'] == 6) { - echo '
      '.$pdMirrorLink2.'
      '; - echo '
      '.$pdMirrorLink1.'
      '; - } else if ($this->t['display_mirror_links'] == 2 || $this->t['display_mirror_links'] == 3) { - echo '
      '.$pdMirrorLink2.$pdMirrorLink1.'
      '; - } - - echo '
      '.$pdReportLink.'
      '; - echo '
      '.$pdRating.'
      '; - echo '
      '.$pdTags.'
      '; - echo '
      '.$pdVideo.'
      '; - echo '
      '; - echo '
      '; - } else { - - /*$fileLayout = '
      - {pdimage} - {pdfile} - {pdfilesize} - {pdversion} - {pdlicense} - {pdauthor} - {pdauthoremail} - {pdfiledate} - {pddownloads} - {pddescription} - {pdfeatures} - {pdchangelog} - {pdnotes} -
      {pdmirrorlink2} {pdmirrorlink1}
      -
      {pdreportlink}
      -
      {pdrating}
      -
      {pdtags}
      -
      -
      '; - - - $fileLayout = PhocaDownloadSettings::getLayoutText('file'); - $fileLayoutParams = PhocaDownloadSettings::getLayoutParams('file'); - - $replace = array($pdTitle, $pdImage, $pdFile, $pdFileSize, $pdVersion, $pdLicense, $pdAuthor, $pdAuthorEmail, $pdFileDate, $pdDownloads, $pdDescription, $pdFeatures, $pdChangelog, $pdNotes, $pdMirrorLink1, $pdMirrorLink2, $pdReportLink, $pdRating, $pdTags, $pdVideo); - $output = str_replace($fileLayoutParams['search'], $replace, $fileLayout); - - echo $output; - } - - // --------------------------------------------------- - - - $o = '
       
      '; - - if ((int)$v->confirm_license > 0) { - $o .= '

      '.JText::_('COM_PHOCADOWNLOAD_LICENSE_AGREEMENT').'

      '; - $o .= '
      '.$v->licensetext.'
      '; - - // External link - if ($v->link_external != '' && $v->directlink == 1) { - $o .= '
      '; - $o .= ' '.JText::_('COM_PHOCADOWNLOAD_I_AGREE_TO_TERMS_LISTED_ABOVE').' '; - $o .= ''; - } else { - $o .= ''; - $o .= ' '.JText::_('COM_PHOCADOWNLOAD_I_AGREE_TO_TERMS_LISTED_ABOVE').' '; - $o .= ''; - $o .= ''; - $o .= ''; - } - $o .= '
      '; - - // For users who have disabled Javascript - $o .= ''; - } else { - // External link - if ($v->link_external != '') { - $o .= '
      '; - $o .= ''; - } else { - $o .= ''; - $o .= ''; - $o .= ''; - $o .= ''; - $o .= ''; - } - $o .= '
      '; - } - - - if ($this->t['display_file_comments'] == 1) { - if (JComponentHelper::isEnabled('com_jcomments', true)) { - include_once(JPATH_BASE.DS.'components'.DS.'com_jcomments'.DS.'jcomments.php'); - $o .= JComments::showComments($v->id, 'com_phocadownload_files', JText::_('COM_PHOCADOWNLOAD_FILE') .' '. $v->title); - } - } - - if ($this->t['display_file_comments'] == 2) { - $o .= '
      '.$this->loadTemplate('comments-fb').'
      '; - } - - echo $o; - - } else { - echo '

      '.JText::_('COM_PHOCADOWNLOAD_FILE') .'

      '; - echo '
      '.JText::_('COM_PHOCADOWNLOAD_NO_RIGHTS_ACCESS_CATEGORY').'
      '; + echo ''; } + } else { + echo '
      ' . JText::_('COM_PHOCADOWNLOAD_FILE_NOT_FOUND') . '
      '; } - echo '
       
      ';// end of box -} else { - echo '
       
      '; + + + echo '
       
      ' . $this->t['pw']; } +?> -*/ +
       
      '. $this->t['pw']; -?> \ No newline at end of file +
      +
      + + \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/views/download/tmpl/default.xml b/packages/phocadownload/components/com_phocadownload/views/download/tmpl/default.xml index d9e6ab07..73c085cc 100644 --- a/packages/phocadownload/components/com_phocadownload/views/download/tmpl/default.xml +++ b/packages/phocadownload/components/com_phocadownload/views/download/tmpl/default.xml @@ -1,13 +1,13 @@ - - - - - - - - - COM_PHOCADOWNLOAD_DOWNLOAD_LAYOUT - COM_PHOCADOWNLOAD_DOWNLOAD_LAYOUT_DESC - - + + + + + + + + + COM_PHOCADOWNLOAD_DOWNLOAD_LAYOUT + COM_PHOCADOWNLOAD_DOWNLOAD_LAYOUT_DESC + + \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/views/download/tmpl/default_bootstrap.php b/packages/phocadownload/components/com_phocadownload/views/download/tmpl/default_bootstrap.php new file mode 100644 index 00000000..234b8b8d --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/views/download/tmpl/default_bootstrap.php @@ -0,0 +1,81 @@ +t['p']->get( 'pageclass_sfx' ).'" >'; +echo '
      '; + +if ($this->t['found'] == 1) { + if(isset($this->file[0]->id) && (int)$this->file[0]->id > 0 && isset($this->file[0]->token) && $this->file[0]->token != '') { + + $v = $this->file[0]; + $downloadLink = PhocaDownloadRoute::getDownloadRoute((int)$v->id, (int)$v->catid, $v->token); + $l = new PhocaDownloadLayout(); + + //echo '

      '.$l->getName($v->title, $v->filename, 1). '

      '; + + $pdTitle = ''; + if ($v->title != '') { + $pdTitle .= '
      '.$v->title.'
      '; + } + + $pdImage = ''; + if ($v->image_download != '') { + $pdImage .= '
      '.$l->getImageDownload($v->image_download).'
      '; + } + + if ($v->filename != '') { + $imageFileName = $l->getImageFileName($v->image_filename, $v->filename); + + $pdFile = '
      '; + if ($this->t['filename_or_name'] == 'filenametitle') { + $pdFile .= '
      '. $v->title . '
      '; + } + + $pdFile .= '
      '. $imageFileName['filenamethumb'] + . '
      '; + + $pdFile .= '
      '; + $pdFile .= $l->getName($v->title, $v->filename); + $pdFile .= '
      '; + + $pdFile .= PhocaDownloadRenderFront::displayNewIcon($v->date, $this->t['displaynew']); + $pdFile .= PhocaDownloadRenderFront::displayHotIcon($v->hits, $this->t['displayhot']); + + // String Tags - title suffix + $tagsS = $l->displayTagsString($v->tags_string); + if ($tagsS != '') { + $pdFile .= '
      '.$tagsS.'
      '; + } + + // Tags - title suffix - FILE VIEW = DOWNLOAD FILE + if ($this->t['display_tags_links'] == 5 || $this->t['display_tags_links'] == 6) { + $tags = $l->displayTags($v->id, 1); + if ($tags != '') { + $pdFile .= '
      '.$tags.'
      '; + } + } + + //Specific icons + if (isset($v->image_filename_spec1) && $v->image_filename_spec1 != '') { + $pdFile .= '
      '.$l->getImageDownload($v->image_filename_spec1).'
      '; + } + if (isset($v->image_filename_spec2) && $v->image_filename_spec2 != '') { + $pdFile .= '
      '.$l->getImageDownload($v->image_filename_spec2).'
      '; + } + + $pdFile .= '
      ' . "\n"; + } + echo ''; + + } +} else { + echo '
      '.JText::_('COM_PHOCADOWNLOAD_FILE_NOT_FOUND').'
      '; +} + + +echo '
       
      '. $this->t['pw']; +?> \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/views/download/view.html.php b/packages/phocadownload/components/com_phocadownload/views/download/view.html.php index ba46a330..92147d4d 100644 --- a/packages/phocadownload/components/com_phocadownload/views/download/view.html.php +++ b/packages/phocadownload/components/com_phocadownload/views/download/view.html.php @@ -7,74 +7,132 @@ * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL */ defined('_JEXEC') or die(); -jimport( 'joomla.application.component.view'); -jimport( 'joomla.filesystem.folder' ); -jimport( 'joomla.filesystem.file' ); +jimport('joomla.application.component.view'); +jimport('joomla.filesystem.folder'); +jimport('joomla.filesystem.file'); class PhocaDownloadViewDownload extends JViewLegacy { protected $file; protected $category; protected $t; + protected $files; + + function display($tpl = null) + { - function display($tpl = null){ - $app = JFactory::getApplication(); - $this->t['p'] = $app->getParams(); + $this->t['p'] = $app->getParams(); $this->t['user'] = JFactory::getUser(); $uri = JFactory::getURI(); $model = $this->getModel(); $document = JFactory::getDocument(); - $downloadToken = $app->input->get('id', '', 'string');// Token string - $this->t['limitstart'] = $app->input->get( 'start', 0, 'int');// we need it for category back link - $this->t['tmpl'] = $app->input->get( 'tmpl', '', 'string' ); + $downloadToken = $app->input->get('id', '', 'string'); // Token string + $this->t['limitstart'] = $app->input->get('start', 0, 'int'); // we need it for category back link + $this->t['tmpl'] = $app->input->get('tmpl', '', 'string'); $this->t['mediapath'] = PhocaDownloadPath::getPathMedia(); + $brand = $app->input->get('brand', '', 'string'); + $category = $app->input->get('category', '', 'int'); + $productLine = $app->input->get('productLine', '', 'string'); + $scale = $app->input->get('scale', 0, 'int'); + $nUserID = $this->t['user']->id > 0 ? $this->t['user']->nUserID : 0; + $programParam = isset($_GET['program']) && $_GET['program'] == '1' ? '&program=1' : ''; + $this->t['tmplr'] = 0; if ($this->t['tmpl'] == 'component') { $this->t['tmplr'] = 1; } - if ($this->t['limitstart'] > 0 ) { - $this->t['limitstarturl'] = '&start='.$this->t['limitstart']; + if ($this->t['limitstart'] > 0) { + $this->t['limitstarturl'] = '&start=' . $this->t['limitstart']; } else { $this->t['limitstarturl'] = ''; } - + //$this->category = $model->getCategory($fileId); //$this->file = $model->getFile($fileId, $this->t['limitstarturl']); - + // Params - $this->t['licenseboxheight'] = $this->t['p']->get( 'license_box_height', 300 ); - $this->t['filename_or_name'] = $this->t['p']->get( 'filename_or_name', 'filename' ); - $this->t['allowed_file_types'] = $this->t['p']->get( 'allowed_file_types', '' ); - $this->t['disallowed_file_types'] = $this->t['p']->get( 'disallowed_file_types', '' ); - $this->t['enable_user_statistics'] = $this->t['p']->get( 'enable_user_statistics', 1 ); - $this->t['file_icon_size'] = $this->t['p']->get( 'file_icon_size', 16 ); + $this->t['licenseboxheight'] = $this->t['p']->get('license_box_height', 300); + $this->t['filename_or_name'] = $this->t['p']->get('filename_or_name', 'filename'); + $this->t['allowed_file_types'] = $this->t['p']->get('allowed_file_types', ''); + $this->t['disallowed_file_types'] = $this->t['p']->get('disallowed_file_types', ''); + $this->t['enable_user_statistics'] = $this->t['p']->get('enable_user_statistics', 1); + $this->t['file_icon_size'] = $this->t['p']->get('file_icon_size', 16); $this->t['pw'] = PhocaDownloadRenderFront::renderPhocaDownload(); - $this->t['download_external_link'] = $this->t['p']->get( 'download_external_link', '_self' ); - $this->t['display_report_link'] = $this->t['p']->get( 'display_report_link', 0 ); - $this->t['send_mail_download'] = $this->t['p']->get( 'send_mail_download', 0 );// not boolean but id of user - $this->t['display_specific_layout'] = $this->t['p']->get( 'display_specific_layout', 0 ); - $this->t['displaynew'] = $this->t['p']->get( 'display_new', 0 ); - $this->t['displayhot'] = $this->t['p']->get( 'display_hot', 0 ); - $this->t['enable_token_download'] = $this->t['p']->get( 'enable_token_download', 0 ); - + $this->t['download_external_link'] = $this->t['p']->get('download_external_link', '_self'); + $this->t['display_report_link'] = $this->t['p']->get('display_report_link', 0); + $this->t['send_mail_download'] = $this->t['p']->get('send_mail_download', 0); // not boolean but id of user + $this->t['display_specific_layout'] = $this->t['p']->get('display_specific_layout', 0); + $this->t['displaynew'] = $this->t['p']->get('display_new', 0); + $this->t['displayhot'] = $this->t['p']->get('display_hot', 0); + $this->t['enable_token_download'] = $this->t['p']->get('enable_token_download', 0); + $this->t['display_tags_links'] = $this->t['p']->get('display_tags_links', 0); + $this->t['itemMenu'] = $model->getMenuItems(41, $nUserID); + $this->t['brandMenu'] = $model->getBrandsMenuItems(41, $nUserID); + $this->t['sign_out_link'] = $_SERVER['SERVER_NAME'] == 'www.archline.hu' ? '/kilepes' : '/logout'; + $this->t['profile_link'] = $_SERVER['SERVER_NAME'] == 'www.archline.hu' ? '/felhasznalo' : '/user'; + $this->files = $model->getFileList($nUserID); + $this->t['modelClass'] = $category != '' || $brand != '' || ($brand != '' && $productLine != '') ? 'hiddenModel' : ''; + $this->t['brandClass'] = $this->t['modelClass'] == '' ? 'hiddenBrand' : ''; + $this->t['scale'] = $scale > 1 && $scale < 5 ? $scale : 3; + $this->t['scaleParam'] = $scale != 0 ? '&scale=' . $scale : ''; + $this->t['lang'] = JFactory::getLanguage()->getTag(); + $this->t['scaleParam'] .= $programParam; + + // LOGOUT + // - - - - - - - - - - - - - - - + $logout = $app->input->get('warehouse_logout', array(0), 'array'); + $logoutId = (int) $logout[0]; + if ($logoutId > 0) { + $uri = JUri::getInstance(); + + $app = JFactory::getApplication(); + $app->logout($logoutId); + $app->redirect(JRoute::_($uri->toString(), false)); + } + // - - - - - - - - - - - - - - - + + // SCALE DOWN + // - - - - - - - - - - - - - - - + $scaleDown = $app->input->get('btn_scale_down', array(0), 'array'); + $scaleDownId = (int) $scaleDown[0]; + if ($scaleDownId > 0) { + $scale = isset($_GET['scale']) ? $_GET['scale'] - 1 : 2; + if (($scale > 1 && $scale < 5) || !isset($_GET['scale'])) { + $url = '/warehouse/my-content?scale=' . $scale . $programParam; + + $app->redirect($url); + } + } + + // SCALE UP + $scaleUp = $app->input->get('btn_scale_up', array(0), 'array'); + $scaleUpId = (int) $scaleUp[0]; + if ($scaleUpId > 0) { + $scale = isset($_GET['scale']) ? $_GET['scale'] + 1 : 4; + if (($scale > 1 && $scale < 5) || !isset($_GET['scale'])) { + $url = '/warehouse/my-content?scale=' . $scale . $programParam; + + $app->redirect($url); + } + } + PhocaDownloadRenderFront::renderAllCSS(); - + $this->t['found'] = 0; if ($this->t['enable_token_download'] == 0) { $this->t['found'] = 0; } else if ($downloadToken == '') { $this->t['found'] = 0; - } else { $this->file = $model->getFile($downloadToken); - if(isset($this->file[0]->id) && (int)$this->file[0]->id > 0 && isset($this->file[0]->token) && $this->file[0]->token != '') { + if (isset($this->file[0]->id) && (int)$this->file[0]->id > 0 && isset($this->file[0]->token) && $this->file[0]->token != '') { $this->t['found'] = 1; } - - + + /*$document->addCustomTag(''); $js = 'var enableDownloadButtonPD = 0;' .'function enableDownloadPD() {' @@ -88,44 +146,47 @@ class PhocaDownloadViewDownload extends JViewLegacy .'}'; $document->addScriptDeclaration($js);*/ - - - + + + // DOWNLOAD // - - - - - - - - - - - - - - - - $download = $app->input->get( 'download', 0, 'int' ); + $download = $app->input->get('download', 0, 'int'); //$licenseAgree = $app->input->get( 'license_agree', '', 'string' ); - $downloadId = (int) $this->file[0]->id; + $downloadId = 0; + if (isset($this->file[0]->id)) { + $downloadId = (int) $this->file[0]->id; + } if ($download == 1) { if (isset($this->file[0]->id)) { - $currentLink = 'index.php?option=com_phocadownload&view=download&id='.htmlspecialchars($downloadToken). $this->t['limitstarturl'] . '&Itemid='. $app->input->get('Itemid', 0, 'int'); + $currentLink = 'index.php?option=com_phocadownload&view=download&id=' . htmlspecialchars($downloadToken) . $this->t['limitstarturl'] . '&Itemid=' . $app->input->get('Itemid', 0, 'int'); } else { - $currentLink = 'index.php?option=com_phocadownload&view=categories&Itemid='. $app->input->get('Itemid', 0, 'int'); + $currentLink = 'index.php?option=com_phocadownload&view=categories&Itemid=' . $app->input->get('Itemid', 0, 'int'); } - + // Check Token $token = JSession::getFormToken(); - if (!JRequest::getInt( $token, 0, 'get' )) { + if (!JRequest::getInt($token, 0, 'get')) { //JError::raiseError(403, 'Request Forbidden'); $app->redirect(JRoute::_('index.php', false), JText::_('COM_PHOCADOWNLOAD_INVALID_TOKEN')); exit; } - + // Check License Agreement /*if (empty($licenseAgree)) { $app->redirect(JRoute::_($currentLink, false), JText::_('COM_PHOCADOWNLOAD_WARNING_AGREE_LICENSE_TERMS')); exit; }*/ - + $fileData = PhocaDownloadDownload::getDownloadData($downloadId, $currentLink, 1); - + PhocaDownloadDownload::download($fileData, $downloadId, $currentLink, 1); } // - - - - - - - - - - - - - - - - + /*$imagePath = PhocaDownloadPath::getPathSet('icon'); $this->t['cssimgpath'] = str_replace ( '../', JURI::base(true).'/', $imagePath['orig_rel_ds']); $filePath = PhocaDownloadPath::getPathSet('file'); @@ -136,22 +197,42 @@ class PhocaDownloadViewDownload extends JViewLegacy $this->_prepareDocument($this->category[0], $this->file[0]); }*/ } - - parent::display($tpl); - + + // Bootstrap 3 Layout + $this->tmpl['display_bootstrap3_layout'] = $this->t['p']->get('display_bootstrap3_layout', 0); + if ($this->tmpl['display_bootstrap3_layout'] == 1) { + + JHtml::_('jquery.framework', false); + JHTML::stylesheet('media/com_phocadownload/bootstrap/css/bootstrap.min.css'); + JHTML::stylesheet('media/com_phocadownload/bootstrap/css/bootstrap.extended.css'); + // Loaded by jquery.framework; + //$document->addScript(JURI::root(true).'/media/com_phocadownload/bootstrap/js/bootstrap.min.js'); + /*$document->addScript(JURI::root(true).'/media/com_phocadownload/js/jquery.equalheights.min.js'); + $document->addScriptDeclaration( + 'jQuery(window).load(function(){ + jQuery(\'.ph-thumbnail\').equalHeights(); + });');*/ + } + + if ($this->tmpl['display_bootstrap3_layout'] == 1) { + parent::display('bootstrap'); + } else { + parent::display($tpl); + } } - - protected function _prepareDocument( $file) { - + + protected function _prepareDocument($file) + { + $app = JFactory::getApplication(); $menus = $app->getMenu(); $menu = $menus->getActive(); $pathway = $app->getPathway(); $title = null; - - $this->t['downloadmetakey'] = $this->t['p']->get( 'download_metakey', '' ); - $this->t['downloadmetadesc'] = $this->t['p']->get( 'download_metadesc', '' ); - + + $this->t['downloadmetakey'] = $this->t['p']->get('download_metakey', ''); + $this->t['downloadmetadesc'] = $this->t['p']->get('download_metadesc', ''); + if ($menu) { $this->t['p']->def('page_heading', $this->t['p']->get('page_title', $menu->title)); } else { @@ -170,36 +251,35 @@ class PhocaDownloadViewDownload extends JViewLegacy //$this->document->setTitle($title); $this->document->setTitle($title);*/ - + $title = $this->t['p']->get('page_title', ''); - $this->tmpl['display_file_name_title'] = 1; + $this->tmpl['display_file_name_title'] = 1; if (empty($title)) { $title = htmlspecialchars_decode($app->getCfg('sitename')); } else if ($app->getCfg('sitename_pagetitles', 0) == 1) { $title = JText::sprintf('JPAGETITLE', htmlspecialchars_decode($app->getCfg('sitename')), $title); - + if ($this->tmpl['display_file_name_title'] == 1 && isset($file->title) && $file->title != '') { - $title = $title .' - ' . $file->title; + $title = $title . ' - ' . $file->title; } - } else if ($app->getCfg('sitename_pagetitles', 0) == 2) { - + if ($this->tmpl['display_file_name_title'] == 1 && isset($file->title) && $file->title != '') { - $title = $title .' - ' . $file->title; + $title = $title . ' - ' . $file->title; } $title = JText::sprintf('JPAGETITLE', $title, htmlspecialchars_decode($app->getCfg('sitename'))); } $this->document->setTitle($title); - + if ($file->metadesc != '') { $this->document->setDescription($file->metadesc); } else if ($this->t['downloadmetadesc'] != '') { $this->document->setDescription($this->t['downloadmetadesc']); } else if ($this->t['p']->get('menu-meta_description', '')) { $this->document->setDescription($this->t['p']->get('menu-meta_description', '')); - } + } if ($file->metakey != '') { $this->document->setMetadata('keywords', $file->metakey); @@ -212,12 +292,11 @@ class PhocaDownloadViewDownload extends JViewLegacy if ($app->getCfg('MetaTitle') == '1' && $this->t['p']->get('menupage_title', '')) { $this->document->setMetaData('title', $this->t['p']->get('page_title', '')); } - - + + if (!empty($file->title)) { $pathway->addItem($file->title); } } } -?> \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/views/feed/metadata.xml b/packages/phocadownload/components/com_phocadownload/views/feed/metadata.xml index 23786134..6839145b 100644 --- a/packages/phocadownload/components/com_phocadownload/views/feed/metadata.xml +++ b/packages/phocadownload/components/com_phocadownload/views/feed/metadata.xml @@ -1,4 +1,4 @@ - - -
      \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/views/phocadownloadlinkfile/view.html.php b/packages/phocadownload/components/com_phocadownload/views/phocadownloadlinkfile/view.html.php index 9375a7bf..dffcf7b9 100644 --- a/packages/phocadownload/components/com_phocadownload/views/phocadownloadlinkfile/view.html.php +++ b/packages/phocadownload/components/com_phocadownload/views/phocadownloadlinkfile/view.html.php @@ -13,8 +13,9 @@ jimport( 'joomla.application.component.view' ); class PhocaDownloadViewPhocaDownloadLinkFile extends JViewLegacy { - var $_context = 'com_phocadownload.phocadownloadlinkfile'; - + public $_context = 'com_phocadownload.phocadownloadlinkfile'; + protected $t; + function display($tpl = null) { $app = JFactory::getApplication(); $uri = JFactory::getURI(); @@ -117,7 +118,7 @@ class PhocaDownloadViewPhocaDownloadLinkFile extends JViewLegacy $uriS = $uri->toString(); $this->assignRef('user', $user); $this->assignRef('lists', $lists); - $this->assignRef('tmpl', $this->t); + $this->assignRef('items', $items); $this->assignRef('pagination', $pagination); $this->assignRef('request_url', $uriS); diff --git a/packages/phocadownload/components/com_phocadownload/views/phocadownloadlinks/view.html.php b/packages/phocadownload/components/com_phocadownload/views/phocadownloadlinks/view.html.php index 7b56f5eb..0ef806f0 100644 --- a/packages/phocadownload/components/com_phocadownload/views/phocadownloadlinks/view.html.php +++ b/packages/phocadownload/components/com_phocadownload/views/phocadownloadlinks/view.html.php @@ -11,6 +11,8 @@ jimport( 'joomla.application.component.view' ); class phocaDownloadViewphocaDownloadLinks extends JViewLegacy { + protected $t; + function display($tpl = null) { $app = JFactory::getApplication(); JHtml::_('behavior.tooltip'); @@ -42,7 +44,7 @@ class phocaDownloadViewphocaDownloadLinks extends JViewLegacy $this->t['linkfile'] = $tUri.'index.php?option=com_phocadownload&view=phocadownloadlinkfile&tmpl=component&e_name='.$eName; $this->t['linkytb'] = $tUri.'index.php?option=com_phocadownload&view=phocadownloadlinkytb&tmpl=component&e_name='.$eName; - $this->assignRef('tmpl', $this->t); + parent::display($tpl); } } diff --git a/packages/phocadownload/components/com_phocadownload/views/phocadownloadlinkytb/tmpl/default.php b/packages/phocadownload/components/com_phocadownload/views/phocadownloadlinkytb/tmpl/default.php index f53e7cb3..2f103392 100644 --- a/packages/phocadownload/components/com_phocadownload/views/phocadownloadlinkytb/tmpl/default.php +++ b/packages/phocadownload/components/com_phocadownload/views/phocadownloadlinkytb/tmpl/default.php @@ -50,7 +50,7 @@ function insertLink() { -
      +
      \ No newline at end of file diff --git a/packages/phocadownload/components/com_phocadownload/views/phocadownloadlinkytb/view.html.php b/packages/phocadownload/components/com_phocadownload/views/phocadownloadlinkytb/view.html.php index 5d9e4d08..8e27f092 100644 --- a/packages/phocadownload/components/com_phocadownload/views/phocadownloadlinkytb/view.html.php +++ b/packages/phocadownload/components/com_phocadownload/views/phocadownloadlinkytb/view.html.php @@ -13,6 +13,9 @@ jimport( 'joomla.application.component.view' ); class phocaDownloadViewphocaDownloadLinkYtb extends JViewLegacy { + + protected $t; + function display($tpl = null) { $app = JFactory::getApplication(); $document = JFactory::getDocument(); @@ -33,7 +36,7 @@ class phocaDownloadViewphocaDownloadLinkYtb extends JViewLegacy $this->t['ename'] = preg_replace( '#[^A-Z0-9\-\_\[\]]#i', '', $eName ); $this->t['backlink'] = $tUri.'index.php?option=com_phocadownload&view=phocadownloadlinks&tmpl=component&e_name='.$this->t['ename']; - $this->assignRef('tmpl', $this->t); + parent::display($tpl); } } diff --git a/packages/phocadownload/components/com_phocadownload/views/user/tmpl/default.php b/packages/phocadownload/components/com_phocadownload/views/user/tmpl/default.php index 757fe855..6f77caab 100644 --- a/packages/phocadownload/components/com_phocadownload/views/user/tmpl/default.php +++ b/packages/phocadownload/components/com_phocadownload/views/user/tmpl/default.php @@ -1,43 +1,43 @@ -t['p']->get( 'page_heading' ) != '') { - $heading .= $this->t['p']->get( 'page_heading' ); -} - -if ($this->t['showpageheading'] != 0) { - if ( $heading != '') { - echo '

      '. $this->escape($heading) . '

      '; - } -} -$tab = 0; -switch ($this->t['tab']) { - case 'up': - $tab = 1; - break; - - case 'cc': - default: - $tab = 0; - break; -} - -echo '
       
      '; - -if ($this->t['displaytabs'] > 0) { - echo '
      '; - //$pane =& J Pane::getInstance('Tabs', array('startOffset'=> $this->t['tab'])); - //echo $pane->startPane( 'pane' ); - echo JHtml::_('tabs.start', 'config-tabs-com_phocadownload-user', array('useCookie'=>1, 'startOffset'=> $this->t['tab'])); - - //echo $pane->startPanel( JHTML::_( 'image .site', $this->t['pi'].'icon-document-16.png','', '', '', '', '') . ' '.JText::_('COM_PHOCADOWNLOAD_UPLOAD'), 'files' ); - echo JHtml::_('tabs.panel', JHtml::_( 'image', $this->t['pi'].'icon-document-16.png', '') . ' '.JText::_('COM_PHOCADOWNLOAD_UPLOAD'), 'files' ); - echo $this->loadTemplate('files'); - //echo $pane->endPanel(); - - //echo $pane->endPane(); - echo JHtml::_('tabs.end'); - echo '
      '; -} -echo $this->t['pw']; -?> +t['p']->get( 'page_heading' ) != '') { + $heading .= $this->t['p']->get( 'page_heading' ); +} + +if ($this->t['showpageheading'] != 0) { + if ( $heading != '') { + echo '

      '. $this->escape($heading) . '

      '; + } +} +$tab = 0; +switch ($this->t['tab']) { + case 'up': + $tab = 1; + break; + + case 'cc': + default: + $tab = 0; + break; +} + +echo '
       
      '; + +if ($this->t['displaytabs'] > 0) { + echo '
      '; + //$pane =& J Pane::getInstance('Tabs', array('startOffset'=> $this->t['tab'])); + //echo $pane->startPane( 'pane' ); + echo JHtml::_('tabs.start', 'config-tabs-com_phocadownload-user', array('useCookie'=>1, 'startOffset'=> $this->t['tab'])); + + //echo $pane->startPanel( JHTML::_( 'image .site', $this->t['pi'].'icon-document-16.png','', '', '', '', '') . ' '.JText::_('COM_PHOCADOWNLOAD_UPLOAD'), 'files' ); + echo JHtml::_('tabs.panel', JHtml::_( 'image', $this->t['pi'].'icon-document-16.png', '') . ' '.JText::_('COM_PHOCADOWNLOAD_UPLOAD'), 'files' ); + echo $this->loadTemplate('files'); + //echo $pane->endPanel(); + + //echo $pane->endPane(); + echo JHtml::_('tabs.end'); + echo '
      '; +} +echo $this->t['pw']; +?> diff --git a/packages/phocadownload/components/com_phocadownload/views/user/tmpl/default_bootstrap.php b/packages/phocadownload/components/com_phocadownload/views/user/tmpl/default_bootstrap.php new file mode 100644 index 00000000..7d1106d9 --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/views/user/tmpl/default_bootstrap.php @@ -0,0 +1,25 @@ +t['p']->get( 'page_heading' ) != '') { + $heading .= $this->t['p']->get( 'page_heading' ); +} + +if ($this->t['showpageheading'] != 0) { + if ( $heading != '') { + echo '

      '. $this->escape($heading) . '

      '; + } +} + + +echo ''; + +echo '
      '; +//echo JHtml::_('tabs.panel', JHtml::_( 'image', $this->t['pi'].'icon-document-16.png', '') . ' '.JText::_('COM_PHOCADOWNLOAD_UPLOAD'), 'files' ); +echo $this->loadTemplate('files_bootstrap'); + +echo '
      '; +echo $this->t['pw']; +?> diff --git a/packages/phocadownload/components/com_phocadownload/views/user/tmpl/default_files.php b/packages/phocadownload/components/com_phocadownload/views/user/tmpl/default_files.php index 3f2a8c1e..6623a2c9 100644 --- a/packages/phocadownload/components/com_phocadownload/views/user/tmpl/default_files.php +++ b/packages/phocadownload/components/com_phocadownload/views/user/tmpl/default_files.php @@ -1,332 +1,335 @@ -getNullDate(); -$now = JFactory::getDate(); - -echo '
       
      '; - -if ($this->t['displayupload'] == 1) { - - -?> - - - - -

      -
      - - - -
      - - -
      - -
      -listsfiles['catid'] ?> -
      -
      - - - - - - - - - - - - - - - - - -t['filesitems'] ); -$rows = &$this->t['filesitems']; - -if (is_array($rows)) { - foreach ($rows as $row) { - - // USER RIGHT - Delete (Publish/Unpublish) - - - - - - - - - - - - // 2, 2 means that user access will be ignored in function getUserRight for display Delete button - // because we cannot check the access and delete in one time - $user = JFactory::getUser(); - $rightDisplayDelete = 0; - $catAccess = PhocaDownloadAccess::getCategoryAccessByFileId((int)$row->id); - - if (!empty($catAccess)) { - $rightDisplayDelete = PhocaDownloadAccess::getUserRight('deleteuserid', $catAccess->deleteuserid, 2, $user->getAuthorisedViewLevels(), $user->get('id', 0), 0); - } - // - - - - - - - - - - - - - - - - - - - - - - - - ?>"> - - - - '; - if ($row->published == 1) { - if ($rightDisplayDelete) { - echo ''; - echo JHTML::_('image', $this->t['pi'].'icon-publish.png', JText::_('COM_PHOCADOWNLOAD_PUBLISHED')); - echo ''; - } else { - echo JHTML::_('image', $this->t['pi'].'icon-publish-g.png', JText::_('COM_PHOCADOWNLOAD_PUBLISHED')); - } - } - if ($row->published == 0) { - if ($rightDisplayDelete) { - echo ''; - echo JHTML::_('image', $this->t['pi'].'icon-unpublish.png', JText::_('COM_PHOCADOWNLOAD_UNPUBLISHED')); - echo ''; - } else { - echo JHTML::_('image', $this->t['pi'].'icon-unpublish-g.png', JText::_('COM_PHOCADOWNLOAD_UNPUBLISHED')); - } - } - echo ''; - - echo ''; - - echo ''; - - // Approved - echo ''; - - echo ''; - - - echo '' - //echo '' - .''; - - $k = 1 - $k; - $i++; - } -} -?> - - - - - -
      listsfiles['order_Dir'], $this->listsfiles['order'], 'image'); ?>listsfiles['order_Dir'], $this->listsfiles['order'], 'image' ); ?>listsfiles['order_Dir'], $this->listsfiles['order'], 'image' ); ?>listsfiles['order_Dir'], $this->listsfiles['order'], 'image' ); ?>listsfiles['order_Dir'], $this->listsfiles['order'], 'image' ); ?>
      title; ?>'; - if ($rightDisplayDelete) { - echo ''; - echo JHTML::_('image', $this->t['pi'].'icon-trash.png', JText::_('COM_PHOCADOWNLOAD_DELETE')); - echo ''; - } else { - echo JHTML::_('image', $this->t['pi'].'icon-trash-g.png', JText::_('COM_PHOCADOWNLOAD_DELETE')); - } - echo ''; - // User should get info about active/not active file (if e.g. admin change the active status) - $publish_up = JFactory::getDate($row->publish_up); - $publish_down = JFactory::getDate($row->publish_down); - $tz = new DateTimeZone($config->get('offset')); - $publish_up->setTimezone($tz); - $publish_down->setTimezone($tz); - - - if ( $now->toUnix() <= $publish_up->toUnix() ) { - $text = JText::_( 'COM_PHOCADOWNLOAD_PENDING' ); - } else if ( ( $now->toUnix() <= $publish_down->toUnix() || $row->publish_down == $nullDate ) ) { - $text = JText::_( 'COM_PHOCADOWNLOAD_ACTIVE' ); - } else if ( $now->toUnix() > $publish_down->toUnix() ) { - $text = JText::_( 'COM_PHOCADOWNLOAD_EXPIRED' ); - } - - $times = ''; - if (isset($row->publish_up)) { - if ($row->publish_up == $nullDate) { - $times .= JText::_( 'COM_PHOCADOWNLOAD_START') . ': '.JText::_( 'COM_PHOCADOWNLOAD_ALWAYS' ); - } else { - $times .= JText::_( 'COM_PHOCADOWNLOAD_START') .": ". $publish_up->format("D, d M Y H:i:s"); - } - } - if (isset($row->publish_down)) { - if ($row->publish_down == $nullDate) { - $times .= "
      ". JText::_( 'COM_PHOCADOWNLOAD_FINISH'). ': '. JText::_('COM_PHOCADOWNLOAD_NO_EXPIRY' ); - } else { - $times .= "
      ". JText::_( 'COM_PHOCADOWNLOAD_FINISH') .": ". $publish_up->format("D, d M Y H:i:s"); - } - } - - if ( $times ) { - echo '' - .''. $text.''; - } - - - echo '
      '; - if ($row->approved == 1) { - echo JHTML::_('image', $this->t['pi'].'icon-publish.png', JText::_('COM_PHOCADOWNLOAD_APPROVED')); - } else { - echo JHTML::_('image', $this->t['pi'].'icon-unpublish.png', JText::_('COM_PHOCADOWNLOAD_NOT_APPROVED')); - } - echo ''. $row->date .''. $row->categorytitle .''. $row->id .'
      - - - - - - - - - - - - - - -
      - -state->folder) && $this->state->folder != '') { - $currentFolder = $this->state->folder; -} -?> -

      t['uploadmaxsizeread'].']'; -?>

      - -t['errorcatid'] != '') { - echo '
      ' - .'' . $this->t['errorcatid'] . '
      '; -} ?> - -
      - - - - - - t['errorfile'] != '') { - echo ''; - } ?> - - - - - - - - - - - - - - - - - - - - - - - - t['erroremail'] != '') { - echo ''; - } ?> - - - - - - - t['errorwebsite'] != '') { - echo ''; - } ?> - - - - - - - - - - - -
      : - - -
      ' - .'' . $this->t['errorfile'] . '
      :
      :
        -
      :
      :
      ' - .'' . $this->t['erroremail'] . '
      :
      ' - .'' . $this->t['errorwebsite'] . '
      :
      :
      - -
      - - */ ?> - - - - - - - - -
      -
      t['pi'].'icon-loading.gif', '') . JText::_('COM_PHOCADOWNLOAD_LOADING'); ?>
      - - '; - -?> +getNullDate(); +$now = JFactory::getDate(); + +echo '
       
      '; + +if ($this->t['displayupload'] == 1) { + + +?> + + + + +

      +
      + + + +
      + + +
      + +
      +listsfiles['catid'] ?> +
      +
      + + + + + + + + + + + + + + + + + +t['filesitems'] ); +$rows = &$this->t['filesitems']; +if (is_array($rows)) { + foreach ($rows as $row) { + + // USER RIGHT - Delete (Publish/Unpublish) - - - - - - - - - - - + // 2, 2 means that user access will be ignored in function getUserRight for display Delete button + // because we cannot check the access and delete in one time + $user = JFactory::getUser(); + $rightDisplayDelete = 0; + $catAccess = PhocaDownloadAccess::getCategoryAccessByFileId((int)$row->id); + + if (!empty($catAccess)) { + $rightDisplayDelete = PhocaDownloadAccess::getUserRight('deleteuserid', $catAccess->deleteuserid, 2, $user->getAuthorisedViewLevels(), $user->get('id', 0), 0); + } + // - - - - - - - - - - - - - - - - - - - - - - + + ?>"> + + + + '; + if ($row->published == 1) { + if ($rightDisplayDelete) { + echo ''; + echo JHTML::_('image', $this->t['pi'].'icon-publish.png', JText::_('COM_PHOCADOWNLOAD_PUBLISHED')); + echo ''; + } else { + echo JHTML::_('image', $this->t['pi'].'icon-publish-g.png', JText::_('COM_PHOCADOWNLOAD_PUBLISHED')); + } + } + if ($row->published == 0) { + if ($rightDisplayDelete) { + echo ''; + echo JHTML::_('image', $this->t['pi'].'icon-unpublish.png', JText::_('COM_PHOCADOWNLOAD_UNPUBLISHED')); + echo ''; + } else { + echo JHTML::_('image', $this->t['pi'].'icon-unpublish-g.png', JText::_('COM_PHOCADOWNLOAD_UNPUBLISHED')); + } + } + echo ''; + + echo ''; + + echo ''; + + // Approved + echo ''; + + $upload_date = JFactory::getDate($row->date); + $upload_date->setTimezone($tz); + echo ''; + + //echo ''; + + + echo '' + //echo '' + .''; + + $k = 1 - $k; + $i++; + } +} +?> + + + + + +
      listsfiles['order_Dir'], $this->listsfiles['order'], 'image'); ?>listsfiles['order_Dir'], $this->listsfiles['order'], 'image' ); ?>listsfiles['order_Dir'], $this->listsfiles['order'], 'image' ); ?>listsfiles['order_Dir'], $this->listsfiles['order'], 'image' ); ?>listsfiles['order_Dir'], $this->listsfiles['order'], 'image' ); ?>
      title;?> '; + if ($rightDisplayDelete) { + echo ''; + echo JHTML::_('image', $this->t['pi'].'icon-trash.png', JText::_('COM_PHOCADOWNLOAD_DELETE')); + echo ''; + } else { + echo JHTML::_('image', $this->t['pi'].'icon-trash-g.png', JText::_('COM_PHOCADOWNLOAD_DELETE')); + } + echo ''; + // User should get info about active/not active file (if e.g. admin change the active status) + $publish_up = JFactory::getDate($row->publish_up); + $publish_down = JFactory::getDate($row->publish_down); + $tz = new DateTimeZone($config->get('offset')); + $publish_up->setTimezone($tz); + $publish_down->setTimezone($tz); + + + if ( $now->toUnix() <= $publish_up->toUnix() ) { + $text = JText::_( 'COM_PHOCADOWNLOAD_PENDING' ); + } else if ( ( $now->toUnix() <= $publish_down->toUnix() || $row->publish_down == $nullDate ) ) { + $text = JText::_( 'COM_PHOCADOWNLOAD_ACTIVE' ); + } else if ( $now->toUnix() > $publish_down->toUnix() ) { + $text = JText::_( 'COM_PHOCADOWNLOAD_EXPIRED' ); + } + + $times = ''; + if (isset($row->publish_up)) { + if ($row->publish_up == $nullDate) { + $times .= JText::_( 'COM_PHOCADOWNLOAD_START') . ': '.JText::_( 'COM_PHOCADOWNLOAD_ALWAYS' ); + } else { + $times .= JText::_( 'COM_PHOCADOWNLOAD_START') .": ". $publish_up->format("D, d M Y H:i:s"); + } + } + if (isset($row->publish_down)) { + if ($row->publish_down == $nullDate) { + $times .= "
      ". JText::_( 'COM_PHOCADOWNLOAD_FINISH'). ': '. JText::_('COM_PHOCADOWNLOAD_NO_EXPIRY' ); + } else { + $times .= "
      ". JText::_( 'COM_PHOCADOWNLOAD_FINISH') .": ". $publish_up->format("D, d M Y H:i:s"); + } + } + + if ( $times ) { + echo '' + .''. $text.''; + } + + + echo '
      '; + if ($row->approved == 1) { + echo JHTML::_('image', $this->t['pi'].'icon-publish.png', JText::_('COM_PHOCADOWNLOAD_APPROVED')); + } else { + echo JHTML::_('image', $this->t['pi'].'icon-unpublish.png', JText::_('COM_PHOCADOWNLOAD_NOT_APPROVED')); + } + echo ''. $upload_date .''. $row->date .''. $row->categorytitle .''. $row->id .'
      + + + + + + + + + + + + + + +
      + +state->folder) && $this->state->folder != '') { + $currentFolder = $this->state->folder; +} +?> +

      t['uploadmaxsizeread'].']'; +?>

      + +t['errorcatid'] != '') { + echo '
      ' + .'' . $this->t['errorcatid'] . '
      '; +} ?> + +
      + + + + + + t['errorfile'] != '') { + echo ''; + } ?> + + + + + + + + + + + + + + + + + + + + + + + + t['erroremail'] != '') { + echo ''; + } ?> + + + + + + + t['errorwebsite'] != '') { + echo ''; + } ?> + + + + + + + + + + + +
      : + + +
      ' + .'' . $this->t['errorfile'] . '
      :
      :
        +
      :
      :
      ' + .'' . $this->t['erroremail'] . '
      :
      ' + .'' . $this->t['errorwebsite'] . '
      :
      :
      + +
      + + */ ?> + + + + + + + + +
      +
      t['pi'].'icon-loading.gif', '') . JText::_('COM_PHOCADOWNLOAD_LOADING'); ?>
      + + '; + +?> diff --git a/packages/phocadownload/components/com_phocadownload/views/user/tmpl/default_files_bootstrap.php b/packages/phocadownload/components/com_phocadownload/views/user/tmpl/default_files_bootstrap.php new file mode 100644 index 00000000..f0c18454 --- /dev/null +++ b/packages/phocadownload/components/com_phocadownload/views/user/tmpl/default_files_bootstrap.php @@ -0,0 +1,355 @@ +getNullDate(); +$now = JFactory::getDate(); + +echo '
      '; + +if ($this->t['displayupload'] == 1) { + + +?> + + + + +

      +
      + +
      +
      +
      + */ ?> + + + + + + +
      +
      + +
      +
      listsfiles['catid'] ?>
      + +
      + + + + + + + + + + + + + + + + + + +t['filesitems'] ); +$rows = &$this->t['filesitems']; + +if (is_array($rows)) { + foreach ($rows as $row) { + + // USER RIGHT - Delete (Publish/Unpublish) - - - - - - - - - - - + // 2, 2 means that user access will be ignored in function getUserRight for display Delete button + // because we cannot check the access and delete in one time + $user = JFactory::getUser(); + $rightDisplayDelete = 0; + $catAccess = PhocaDownloadAccess::getCategoryAccessByFileId((int)$row->id); + if (!empty($catAccess)) { + $rightDisplayDelete = PhocaDownloadAccess::getUserRight('deleteuserid', $catAccess->deleteuserid, 2, $user->getAuthorisedViewLevels(), $user->get('id', 0), 0); + } + // - - - - - - - - - - - - - - - - - - - - - - + + ?>"> + + + + '; + if ($row->published == 1) { + if ($rightDisplayDelete) { + echo ''; + echo JHTML::_('image', $this->t['pi'].'icon-publish.png', JText::_('COM_PHOCADOWNLOAD_PUBLISHED')); + echo ''; + } else { + echo JHTML::_('image', $this->t['pi'].'icon-publish-g.png', JText::_('COM_PHOCADOWNLOAD_PUBLISHED')); + } + } + if ($row->published == 0) { + if ($rightDisplayDelete) { + echo ''; + echo JHTML::_('image', $this->t['pi'].'icon-unpublish.png', JText::_('COM_PHOCADOWNLOAD_UNPUBLISHED')); + echo ''; + } else { + echo JHTML::_('image', $this->t['pi'].'icon-unpublish-g.png', JText::_('COM_PHOCADOWNLOAD_UNPUBLISHED')); + } + } + echo ''; + + echo ''; + + echo ''; + + // Approved + echo ''; + + $upload_date = JFactory::getDate($row->date); + $upload_date->setTimezone($tz); + echo ''; + + //echo ''; + + + echo '' + //echo '' + .''; + + $k = 1 - $k; + $i++; + } +} +?> + + + + + +
      listsfiles['order_Dir'], $this->listsfiles['order'], 'image'); ?>listsfiles['order_Dir'], $this->listsfiles['order'], 'image' ); ?>listsfiles['order_Dir'], $this->listsfiles['order'], 'image' ); ?>listsfiles['order_Dir'], $this->listsfiles['order'], 'image' ); ?>listsfiles['order_Dir'], $this->listsfiles['order'], 'image' ); ?>
      title; ?>'; + if ($rightDisplayDelete) { + echo ''; + echo JHTML::_('image', $this->t['pi'].'icon-trash.png', JText::_('COM_PHOCADOWNLOAD_DELETE')); + echo ''; + } else { + echo JHTML::_('image', $this->t['pi'].'icon-trash-g.png', JText::_('COM_PHOCADOWNLOAD_DELETE')); + } + echo ''; + // User should get info about active/not active file (if e.g. admin change the active status) + $publish_up = JFactory::getDate($row->publish_up); + $publish_down = JFactory::getDate($row->publish_down); + $tz = new DateTimeZone($config->get('offset')); + $publish_up->setTimezone($tz); + $publish_down->setTimezone($tz); + + + if ( $now->toUnix() <= $publish_up->toUnix() ) { + $text = JText::_( 'COM_PHOCADOWNLOAD_PENDING' ); + } else if ( ( $now->toUnix() <= $publish_down->toUnix() || $row->publish_down == $nullDate ) ) { + $text = JText::_( 'COM_PHOCADOWNLOAD_ACTIVE' ); + } else if ( $now->toUnix() > $publish_down->toUnix() ) { + $text = JText::_( 'COM_PHOCADOWNLOAD_EXPIRED' ); + } + + $times = ''; + if (isset($row->publish_up)) { + if ($row->publish_up == $nullDate) { + $times .= JText::_( 'COM_PHOCADOWNLOAD_START') . ': '.JText::_( 'COM_PHOCADOWNLOAD_ALWAYS' ); + } else { + $times .= JText::_( 'COM_PHOCADOWNLOAD_START') .": ". $publish_up->format("D, d M Y H:i:s"); + } + } + if (isset($row->publish_down)) { + if ($row->publish_down == $nullDate) { + $times .= "
      ". JText::_( 'COM_PHOCADOWNLOAD_FINISH'). ': '. JText::_('COM_PHOCADOWNLOAD_NO_EXPIRY' ); + } else { + $times .= "
      ". JText::_( 'COM_PHOCADOWNLOAD_FINISH') .": ". $publish_up->format("D, d M Y H:i:s"); + } + } + + if ( $times ) { + echo '' + .''. $text.''; + } + + + echo '
      '; + if ($row->approved == 1) { + echo JHTML::_('image', $this->t['pi'].'icon-publish.png', JText::_('COM_PHOCADOWNLOAD_APPROVED')); + } else { + echo JHTML::_('image', $this->t['pi'].'icon-unpublish.png', JText::_('COM_PHOCADOWNLOAD_NOT_APPROVED')); + } + echo ''. $upload_date .''. $row->date .''. $row->categorytitle .''. $row->id .'
      + + + + + + + + + + + + + + +
      + +state->folder) && $this->state->folder != '') { + $currentFolder = $this->state->folder; +} +?> +

      t['uploadmaxsizeread'].']'; +?>

      + +t['errorcatid'] != '') { + echo '
      ' + .'' . $this->t['errorcatid'] . '
      '; +} ?> + +
      + + + + + + t['errorfile'] != '') { + echo ''; + } ?> + + + + + + + + + + + + + + + + + + + + + + + + t['erroremail'] != '') { + echo ''; + } ?> + + + + + + + t['errorwebsite'] != '') { + echo ''; + } ?> + + + + + + + + + + + +
      : + +
      + + + + + + + + +
      +
      ' + .'' . $this->t['errorfile'] . '
      :
      :
        +
      :
      :
      ' + .'' . $this->t['erroremail'] . '
      :
      ' + .'' . $this->t['errorwebsite'] . '
      :
      :
      + +
      + + */ ?> + + + + + + + + +
      +
      t['pi'].'icon-loading.gif', '') . JText::_('COM_PHOCADOWNLOAD_LOADING'); ?>
      + + '; + +?> diff --git a/packages/phocadownload/components/com_phocadownload/views/user/view.html.php b/packages/phocadownload/components/com_phocadownload/views/user/view.html.php index d22dce92..63712004 100644 --- a/packages/phocadownload/components/com_phocadownload/views/user/view.html.php +++ b/packages/phocadownload/components/com_phocadownload/views/user/view.html.php @@ -106,6 +106,7 @@ class PhocaDownloadViewUser extends JViewLegacy $this->t['errorfile'] = ''; $task = $app->input->get( 'task', '', 'string' ); + if($task == 'upload') { $post['title'] = $app->input->get( 'phocadownloaduploadtitle', '', 'string' ); $post['description'] = $app->input->get( 'phocadownloaduploaddescription', '', 'string' ); @@ -151,11 +152,23 @@ class PhocaDownloadViewUser extends JViewLegacy // Upload $errUploadMsg = ''; $redirectUrl = ''; + $fileArray = JRequest::getVar('Filedata', '', 'files', 'array'); - if(empty($fileArray) || (isset($fileArray['name']) && $fileArray['name'] == '')) { - $this->t['errorfile'] = JText::_('COM_PHOCADOWNLOAD_PLEASE_ADD_FILE'); + if(empty($fileArray)) { + + $this->t['errorfile'] = JText::_('COM_PHOCADOWNLOAD_PLEASE_ADD_FILE_OR_IF_ADDED_CHECK_IF_IT_HAS_RIGHT_FORMAT_AND_SIZE'); $returnForm = 1; + + } else if (isset($fileArray[0]) && $fileArray[0] == ''){ + $this->t['errorfile'] = JText::_('COM_PHOCADOWNLOAD_PLEASE_ADD_FILE_OR_IF_ADDED_CHECK_IF_IT_HAS_RIGHT_FORMAT_AND_SIZE'); + $returnForm = 1; + $fileArray['name'] = ''; + + } else if (isset($fileArray['name']) && $fileArray['name'] == '') { + + $this->t['errorfile'] = JText::_('COM_PHOCADOWNLOAD_PLEASE_ADD_FILE_OR_IF_ADDED_CHECK_IF_IT_HAS_RIGHT_FORMAT_AND_SIZE'); + $returnForm = 1; } if ($post['title'] == '') { @@ -306,7 +319,28 @@ class PhocaDownloadViewUser extends JViewLegacy $this->assignRef( 'params', $this->t['p']); $session = JFactory::getSession(); $this->assignRef('session', $session); - parent::display($tpl); + + // Bootstrap 3 Layout + $this->tmpl['display_bootstrap3_layout'] = $this->t['p']->get( 'display_bootstrap3_layout', 0 ); + if ($this->tmpl['display_bootstrap3_layout'] == 1) { + + JHtml::_('jquery.framework', false); + JHTML::stylesheet('media/com_phocadownload/bootstrap/css/bootstrap.min.css' ); + JHTML::stylesheet('media/com_phocadownload/bootstrap/css/bootstrap.extended.css' ); + // Loaded by jquery.framework; + //$document->addScript(JURI::root(true).'/media/com_phocadownload/bootstrap/js/bootstrap.min.js'); + $document->addScript(JURI::root(true).'/media/com_phocadownload/js/jquery.equalheights.min.js'); + $document->addScriptDeclaration( + 'jQuery(window).load(function(){ + jQuery(\'.ph-thumbnail\').equalHeights(); + });'); + } + + if ($this->tmpl['display_bootstrap3_layout'] == 1) { + parent::display('bootstrap'); + } else { + parent::display($tpl); + } } } ?> diff --git a/packages/phocadownload/language/en-GB/en-GB.com_phocadownload.ini b/packages/phocadownload/language/en-GB/en-GB.com_phocadownload.ini new file mode 100644 index 00000000..abf5c5a3 --- /dev/null +++ b/packages/phocadownload/language/en-GB/en-GB.com_phocadownload.ini @@ -0,0 +1,841 @@ +; @package Joomla.Framework +; @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved. +; @license GNU General Public License version 2 or later; see LICENSE.txt +; +; @component Phoca Component +; @copyright Copyright (C) Jan Pavelka www.phoca.cz +; @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later; +; +; @test utf-8 ä, ö, ü +; + + +;[3.1.1] +COM_PHOCADOWNLOAD_SELECT_MAX_LEVELS="Select Max Levels" +COM_PHOCADOWNLOAD_FIELD_COLUMN_SIZE_CATEGORY_VIEW_LABEL="Column size (Category View)" +COM_PHOCADOWNLOAD_FIELD_COLUMN_SIZE_CATEGORY_VIEW_DESC="Set left column size for category view. Right column size will be automatically set. This parameter applies for Bootstrap layout only and maximum column size is 12." +COM_PHOCADOWNLOAD_FIELD_TAGS_STRING_LABEL="Tags (String)" +COM_PHOCADOWNLOAD_FIELD_TAGS_STRING_DESC="Set string tags. Separate each tag with comma (,). These tags are displayed next to filename or title. The don't include links, they cannot be searched in the system. They are just displayed like icons next to the filename or title" +COM_PHOCADOWNLOAD_YES_CATEGORY_VIEW_TITLE_SUFFIX="Yes (Category View) - Title Suffix" +COM_PHOCADOWNLOAD_YES_FILE_VIEW_TITLE_SUFFIX="Yes (FileView) - Title Suffix" +COM_PHOCADOWNLOAD_YES_CATEGORY_FILE_VIEW_TITLE_SUFFIX="Yes (Category And File View) - Title Suffix" +COM_PHOCADOWNLOAD_WAS_UPLOADED_BY="was uploaded by" +COM_PHOCADOWNLOAD_FILE_UPLOADED="File uploaded" +COM_PHOCADOWNLOAD_SEARCH_FILTER_IS_ACTIVE="Search filter is active. Listed categories are not displayed in category tree. Max levels filter is not active." +COM_PHOCADOWNLOAD_PLEASE_ADD_FILE_OR_IF_ADDED_CHECK_IF_IT_HAS_RIGHT_FORMAT_AND_SIZE="Please add a file. If added, please, test if it has the right format and size" +COM_PHOCADOWNLOAD_DISPLAY_BOOTSTRAP3_LAYOUT_LABEL="Display Bootstrap 3 Layout" +COM_PHOCADOWNLOAD_DISPLAY_BOOTSTRAP3_LAYOUT_DESC="When Bootstrap 3 layout is enabled, then specific layout will be not loaded. Don't forget to disable styles in Styles (CSS) view which can be in conflict with Bootstrap 3 (e.g. Bootstrap 2)" +;[3.1.0] +COM_PHOCADOWNLAD_CLOSE="Close" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_ORDERING_CATEGORY_VIEW_LABEL="Display Ordering Select Box (Category View)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_ORDERING_CATEGORY_VIEW_DESC="Display or hide ordering select box in Category View - ordering of files" +COM_PHOCADOWNLOAD_COUNT_ASC="Rating Count Ascending" +COM_PHOCADOWNLOAD_COUNT_DESC="Rating Count Descending" +COM_PHOCADOWNLOAD_AVERAGE_ASC="Rating Ascending" +COM_PHOCADOWNLOAD_AVERAGE_DESC="Rating Descending" +COM_PHOCADOWNLOAD_DOWNLOADS_ASC="Downloads Ascending" +COM_PHOCADOWNLOAD_DOWNLOADS_DESC="Downloads Descending" +COM_PHOCADOWNLOAD_ORDER_FRONT="Ordering" +COM_PHOCADOWNLOAD_REGARDS="Regards" +COM_PHOCADOWNLOAD_MESSAGE="Message" +COM_PHOCADOWNLOAD_WEBSITE="Website" +COM_PHOCADOWNLOAD_WAS_DOWNLOADED_BY="was downloaded by" +COM_PHOCADOWNLOAD_SUCCESS_NEW_FILE_UPLOADED="New file uploaded" +COM_PHOCADOWNLOAD_FILE_DOWNLOADED="File downloaded" +COM_PHOCADOWNLOAD_ANONYMOUS="Anonymous" +COM_PHOCADOWNLOAD_FIELD_MULTIPLE_UPLOAD_METHOD_DESC="Set Multiple Upload Method in administration. See http://www.plupload.com/ which browsers and which functions are supported by selected method" +COM_PHOCADOWNLOAD_FIELD_MULTIPLE_UPLOAD_METHOD_LABEL="Multiple Upload Method (Administration)" +COM_PHOCADOWNLOAD_FLASH_UPLOADER="Flash Uploader" +COM_PHOCADOWNLOAD_GEARS_UPLOADER="Gears Uploader" +COM_PHOCADOWNLOAD_SILVERLIGHT_UPLOADER="Silverlight Uploader" +COM_PHOCADOWNLOAD_HTML4_UPLOADER="HTML4 Uploader" +COM_PHOCADOWNLOAD_HTML5_UPLOADER="HTML5 Uploader" +COM_PHOCADOWNLOAD_BROWSERPLUS_UPLOADER="Browserplus Uploader" + +;[3.0.6] +COM_PHOCADOWNLOAD_FILENAME_ASC="Filename Ascending" +COM_PHOCADOWNLOAD_FILENAME_DESC="Filename Descending" + +;[3.0.3] +COM_PHOCADOWNLOAD_BROWSER_DOES_NOT_SUPPORT_AUDIO_VIDEO_TAG="Your browser does not support the audio/video tag" +COM_PHOCADOWNLOAD_FIELD_HTML5_AUDIO_VIDEO_LABEL="HTML5 Audio/Video" +COM_PHOCADOWNLOAD_FIELD_HTML5_AUDIO_VIDEO_DESC="Set yes to enable HTML 5 player for audio and video" +;[3.0.2] +COM_PHOCADOWNLOAD_FIELD_ENABLE_TOKEN_DOWNLOAD_LABEL="Enable Unique Download Link" +COM_PHOCADOWNLOAD_FIELD_ENABLE_TOKEN_DOWNLOAD_DESC="Enable or disable unique download link feature (download with token)" +COM_PHOCADOWNLOAD_MAX_LIMIT_DOWNLOAD_TOKEN_REACHED="File cannot be downloaded. Maximum download limit of this file reached." +COM_PHOCADOWNLOAD_FIELD_MAX_COUNT_TOKEN_DOWNLOADS_DESC="Set maximum count of files user can download through unique download link. Be aware, 0 (Zero) means, there is no limit. This limit only takes effect for unique download link" +COM_PHOCADOWNLOAD_FIELD_MAX_COUNT_TOKEN_DOWNLOADS_LABEL="Maximum Count of downloads per file (Unique Download Link)" +COM_PHOCADOWNLOAD_URL_FORMAT_DEPENDS_ON_SEF="This Link may take different formats. Its format depends on your SEF Settings" +COM_PHOCADOWNLOAD_UNIQUE_DOWNLOAD_URL="Unique Download Link" +COM_PHOCADOWNLOAD_DOWNLOAD_FILE="Download file" +COM_PHOCADOWNLOAD_FILE_NOT_FOUND="File Not Found" +COM_PHOCADOWNLOAD_SET_TOKEN="Set Token" +COM_PHOCADOWNLOAD_FIELD_TOKEN_LABEL="Token (Unique Download Link)" +COM_PHOCADOWNLOAD_FIELD_TOKEN_DESC="Set token - unique download link of the file" +COM_PHOCADOWNLOAD_FIELD_TOKENHITS_LABEL="Token Downloads" +COM_PHOCADOWNLOAD_FIELD_TOKENHITS_DESC="How many times the file was downloaded by unique download link" +COM_PHOCADOWNLOAD_YES_FRONTEND="Yes (Frontend Only)" +COM_PHOCADOWNLOAD_YES_BACKEND="Yes (Backend Only)" +COM_PHOCADOWNLOAD_YES_FRONTEND_BACKEND="Yes (Frontend, Backend)" +;[3.0.1] +COM_PHOCADOWNLOAD_FIELD_ALIAS_M_DESC="Alias for all added images can be set. If empty, Alias will be created from Filename" +COM_PHOCADOWNLOAD_FIELD_TITLE_M_DESC="Title for all added images can be set. If empty, Title will be created from Filename" +COM_PHOCADOWNLOAD_FIELD_LANGUAGE_FILE_DESC="The language that the file is assigned to." +;[3.0.0] +COM_PHOCADOWNLOAD_FIELD_COPY_PAP_LABEL="Copy Play and Preview" +COM_PHOCADOWNLOAD_FIELD_COPY_PAP_DESC="Set if files of added items will be copied to play and preview folder (in case they can be played or previewed). Items then will be downloadable and previewable or playable." +;[3.0.0 Beta] +COM_PHOCADOWNLOAD_HOT="Hot" +COM_PHOCADOWNLOAD_WILL_BE_CREATED_FROM_TITLE="Will be created from title" +;[3.0.0] +COM_PHOCADOWNLOAD_MAX_LIMIT_DOWNLOAD_PER_FILE_REACHED="You have reached maximum limit of downloads allowed per this file." +COM_PHOCADOWNLOAD_NOT_LOGGED_IN_USERS_NOT_ALLOWED_DOWNLOAD="Please login. Not logged in users are not allowed to download." +COM_PHOCADOWNLOAD_FIELD_MAX_COUNT_USER_DOWNLOADS_DESC="Set maximum count of files user can download. Be aware, 0 (Zero) means, there is no limit. It is limit per file NOT for all downloads. If you set some limit here, anonymous users (guests) are not able to download any file." +COM_PHOCADOWNLOAD_FIELD_MAX_COUNT_USER_DOWNLOADS_LABEL="Maximum Count of downloads per file" +COM_PHOCADOWNLOAD_LOGGING_NOT_ENABLED="Warning! Logging is not enabled at the moment!" +COM_PHOCADOWNLOAD_FIELD_PLAY_OR_PREVIEW_COPY_LABEL="Play or Preview Copy" +COM_PHOCADOWNLOAD_FIELD_PLAY_OR_PREVIEW_COPY_DESC="If yes (Frontend), file which is uploaded by user in fronted will be copied to phocadownloadpap folder so it can be played or previewed. If yes (Backend), then file which is added in File Add feature or in Multiple Add feature in Administration will be copied to phocadownloadpap folder too." +COM_PHOCADOWNLOAD_FIELD_ENABLE_LOGGING_LABEL="Enable Logging" +COM_PHOCADOWNLOAD_FIELD_ENABLE_LOGGING_DESC="Enable or disable logging for downloads, uploads or both. Be aware, logging of downloads and uploads can take a lot of memory in case a lot of downloads or uploads is done on your site. It is recommended to enable it only for short testing period" +COM_PHOCADOWNLOAD_YES_UPLOADS_ONLY="Yes (Uploads only)" +COM_PHOCADOWNLOAD_YES_DOWNLOADS_ONLY="Yes (Downloads only)" +COM_PHOCADOWNLOAD_YES_UPLOADS_DOWNLOADS="Yes (Uploads and Downloads)" +COM_PHOCADOWNLOAD_FIELD_FILE_ICON_MIME_LABEL="File Icon (Extension Mime Type)" +COM_PHOCADOWNLOAD_FIELD_FILE_ICON_MIME_DESC="Enable or disable displaying of file icon by extension mime type (for example: PDF icon will be displayed next to PDF documents). Be aware not all extension mime type icons are available." +COM_PHOCADOWNLOAD_YES_DOWNLOAD_UPLOAD_PARAM="Yes (download and upload parameters)" +COM_PHOCADOWNLOAD_YES_DOWNLOAD_UPLOAD_PARAM_ADMIN="Yes (download and upload parameter in administration only)" +COM_PHOCADOWNLOAD_YES_UPLOAD_PARAM_ADMIN="Yes (only upload parameters in administration)" +COM_PHOCADOWNLOAD_YES_UPLOAD_PARAM="Yes (only upload parameters)" +COM_PHOCADOWNLOAD_YES_DOWNLOAD_PARAM="Yes (only download parameters)" +COM_PHOCADOWNLOAD_IGNORE_FILE_TYPES_CHECK_LABEL="Ignore File Types Checking" +COM_PHOCADOWNLOAD_IGNORE_FILE_TYPES_CHECK_DESC="Set if checking of file types will be ignored. If yes: Allowed File Types (Download), Allowed File Types (Upload), Disallowed File Types (Download), Disallowed File Types (Upload) will be ignored." +COM_PHOCADOWNLOAD_CONFIG_HEAD_DOWNLOADS_LABEL="Downloads" +COM_PHOCADOWNLOAD_CONFIG_HEAD_UPLOADS_LABEL="Uploads" +COM_PHOCADOWNLOAD_FILE_VIEW_LABEL="File View" +COM_PHOCADOWNLOAD_CONFIG_CATEGORY_CATEGORIES_VIEW_LABEL="Categories and Category View" +COM_PHOCADOWNLOAD_IP="IP" +COM_PHOCADOWNLOAD_PAGE="Page" +COM_PHOCADOWNLOAD_RESET_LOG="Reset Log" +COM_PHOCADOWNLOAD_WARNING_RESET_LOG="Are you sure you want to reset (clear) the log?" +COM_PHOCADOWNLOAD_SUCCESS_RESET_LOG_STAT="Log cleared" +COM_PHOCADOWNLOAD_ERROR_RESET_LOG_STAT="Error while clearing log" +COM_PHOCADOWNLOAD_ERROR_SERVER_NOT_ABLE_TO_STORE_FILE_TEMP_FOLDER="Error while uploading file. Server is not able to store this file to Temp folder." +COM_PHOCADOWNLOAD_COUNT="Count" +COM_PHOCADOWNLOAD_LOGGING="Logging" +COM_PHOCADOWNLOAD_UPLOADS="Uploads" +COM_PHOCADOWNLOAD_EDIT_CSS_FILES="Edit CSS Files" +COM_PHOCADOWNLOAD_FIELD_CSS_MENULINK_ID_DESC="Set ID or IDs of menu link (Itemid) where the style will be displayed. Separate each parent ID with comma (,)" +COM_PHOCADOWNLOAD_FIELD_CSS_MENULINK_ID_LABEL="Menu Link ID" +COM_PHOCADOWNLOAD_ERROR_FAILED_TO_SAVE_FILENAME="Error while saving the filename" +COM_PHOCADOWNLOAD_ERROR_SOURCE_FILE_NOT_UNWRITABLE="Error while making the source file unwritable" +COM_PHOCADOWNLOAD_ERROR_SOURCE_FILE_NOT_WRITABLE="Error while saving the file. Source File is not writable." +COM_PHOCADOWNLOAD_STYLE="Style" +COM_PHOCADOWNLOAD_FIELD_CSS_LABEL="Style (CSS Source)" +COM_PHOCADOWNLOAD_FIELD_CSS_DESC="Edit source of the style" +COM_PHOCADOWNLOAD_FIELD_TYPE_DESC="Type of the style" +COM_PHOCADOWNLOAD_FIELD_TYPE_LABEL="Type" +COM_PHOCADOWNLOAD_MAIN="Main" +COM_PHOCADOWNLOAD_FILE_EXISTS="File exists" +COM_PHOCADOWNLOAD_FILE_DOES_NOT_EXIST="File does not exist" +COM_PHOCADOWNLOAD_TYPE="Type" +COM_PHOCADOWNLOAD_CUSTOM_CSS="Custom" +COM_PHOCADOWNLOAD_MAIN_CSS="Main" +COM_PHOCADOWNLOAD_FILTER_SELECT_TYPE="- Select Type -" +COM_PHOCADOWNLOAD_STYLES="Styles" +COM_PHOCADOWNLOAD_FOLDER_NOT_FOUND="Folder not found" +COM_PHOCADOWNLOAD_EDIT_CSS="Edit CSS" +COM_PHOCADOWNLOAD_ERROR_CSS_FOLDER_NOT_FOUND="Custom CSS Folder Not Found" + +COM_PHOCADOWNLOAD_MIRROR_DETAILS="Mirror Details" +COM_PHOCADOWNLOAD_YOUTUBE_OPTIONS="YouTube Options" +COM_PHOCADOWNLOAD_GENERAL_OPTIONS="General Options" +COM_PHOCADOWNLOAD_PUBLISHING_OPTIONS="Publishing Options" +COM_PHOCADOWNLOAD_METADATA_OPTIONS="Metadata Options" +COM_PHOCADOWNLOAD_FILTER_SEARCH_LABEL="Search" +COM_PHOCADOWNLOAD_FILTER_SEARCH_DESC="Search the items" +COM_PHOCADOWNLOAD_LICENCE="Licence" +COM_PHOCADOWNLOAD_PHOCA_NEEDS_YOUR_HELP="Phoca Needs Your Help" +COM_PHOCADOWNLOAD_PLEASE_READ="Please Read" +COM_PHOCADOWNLOAD_USEFUL_TIPS="Useful Tips (Extensions)" +COM_PHOCADOWNLOAD_USEFUL_LINKS="Useful Links" +;[2.1.5] +COM_PHOCADOWNLOAD_UPLOADED_BY_LABEL="Uploaded By" +COM_PHOCADOWNLOAD_UPLOADED_BY_DESC="Set Uploaded By" +COM_PHOCADOWNLOAD_OWNER_LABEL="Owner" +COM_PHOCADOWNLOAD_OWNER_DESC="Set Owner" +;[2.1.2] +COM_PHOCADOWNLOAD_BATCH_OPTIONS_CATEGORIES="Batch process the selected categories" +COM_PHOCADOWNLOAD_PHOCA_DOWNLOAD="Phoca Download" +COM_PHOCADOWNLOAD_INFORMATION="Information" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_LINK_LABEL="Select Category Link" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_LINK_DESC="Select category to link it" +COM_PHOCADOWNLOAD_FIELD_DOWNLOAD_FOLDER_PAP_LABEL="Download Folder (Play, Preview)" +COM_PHOCADOWNLOAD_FIELD_DOWNLOAD_FOLDER_PAP_DESC="Set download folder for play and preview files" +;[2.1.1] +COM_PHOCADOWNLOAD_FIELD_VIDEO_HEIGHT_DV_LABEL="Youtube Height (Detail View)" +COM_PHOCADOWNLOAD_FIELD_VIDEO_HEIGHT_DV_DESC="Set Youtube height for Detail View" +COM_PHOCADOWNLOAD_FIELD_VIDEO_WIDTH_DV_LABEL="Youtube Width (Detail View)" +COM_PHOCADOWNLOAD_FIELD_VIDEO_WIDTH_DV_DESC="Set Youtube width for Detail View" +COM_PHOCADOWNLOAD_FIELD_VIDEO_HEIGHT_CV_LABEL="Youtube Height (Category View)" +COM_PHOCADOWNLOAD_FIELD_VIDEO_HEIGHT_CV_DESC="Set Youtube height for Category View" +COM_PHOCADOWNLOAD_FIELD_VIDEO_WIDTH_CV_LABEL="Youtube Width (Category View)" +COM_PHOCADOWNLOAD_FIELD_VIDEO_WIDTH_CV_DESC="Set Youtube width for Category View" +COM_PHOCADOWNLOAD_GROUP_LABEL_YOUTUBE_DETAILS="Youtube" +COM_PHOCADOWNLOAD_VIDEO_LINK_LABEL="Youtube Link" +COM_PHOCADOWNLOAD_VIDEO_LINK_DESC="Set Youtube link" +COM_PHOCADOWNLOAD_YES_ONLY_MODALBOX="Yes (Only Modalbox - Category View)" +;[2.1.0 Stable] +COM_PHOCADOWNLOAD_SELECT_FILE="Select file" +COM_PHOCADOWNLOAD_FIELD_SELECT_FILE_LABEL="Select file" +COM_PHOCADOWNLOAD_FIELD_SELECT_FILE_DESC="Select display file" +COM_PHOCADOWNLOAD_OVERLIB_WIDTH_DETAIL="Overlib with detail" +;[2.1.0 Beta] +COM_PHOCADOWNLOAD_FILE_VIEW="File View" +COM_PHOCADOWNLOAD_CATEGORY_VIEW="Category View" +COM_PHOCADOWNLOAD_CATEGORIES_VIEW="Categories View" +COM_PHOCADOWNLOAD_PARAMETERS="Parameters" +COM_PHOCADOWNLOAD_STYLES="Styles (CSS)" +COM_PHOCADOWNLOAD_LAYOUT_WARNING="Warning: Parameters are mostly styled by CSS, here you can add or remove different parts of the view. For stylizing them, just check the Phoca Download CSS. Edit the HTML source (HTML source can be displayed by editor feature) Displaying specific layout must be enabled in parameters." +COM_PHOCADOWNLOAD_DISPLAY_SPEC_LAYOUT_LABEL="Display Specific Layout" +COM_PHOCADOWNLOAD_DISPLAY_SPEC_LAYOUT_DESC="Display specific layout - set in Phoca Download administration. Be aware, some parts of the layout needs to be changed in CSS too to display properly." +COM_PHOCADOWNLOAD_CLEAN="Clean" +COM_PHOCADOWNLOAD_YES_OVERLIB="Yes (Overlib)" +COM_PHOCADOWNLOAD_YES_MODAL="Yes (Modal Box)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_TAGS_LINKS_LABEL="Display Tags" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_TAGS_LINKS_DESC="Display or hide tags" +COM_PHOCADOWNLOAD_YES_CATEGORY_VIEW_BUTTON="Yes (Category View) as Button" +COM_PHOCADOWNLOAD_YES_FILE_VIEW_BUTTON="Yes (File View) as Button" +COM_PHOCADOWNLOAD_YES_CATEGORY_FILE_VIEW_BUTTON="Yes (Category And File View) as Button" +COM_PHOCADOWNLOAD_EXTERNAL_LINK="External Link" +COM_PHOCADOWNLOAD_CATEGORY_LINK="Category Link" +COM_PHOCADOWNLOAD_SEARCH_OUTCOME="Search Outcome" +COM_PHOCADOWNLOAD_FIELD_TAGS_LINKS_LABEL="Tags (Links)" +COM_PHOCADOWNLOAD_FIELD_TAGS_LINKS_DESC="Set if the tags will include a link. If yes, set type of this link" +COM_PHOCADOWNLOAD_AT="at" +COM_PHOCADOWNLOAD_FEATURES="Features" +COM_PHOCADOWNLOAD_CHANGELOG="Changelog" +COM_PHOCADOWNLOAD_NOTES="Notes" +COM_PHOCADOWNLOAD_ERROR_DELETING_ITEM="Error while deleting item" +COM_PHOCADOWNLOAD_SUCCESS_DELETING_ITEM="Item deleted" +COM_PHOCADOWNLOAD_ERROR_UNPUBLISHING_ITEM="Error while unpublishing item" +COM_PHOCADOWNLOAD_ERROR_PUBLISHING_ITEM="Error while publishing item" +COM_PHOCADOWNLOAD_SUCCESS_UNPUBLISHING_ITEM="Item unpublished" +COM_PHOCADOWNLOAD_SUCCESS_PUBLISHING_ITEM="Item published" +COM_PHOCADOWNLOAD_FIELD_DELETE_RIGHTS_LABEL="Delete Rights" +COM_PHOCADOWNLOAD_FIELD_DELETE_RIGHTS_DESC="Set delete rights" +COM_PHOCADOWNLOAD_ERROR_DELETE_CONTAIN_FILE="Category(ies): '%s' cannot be removed as it contains (they contain) Items. There may currently be File(s) within the Category which you must delete first." +COM_PHOCADOWNLOAD_ERROR_DELETE_CONTAIN_CAT="Category(ies): '%s' cannot be removed as it contains (they contain) Subcategories. There may currently be Subcategory(ies) within the Category which you must delete first." +COM_PHOCADOWNLOAD_CATEGORIES_ADDED="Category(ies) added" +COM_PHOCADOWNLOAD_FILES_ADDED="File(s) added" +COM_PHOCADOWNLOAD_CHECK_ALL="Check All" +COM_PHOCADOWNLOAD_WARNING_FILE_SELECTED_SELECT_CATEGORY="File(s) are selected. Category needs to be selected also" +COM_PHOCADOWNLOAD_WARNING_SELECT_FILENAME_OR_FOLDER="Select File or Folder" +COM_PHOCADOWNLOAD_MULTIPLE_ADD="Multiple Add" +COM_PHOCADOWNLOAD_BATCH_OPTIONS_FILES="Batch process the selected files" +;COM_PHOCADOWNLOAD_SUCCESS_COPY_FILE="File(s) copied" +;COM_PHOCADOWNLOAD_ERROR_COPY_FILE="Error while copying file(s)" +COM_PHOCADOWNLOAD_QUICK_COPY="Quick Copy" +COM_PHOCADOWNLOAD_COPY="Copy" +COM_PHOCADOWNLOAD_FORM_SELECT_IMAGE="Select Image" +COM_PHOCADOWNLOAD_FIELD_IMAGE_DOWNLOAD_LABEL="Image" +COM_PHOCADOWNLOAD_FIELD_IMAGE_DOWNLOAD_DESC="Set image for the file" +COM_PHOCADOWNLOAD_FIELD_CATEGORIES_LAYOUT_LABEL="Categories View Layout" +COM_PHOCADOWNLOAD_FIELD_CATEGORIES_LAYOUT_DESC="Set layout for Categories View" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_LAYOUT_LABEL="Category View Layout" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_LAYOUT_DESC="Set layout for Category View" +COM_PHOCADOWNLOAD_FIELD_FILE_LAYOUT_LABEL="File View Layout" +COM_PHOCADOWNLOAD_FIELD_FILE_LAYOUT_DESC="Set layout for File View" +COM_PHOCADOWNLOOAD_CONTROL_PANEL="Control Panel" +COM_PHOCADOWNLOAD_FIELD_FEATURES_DESC="Set Features Text" +COM_PHOCADOWNLOAD_FIELD_FEATURES_LABEL="Features" +COM_PHOCADOWNLOAD_FIELD_CHANGELOG_DESC="Set Changelog Text" +COM_PHOCADOWNLOAD_FIELD_CHANGELOG_LABEL="Changelog" +COM_PHOCADOWNLOAD_FIELD_NOTES_DESC="Set Notes Text" +COM_PHOCADOWNLOAD_FIELD_NOTES_LABEL="Notes" +COM_PHOCADOWNLOAD_FIELD_TAGS_LABEL="Tags" +COM_PHOCADOWNLOAD_FIELD_TAGS_DESC="Select tags" +COM_PHOCADOWNLOAD_NEW_TAG="New Tag" +COM_PHOCADOWNLOAD_EDIT_TAG="Edit Tag" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_LABEL="Link To Category" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_DES="Select category if you want to link this tag to category" +COM_PHOCADOWNLOAD_FIELD_EXT_LINK_TAG_LABEL="Link To External Site" +COM_PHOCADOWNLOAD_FIELD_EXT_LINK_TAG_DESC="Set link to external site if you want to link this tag to some site (include http://)" +COM_PHOCADOWNLOAD_TAG="Tag" +COM_PHOCADOWNLOAD_TAGS="Tags" +COM_PHOCADOWNLOAD_LAYOUT="Layout" +;[2.0.0] +COM_PHOCADOWNLOAD_NUM="Num" +COM_PHOCADOWNLOAD_LIMIT="Limit" +COM_PHOCADOWNLOAD_YOUTUBE_URL="Youtube URL" +COM_PHOCADOWNLOAD_WARNING_SET_YOUTUBE_URL="You must set URL of Youtube video" +COM_PHOCADOWNLOAD_PLAYER_WIDTH="Player Width" +COM_PHOCADOWNLOAD_PLAYER_HEIGHT="Player Height" +COM_PHOCADOWNLOAD_PLAYER_HEIGHT_MP3="Player Height (MP3)" +COM_PHOCADOWNLOAD_WARNING_PLAYER_SIZE="Only size of Popup Window (Modal Box) can be set here, size of player needs to be set in Parameters of Phoca Download Component" +COM_PHOCADOWNLOAD_PREVIEW_WIDTH="Preview Width" +COM_PHOCADOWNLOAD_PREVIEW_HEIGHT="Preview Height" +COM_PHOCADOWNLOAD_YOU_MUST_SELECT_FILE="You must select a file" +COM_PHOCADOWNLOAD_YOU_MUST_SELECT_CATEGORY="You must select a category" +COM_PHOCADOWNLOAD_TARGET="Target" +COM_PHOCADOWNLOAD_TARGET_SELF="Target _self" +COM_PHOCADOWNLOAD_TARGET_BLANK="Target _blank" +COM_PHOCADOWNLOAD_TARGET_TOP="Target _top" +COM_PHOCADOWNLOAD_TARGET_PARENT="Target _parent" +COM_PHOCADOWNLOAD_INSERT_CODE="Insert Code" +COM_PHOCADOWNLOAD_BACK="Back" +COM_PHOCADOWNLOAD_FILELIST="File List" +COM_PHOCADOWNLOAD_YOUTUBE_VIDEO="Youtube Video" +COM_PHOCADOWNLOAD_PLAY_FILE_LINK="Play File (Link)" +COM_PHOCADOWNLOAD_PLAY_FILE_DIRECT="Play File (Direct)" +COM_PHOCADOWNLOAD_PREVIEW_FILE_LINK="Preview File (Link)" +COM_PHOCADOWNLOAD_LINK_TO_FILE="Link To File" +COM_PHOCADOWNLOAD_LINK_TO_CATEGORY="Link To Category" +COM_PHOCADOWNLOAD_LINK_TO_CATEGORIES="Link To Categories" +COM_PHOCADOWNLOAD_SELECT_TYPE="Select Type" +COM_PHOCADOWNLOAD_UPLOADED_BY="Uploaded by" +COM_PHOCADOWNLOAD_FIELD_ENABLE_CACHE_LABEL="Enable Cache" +COM_PHOCADOWNLOAD_FIELD_ENABLE_CACHE_DESC="Enable cache if it is enabled in Joomla! Global Configuration" +;[2.0.0RC3] +COM_PHOCADOWNLOAD_USER_LANG="User's Language" +COM_PHOCADOWNLOAD_SITE_LANG="Site's Language" +COM_PHOCADOWNLOAD_FIELD_USER_UCP_LANG_LABEL="User Language" +COM_PHOCADOWNLOAD_FIELD_USER_UCP_LANG_DESC="Set which language will be set while creating category or uploading image in UCP" +COM_PHOCADOWNLOAD_NO_RIGHTS_ACCESS_CATEGORY_FILE="You have no rights to access file in this category" +COM_PHOCADOWNLOAD_FIELD_SELECT_CATEGORY_LABEL="Select Category" +COM_PHOCADOWNLOAD_FIELD_SELECT_CATEGORY_DESC="Select category" +COM_PHOCADOWNLOAD_ERROR_FB_APP_ID_EMPTY="Facebook Application ID is empty" +COM_PHOCADOWNLOAD_FIELD_FB_COMMENT_APP_ID_LABEL="Facebook comments application ID" +COM_PHOCADOWNLOAD_FIELD_FB_COMMENT_APP_ID_DESC="Set Facebook Comments Application ID (ID of your created application in Facebook)" +COM_PHOCADOWNLOAD_FACEBOOK_COMMENTS_WIDTH_LABEL="Facebook Comments Width" +COM_PHOCADOWNLOAD_FACEBOOK_COMMENTS_WIDTH_DESC="Set Facebook comments box width" +COM_PHOCADOWNLOAD_FACEBOOK_FIELD_COMMENT_LANG_LABEL="Facebook Language" +COM_PHOCADOWNLOAD_FACEBOOK_FIELD_COMMENT_LANG_DESC="Set Facebook language" +COM_PHOCADOWNLOAD_FACEBOOK_FIELD_COMMENT_COUNT_LABEL="Comments Count" +COM_PHOCADOWNLOAD_FACEBOOK_FIELD_COMMENT_COUNT_DESC="Set count of comments displayed in comment box" +COM_PHOCADOWNLOAD_FACEBOOK="Facebook" +COM_PHOCADOWNLOAD_STARS_OUT_OF="stars out of" +COM_PHOCADOWNLOAD_FIELD_LANGUAGE_FILE_DESC="The language that the file is assigned to." +COM_PHOCADOWNLOAD_FIELD_LANGUAGE_CATEGORY_DESC="The language that the category is assigned to." +;[2.0.0RC2] +COM_PHOCADOWNLOAD_FIELD_DELETE_EXISTING_FILES_DESC="If yes then the file stored on server will be deleted in case the file will be deleted from Phoca Download" +COM_PHOCADOWNLOAD_FIELD_DELETE_EXISTING_FILES_LABEL="Delete Existing Files" +COM_PHOCADOWNLOAD_FIELD_OVERWRITE_EXISTING_FILES_DESC="Set if uploaded files should overwrite existing files on the server" +COM_PHOCADOWNLOAD_FIELD_OVERWRITE_EXISTING_FILES_LABEL="Overwrite Existing Files" +COM_PHOCADOWNLOAD_REPORT="Report" +COM_PHOCADOWNLOAD_FIELD_REPORT_LINK_GUESTBOOK_ID_LABEL="Guestbook ID (Report)" +COM_PHOCADOWNLOAD_FIELD_REPORT_LINK_GUESTBOOK_ID_DESC="Set guestbook id (guestbook from Phoca Guestbook component) in case the report function is active" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_REPORT_LINK_LABEL="Display Report Link" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_REPORT_LINK_DESC="Display or hide report link. This link will run Phoca Guestbook in Report Mode. There users can report files. Phoca Guestbook needs to be installed and the report function enabled in guestbook settings to run this feature." +COM_PHOCADOWNLOAD_FIELD_DISPLAY_MIRROR_LINKS_LABEL="Display Mirror Links" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_MIRROR_LINKS_DESC="Display or hide mirror links" +COM_PHOCADOWNLOAD_GROUP_LABEL_MIRROR_DETAILS="Mirror Details" +COM_PHOCADOWNLOAD_OPEN_WINDOW_BLANK="Open in new window (_blank)" +COM_PHOCADOWNLOAD_OPEN_WINDOW_PARENT="Open in parent window/frame (_parent)" +COM_PHOCADOWNLOAD_OPEN_WINDOW_SELF="Open in this window/frame (_self)" +COM_PHOCADOWNLOAD_OPEN_WINDOW_TOP="Open in top frame (replaces all frames) (_top)" +COM_PHOCADOWNLOAD_MIRROR_LINK_LINK_LABEL="Link" +COM_PHOCADOWNLOAD_MIRROR_LINK_TARGET_LABEL="Target" +COM_PHOCADOWNLOAD_MIRROR_LINK_TITLE_LABEL="Title (Link 1)" +COM_PHOCADOWNLOAD_FIELD_MIRROR_LINK_LINK_DESC="Set first mirror link (Inlcude the protocol: e.g. http:// or https://)" +COM_PHOCADOWNLOAD_FIELD_MIRROR_LINK_TARGET_DESC="Set target for first mirror link" +COM_PHOCADOWNLOAD_FIELD_MIRROR_LINK_TITLE_DESC="Set title for first mirror link" +COM_PHOCADOWNLOAD_MIRROR_LINK_LINK2_LABEL="Link 2" +COM_PHOCADOWNLOAD_MIRROR_LINK_TARGET2_LABEL="Target" +COM_PHOCADOWNLOAD_MIRROR_LINK_TITLE2_LABEL="Title (Link 2)" +COM_PHOCADOWNLOAD_FIELD_MIRROR_LINK_LINK2_DESC="Set second mirror link (Inlcude the protocol: e.g. http:// or https://)" +COM_PHOCADOWNLOAD_FIELD_MIRROR_LINK_TARGET2_DESC="Set target for second mirror link" +COM_PHOCADOWNLOAD_FIELD_MIRROR_LINK_TITLE2_DESC="Set title for second mirror link" +COM_PHOCADOWNLOAD_YES_CATEGORY_VIEW="Yes (Category View)" +COM_PHOCADOWNLOAD_YES_FILE_VIEW="Yes (FileView)" +COM_PHOCADOWNLOAD_YES_CATEGORY_FILE_VIEW="Yes (Category And File View)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_RATING_FILE_DESC="Display or hide rating for files" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_RATING_FILE_LABEL="Display Rating (File)" +COM_PHOCADOWNLOAD_CONFIG_RATING_SETTINGS_LABEL="Rating Settings" +COM_PHOCADOWNLOAD_ERROR_FILE_NOT_EXISTS="File does not exist" +COM_PHOCADOWNLOAD_RATING_ALREADY_RATED_FILE="You have already rated this file" +COM_PHOCADOWNLOAD_SUCCESS_RATING_FILE="Thank you for your rating" +COM_PHOCADOWNLOAD_ERROR_RATING_FILE="Error while rating the file" +COM_PHOCADOWNLOAD_ERROR_WRONG_RATING="Error while rating - wrong format added" +COM_PHOCADOWNLOAD_ERROR_REQUESTING_RATING="Error while requesting rating" +COM_PHOCADOWNLOAD_VOTE="vote" +COM_PHOCADOWNLOAD_VOTES="votes" +COM_PHOCADOWNLOAD_FILE_RATING="File Rating" +COM_PHOCADOWNLOAD_RATING="Rating" +COM_PHOCADOWNLOAD_STAR_OUT_OF="star out of" +COM_PHOCADOWNLOAD_ONLY_REGISTERED_LOGGED_RATE_FILE="Only registered and logged in users can rate this file" +;[2.0.0 RC] +COM_PHOCADOWNLOAD_FIELD_DISALLOWED_FILE_TYPES_UPLOAD_DESC="Set disallowed file types for frontend upload." +COM_PHOCADOWNLOAD_FIELD_ALLOWED_FILE_TYPES_UPLOAD_DESC="Set allowed file types for frontend upload. Default list of filetypes is not complete and should be modified to fit your needs." +COM_PHOCADOWNLOAD_FIELD_SHOW_PAGINATION_LABEL="Display Pagination" +COM_PHOCADOWNLOAD_FIELD_SHOW_PAGINATION_DESC="Display or hide pagination" +COM_PHOCADOWNLOAD_FIELD_SHOW_PAGINATION_LIMIT_LABEL="Display Select Box - Pagination" +COM_PHOCADOWNLOAD_FIELD_SHOW_PAGINATION_LIMIT_DESC="Display or hide select box for pagination" +COM_PHOCADOWNLOAD_HIDE="Hide" +COM_PHOCADOWNLOAD_DISPLAY="Display" +;[2.0.0 BETA1] +COM_PHOCADOWNLOAD_FIELD_DISPLAY_MAIN_CAT_DESC_LABEL="Display Main Category Description" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_MAIN_CAT_DESC_DESC="Set if category description should be displayed in Categories View - Description will be displayed instead of subcategories" +COM_PHOCADOWNLOAD_ERROR_CATEGORY_NOT_SELECTED="Category was not selected" +COM_PHOCADOWNLOAD_FIELD_REGISTERED_ACCESS_LEVEL_LABEL="Access Level - Registered Users" +COM_PHOCADOWNLOAD_FIELD_REGISTERED_ACCESS_LEVEL_DESC="Set access levels for registered users. Some actions in frontend can be done by registered users only. Set which access level group will be regarded as registered group." +COM_PHOCADOWNLOAD_FIELD_ENABLE_ICONV_ALIAS_LABEL="Iconv Alias" +COM_PHOCADOWNLOAD_FIELD_ENABLE_ICONV_ALIAS_DESC="Enable or disable creating of alias with help of iconv function" +COM_PHOCADOWNLOAD_UPGRADE="Upgrade" +COM_PHOCADOWNLOAD_INSTALL="Install" +; For Translaters - set your own data here +COM_PHOCADOWNLOAD_TRANSLATION="Translation" +COM_PHOCADOWNLOAD_TRANSLATION_LANGUAGE_TAG="English" +COM_PHOCADOWNLOAD_TRANSLATER="Jan Pavelka" +COM_PHOCADOWNLOAD_TRANSLATION_SUPPORT_URL="www.phoca.cz" +; End Translaters section - - - - - - - - +COM_PHOCADOWNLOAD_ACCESS="Access" +COM_PHOCADOWNLOAD_ACTIVE="Active" +COM_PHOCADOWNLOAD_ADD_FILES="Add Files" +COM_PHOCADOWNLOAD_ADD_FILES_TO_UPLOAD_QUEUE_AND_CLICK_START_BUTTON="Add files to the upload queue and click the start button." +COM_PHOCADOWNLOAD_ADD_TEXT="Text" +COM_PHOCADOWNLOAD_ALL="All" +COM_PHOCADOWNLOAD_ALL_APPROVED="All files authorized" +COM_PHOCADOWNLOAD_ALL_REGISTERED_USERS="All registered users" +COM_PHOCADOWNLOAD_ALWAYS="Always" +COM_PHOCADOWNLOAD_AND_LEFT_FOR_DESCRIPTION="and left for description" +COM_PHOCADOWNLOAD_APPROVE="Authorize" +COM_PHOCADOWNLOAD_APPROVED="Authorized" +COM_PHOCADOWNLOAD_APPROVE_ALL="Authorize All" +COM_PHOCADOWNLOAD_APPROVE_ALL_ERROR="Error while authorizing all files" +COM_PHOCADOWNLOAD_APPROVE_ITEM="Authorize item" +COM_PHOCADOWNLOAD_AUTHOR="Author" +COM_PHOCADOWNLOAD_AUTHOR_EMAIL="Author's Email" +COM_PHOCADOWNLOAD_AUTHOR_WEBSITE="Author's Website" +COM_PHOCADOWNLOAD_BLANK="Blank" +COM_PHOCADOWNLOAD_GREY2="Grey 2" +COM_PHOCADOWNLOAD_BOTTOM="Bottom" +COM_PHOCADOWNLOAD_BOTTOM_AND_OVERLIB="Bottom and Overlib" +COM_PHOCADOWNLOAD_BOTTOM_WITH_DETAIL_AND_OVERLIB="Bottom with detail and Overlib" +COM_PHOCADOWNLOAD_CATEGORIES="Categories" +COM_PHOCADOWNLOAD_CATEGORY="Category" +COM_PHOCADOWNLOAD_CHARACTERS_WRITTEN="Characters written" +COM_PHOCADOWNLOAD_CHECK_FOR_UPDATE="Check For Update" +COM_PHOCADOWNLOAD_CHECK_PERMISSIONS_OWNERSHIP="Check permissions and ownership of files and folders" +COM_PHOCADOWNLOAD_CLOSE="Close" +COM_PHOCADOWNLOAD_CONFIGURATION="Phoca Download Configuration" +COM_PHOCADOWNLOAD_CONFIG_COMMENTS_SETTINGS_LABEL="Comments Settings" +COM_PHOCADOWNLOAD_CONFIG_GENERAL_SETTINGS_LABEL="General Settings" +COM_PHOCADOWNLOAD_CONFIG_HEAD_DISPLAY_LABEL="Display" +COM_PHOCADOWNLOAD_CONFIG_HEAD_GENERAL_LABEL="General" +COM_PHOCADOWNLOAD_CONFIG_HEAD_USER_UPLOAD_LABEL="User Upload" +COM_PHOCADOWNLOAD_CONFIG_THEME_SETTINGS_LABEL="Theme Settings" +COM_PHOCADOWNLOAD_CONTROL_PANEL="Control Panel" +COM_PHOCADOWNLOAD_COPYRIGHT="Copyright" +COM_PHOCADOWNLOAD_COUNT_NOT_UPLOADED_FILE="Count of not uploaded (failed) files" +COM_PHOCADOWNLOAD_COUNT_UPLOADED_FILE="Count of uploaded files" +COM_PHOCADOWNLOAD_COUNT_USER_FILES_APPROVED="Count (authorized files)" +COM_PHOCADOWNLOAD_COUNT_USER_FILES_NOT_APPROVED="Count (not authorized files)" +COM_PHOCADOWNLOAD_CREATE_FOLDER="Create Folder" +COM_PHOCADOWNLOAD_DATABASE_TIME="Database" +COM_PHOCADOWNLOAD_DATE="Date" +COM_PHOCADOWNLOAD_DATE_ASC="Date Ascending" +COM_PHOCADOWNLOAD_DATE_DESC="Date Descending" +COM_PHOCADOWNLOAD_DATE_UPLOAD="Upload Date" +COM_PHOCADOWNLOAD_DEFAULT="Default" +COM_PHOCADOWNLOAD_DELETE="Delete" +COM_PHOCADOWNLOAD_DESCRIPTION="Description" +COM_PHOCADOWNLOAD_DETAILS="Details" +COM_PHOCADOWNLOAD_DISPLAY_NUM="Display Num" +COM_PHOCADOWNLOAD_DOT="dot" +COM_PHOCADOWNLOAD_DOWNLOAD="Download" +COM_PHOCADOWNLOAD_DOWNLOAD_AS_SKP="Download as skp" +COM_PHOCADOWNLOAD_DOWNLOADS="Downloads" +COM_PHOCADOWNLOAD_DRAG_FILES_HERE="Drag Files Here" +COM_PHOCADOWNLOAD_EDIT="Edit" +COM_PHOCADOWNLOAD_EDIT_CATEGORY="Edit Category" +COM_PHOCADOWNLOAD_EDIT_FILE="Edit File" +COM_PHOCADOWNLOAD_EMAIL="Email" +COM_PHOCADOWNLOAD_ERROR="Error" +COM_PHOCADOWNLOAD_ERROR_APPROVE_ALL="Error while authorizing all files" +COM_PHOCADOWNLOAD_ERROR_CONTROLLER_MANAGER_NOT_SET="Error while creating folder - Manager not set" +COM_PHOCADOWNLOAD_ERROR_FILE_UPLOADED="File not uploaded" +COM_PHOCADOWNLOAD_ERROR_FOLDER_CREATING="Error while creating folder" +COM_PHOCADOWNLOAD_ERROR_FOLDER_UPLOAD_NOT_EXISTS="Folder does not exist or it is not accessible" +COM_PHOCADOWNLOAD_ERROR_MOVE_UPLOADED_FILE="Failed to move uploaded file" +COM_PHOCADOWNLOAD_ERROR_NO_ABS_FILE="File not found on server" +COM_PHOCADOWNLOAD_ERROR_NO_CORRECT_FILE_TO_PLAY_FOUND="No correct file for playing found" +COM_PHOCADOWNLOAD_ERROR_NO_DB_FILE="File info not found in database" +COM_PHOCADOWNLOAD_ERROR_NO_DB_RESULT="Problems with database" +COM_PHOCADOWNLOAD_ERROR_NO_FILE_TO_PLAY_FOUND="No file for playing found" +COM_PHOCADOWNLOAD_ERROR_OPEN_INPUT_STREAM="Failed to open input stream" +COM_PHOCADOWNLOAD_ERROR_OPEN_OUTPUT_STREAM="Failed to open output stream" +COM_PHOCADOWNLOAD_ERROR_RESET_USER_STAT="Error while resetting user statistics" +COM_PHOCADOWNLOAD_ERROR_UNABLE_TO_MOVE_FILE="Unable to move file" +COM_PHOCADOWNLOAD_ERROR_UNABLE_TO_UPLOAD_FILE="Unable to upload file" +COM_PHOCADOWNLOAD_ERROR_UPLOAD_MANAGER_NOT_SET="Error while uploading - Manager not set" +COM_PHOCADOWNLOAD_ERROR_WHILE_DOWNLOADING_FILE="Error while downloading file" +COM_PHOCADOWNLOAD_EXPERTS_ONLY_LABEL="Experts Only!" +COM_PHOCADOWNLOAD_EXPIRED="Expired" +COM_PHOCADOWNLOAD_FIELD_ABSOLUTE_PATH_DESC="Set absolute path of Phoca Download folder (this can be path outside the public_html). Be aware, this path must exist and the folder and possible subfolders need to be created manually. If the path is outside the public_html the files cannot be previewed or played in browser." +COM_PHOCADOWNLOAD_FIELD_ABSOLUTE_PATH_LABEL="Absolute Path" +COM_PHOCADOWNLOAD_FIELD_ACCESS_RIGHTS_DESC="Set access rights" +COM_PHOCADOWNLOAD_FIELD_ACCESS_RIGHTS_LABEL="Access Rights" +COM_PHOCADOWNLOAD_FIELD_ALIAS_DESC="Set alias" +COM_PHOCADOWNLOAD_FIELD_ALIAS_LABEL="Alias" +COM_PHOCADOWNLOAD_FIELD_ALLOWED_FILE_TYPES_DOWNLOAD_DESC="Set allowed file types for frontend download. Default list of filetypes is not complete and should be modified to fit your needs." +COM_PHOCADOWNLOAD_FIELD_ALLOWED_FILE_TYPES_DOWNLOAD_LABEL="Allowed File Types (Download)" +COM_PHOCADOWNLOAD_FIELD_ALLOWED_FILE_TYPES_UPLOAD_LABEL="Allowed File Types (Upload)" +COM_PHOCADOWNLOAD_FIELD_APPROVED_DESC="Set if the file will be authorized or unathorized" +COM_PHOCADOWNLOAD_FIELD_APPROVED_LABEL="Authorized" +COM_PHOCADOWNLOAD_FIELD_AUTHOR_DESC="Set Author of the file" +COM_PHOCADOWNLOAD_FIELD_AUTHOR_EMAIL_DESC="Set Author's email" +COM_PHOCADOWNLOAD_FIELD_AUTHOR_EMAIL_LABEL="Author's Email" +COM_PHOCADOWNLOAD_FIELD_AUTHOR_LABEL="Author" +COM_PHOCADOWNLOAD_FIELD_AUTHOR_URL_DESC="Set Author's webstie" +COM_PHOCADOWNLOAD_FIELD_AUTHOR_URL_LABEL="Author's Website" +COM_PHOCADOWNLOAD_FIELD_BUTTON_STYLE_DESC="Set button style" +COM_PHOCADOWNLOAD_FIELD_BUTTON_STYLE_LABEL="Button Style" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_DESC="Select Category" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_LABEL="Category" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_ORDERING_DESC="Set category ordering" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_ORDERING_LABEL="Category Ordering" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_VIEW_PAGINATION_DESC="Set pagination values for Category View (file list). Separate each pagination value with comma (,)" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_VIEW_PAGINATION_LABEL="Pagination (Category View)" +COM_PHOCADOWNLOAD_FIELD_CONFIRM_LICENSE_DESC="Select license for this file. If some license will be selected, file will be not downloaded after clicking on Download button, but the license text will be displayed. This text must be confirmed by user who wants to dowload the file." +COM_PHOCADOWNLOAD_FIELD_CONFIRM_LICENSE_LABEL="Confirm license" +COM_PHOCADOWNLOAD_FIELD_DATE_DESC="Set date" +COM_PHOCADOWNLOAD_FIELD_DATE_LABEL="Date" +COM_PHOCADOWNLOAD_FIELD_DEFAULT_VALUE_PAGINATION_DESC="Set default value for pagination which can be displayed in Category View (file list)" +COM_PHOCADOWNLOAD_FIELD_DEFAULT_VALUE_PAGINATION_LABEL="Pagination Default Value" +COM_PHOCADOWNLOAD_FIELD_DESCRIPTION_DESC="Set description. This will be displayed in Categories View" +COM_PHOCADOWNLOAD_FIELD_DESCRIPTION_LABEL="Description" +COM_PHOCADOWNLOAD_FIELD_DIRECT_LINK_DESC="If direct link will be checked, Downlod button will link directly to the file. It means the file will be handled by browser (e.g. MP3 will be not downloaded but played). This option should be selected in case there are problems with downloading files from the server." +COM_PHOCADOWNLOAD_FIELD_DIRECT_LINK_LABEL="Direct Link" +COM_PHOCADOWNLOAD_FIELD_DISALLOWED_FILE_TYPES_DOWNLOAD_DESC="Set disallowed file types for frontend download." +COM_PHOCADOWNLOAD_FIELD_DISALLOWED_FILE_TYPES_DOWNLOAD_LABEL="Disallowed File Types (Download)" +COM_PHOCADOWNLOAD_FIELD_DISALLOWED_FILE_TYPES_UPLOAD_LABEL="Disallowed File Types (Upload)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_CATEGORY_COMMENTS_DESC="Set if category comments should be displayed or not" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_CATEGORY_COMMENTS_LABEL="Display Category Comments" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DATE_TYPE_DESC="Set date type" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DATE_TYPE_LABEL="Display Date Type" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DESCRIPTION_DESC="Display or hide description" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DESCRIPTION_LABEL="Display Description" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DETAIL_BUTTON_DESC="Display or hide detail button" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DETAIL_BUTTON_LABEL="Display Detail Button" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DOWNLOADS_DESC="Display or hide the count of downloads" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DOWNLOADS_LABEL="Display Downloads" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_FILE_COMMENTS_DESC="Set if file comments should be displayed or not" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_FILE_COMMENTS_LABEL="Display File Comments" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_FILE_VIEW_DESC="Enable or disable File View before download a file" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_FILE_VIEW_LABEL="Display File View" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_HOT_ICON_DESC="Set the number of hits (downloads). After reaching this number of downloads HOT icon will be displayed for the file, use zero for not displaying the icon" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_HOT_ICON_LABEL="Display Hot Icon" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_INACCESSIBLE_FILE_DESC="If the file will be inaccessible for e.g. not logged in users, it can be displayed for them. It means users will see the file but by clicking on the download button they will be redirected to login form." +COM_PHOCADOWNLOAD_FIELD_DISPLAY_INACCESSIBLE_FILE_LABEL="Display Inaccessible file" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_MOST_DOWNLOAD_FILES_DESC="Display Most Download Files in Categories View" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_MOST_DOWNLOAD_FILES_LABEL="Display Most Download Files" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_NEW_ICON_DESC="Set the number of days. During these days NEW icon will be displayed for the file, use zero for not displaying the icon" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_NEW_ICON_LABEL="Display New Icon" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_NUM_FILES_CATEGORIES_VIEW_DESC="Display or hide number of files (Categories View)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_NUM_FILES_CATEGORIES_VIEW_HEADER_DESC="Display or hide number of files (Categories View - Header)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_NUM_FILES_CATEGORIES_VIEW_HEADER_LABEL="Display Number of Files (Categories View - Header)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_NUM_FILES_CATEGORIES_VIEW_LABEL="Display Number of Files (Categories View)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_PLAY_BUTTON_DESC="Display or hide play button" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_PLAY_BUTTON_LABEL="Display Play Button" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_PREVIEW_BUTTON_DESC="Display or hide preview button" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_PREVIEW_BUTTON_LABEL="Display Preview Button" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_UP_ICON_DESC="Display or hide up icon - icon back to category or back to categories view" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_UP_ICON_LABEL="Display Up Icon" +COM_PHOCADOWNLOAD_FIELD_DOWNLOADS_DESC="Set Dowloads" +COM_PHOCADOWNLOAD_FIELD_DOWNLOADS_LABEL="Downloads" +COM_PHOCADOWNLOAD_FIELD_DOWNLOAD_FOLDER_DESC="Set download folder. If absolute path will be set, this parameter will be ignored. Be aware, the folder set in the parameter must exist on the server." +COM_PHOCADOWNLOAD_FIELD_DOWNLOAD_FOLDER_LABEL="Download Folder" +COM_PHOCADOWNLOAD_FIELD_ENABLE_APPROVE_USERFILE_DESC="If Yes, files will be uploaded as not authorized and must be authorized by administrator. If No, files will be uploaded as authorized" +COM_PHOCADOWNLOAD_FIELD_ENABLE_APPROVE_USERFILE_LABEL="Enable User File Authorization" +COM_PHOCADOWNLOAD_FIELD_ENABLE_MU_ADMIN_DESC="Enable or disable multiple upload feature for administration" +COM_PHOCADOWNLOAD_FIELD_ENABLE_MU_ADMIN_LABEL="Enable Multiple Upload (Administration)" +COM_PHOCADOWNLOAD_FIELD_ENABLE_PLUGIN_QUERY_DESC="Set if Plugin can modify SQL query (Experts only!)" +COM_PHOCADOWNLOAD_FIELD_ENABLE_PLUGIN_QUERY_LABEL="Enable Plugin Query" +COM_PHOCADOWNLOAD_FIELD_ENABLE_USER_STAT_DESC="Enable or disable user statistics" +COM_PHOCADOWNLOAD_FIELD_ENABLE_USER_STAT_LABEL="Enable User Statistics" +COM_PHOCADOWNLOAD_FIELD_EXTERNAL_DOWNLOAD_LINK_DESC="Select if the external download link will have attribute TARGET=_self or TARGET=_blank" +COM_PHOCADOWNLOAD_FIELD_EXTERNAL_DOWNLOAD_LINK_LABEL="External Download Link" +COM_PHOCADOWNLOAD_FIELD_EXTERNAL_LINK_DESC="If the file is stored on external server, paste the external link here. The form field 'Filename' must also be filled (paste the whole link to the file into the form field 'External file' and only the name of the file into the form field 'Filename'). If you set the form field 'Direct Link' (see above) to 'Yes', the external link will be directly accessed (without checking the rights or saving statistics). If you set the form field 'Direct Link' to 'No', internal site will be accessed - statistics will be saved, file will be checked for access rights and then the site will be redirected to the external link (be aware, if the file is public on external server, it cannot be protected by Phoca Download there). Be aware, internal site will be not accessed in File View while clicking on Submit (Download) button." +COM_PHOCADOWNLOAD_FIELD_EXTERNAL_LINK_LABEL="External Link" +COM_PHOCADOWNLOAD_FIELD_FILENAME_DESC="Set or select filename" +COM_PHOCADOWNLOAD_FIELD_FILENAME_LABEL="Filename" +COM_PHOCADOWNLOAD_FIELD_FILENAME_OR_NAME_LABEL="Filename or Title" +COM_PHOCADOWNLOAD_FIELD_FILENAME_OR_NAME_LABEL_DESC="Display Filename or Title" +COM_PHOCADOWNLOAD_FIELD_FILEPLAY_DESC="Set or select file which will be played." +COM_PHOCADOWNLOAD_FIELD_FILEPLAY_LABEL="File - Play" +COM_PHOCADOWNLOAD_FIELD_FILEPREVIEW_DESC="Set or select file which will be previewed" +COM_PHOCADOWNLOAD_FIELD_FILEPREVIEW_LABEL="File - Preview" +COM_PHOCADOWNLOAD_FIELD_FILE_ICON_SIZE_DESC="Set size of file icon" +COM_PHOCADOWNLOAD_FIELD_FILE_ICON_SIZE_LABEL="File Icon Size" +COM_PHOCADOWNLOAD_FIELD_FILE_ICON_SIZE_MD_DESC="Set size of file icon for most downloaded files" +COM_PHOCADOWNLOAD_FIELD_FILE_ICON_SIZE_MD_LABEL="File Icon Size (Most Downloaded Files)" +COM_PHOCADOWNLOAD_FIELD_FILE_ORDERING_DESC="Set file ordering" +COM_PHOCADOWNLOAD_FIELD_FILE_ORDERING_LABEL="File Ordering" +COM_PHOCADOWNLOAD_FIELD_FINISH_PUBLISHING_DESC="Set finish publishing date" +COM_PHOCADOWNLOAD_FIELD_FINISH_PUBLISHING_LABEL="Finish Publishing" +COM_PHOCADOWNLOAD_FIELD_HITS="Hits" +COM_PHOCADOWNLOAD_FIELD_HITS_DESC="Hits" +COM_PHOCADOWNLOAD_FIELD_ICON_DESC="Set icon for the file" +COM_PHOCADOWNLOAD_FIELD_ICON_LABEL="Icon" +COM_PHOCADOWNLOAD_FIELD_ICON_SPEC1_DESC="Set first specific icon for the file, will be displayed after filename" +COM_PHOCADOWNLOAD_FIELD_ICON_SPEC1_LABEL="Specific Icon (1)" +COM_PHOCADOWNLOAD_FIELD_ICON_SPEC2_DESC="Set first specific icon for the file, will be displayed after filename" +COM_PHOCADOWNLOAD_FIELD_ICON_SPEC2_LABEL="Specific Icon (2)" +COM_PHOCADOWNLOAD_FIELD_JCONFIG_PERMISSIONS_DESC="Permissions" +COM_PHOCADOWNLOAD_FIELD_JCONFIG_PERMISSIONS_LABEL="Permissions" +COM_PHOCADOWNLOAD_FIELD_LICENSE_BOX_HEIGHT_DESC="Set height of license box" +COM_PHOCADOWNLOAD_FIELD_LICENSE_BOX_HEIGHT_LABEL="License Box Height" +COM_PHOCADOWNLOAD_FIELD_LICENSE_DESC="Set license of the file, this is only information about the license, if you want that license text needs to be confirmed, you should fill the form field 'Confirm License'" +COM_PHOCADOWNLOAD_FIELD_LICENSE_LABEL="License" +COM_PHOCADOWNLOAD_FIELD_LICENSE_TEXT_DESC="Set license text" +COM_PHOCADOWNLOAD_FIELD_LICENSE_TEXT_LABEL="License Text" +COM_PHOCADOWNLOAD_FIELD_LICENSE_URL_DESC="Set URL to license. URL to site where is described the license of the file" +COM_PHOCADOWNLOAD_FIELD_LICENSE_URL_LABEL="License link" +COM_PHOCADOWNLOAD_FIELD_MAX_COUNT_USER_FILES_DESC="Set maximum count of files user can upload" +COM_PHOCADOWNLOAD_FIELD_MAX_COUNT_USER_FILES_LABEL="Maximum Count of uploaded user's files" +COM_PHOCADOWNLOAD_FIELD_MAX_SIZE_USER_FILES_DESC="Set maximum size of all files user can upload" +COM_PHOCADOWNLOAD_FIELD_MAX_SIZE_USER_FILES_LABEL="Maximum Size of all user's files" +COM_PHOCADOWNLOAD_FIELD_METADESC_DESC="Set meta description for Phoca Download" +COM_PHOCADOWNLOAD_FIELD_METADESC_LABEL="Meta Description" +COM_PHOCADOWNLOAD_FIELD_METAKEY_DESC="Set meta keywords for Phoca Download" +COM_PHOCADOWNLOAD_FIELD_METAKEY_LABEL="Meta Keywords" +COM_PHOCADOWNLOAD_FIELD_ORDERING_DESC="Set ordering" +COM_PHOCADOWNLOAD_FIELD_ORDERING_LABEL="Ordering" +COM_PHOCADOWNLOAD_FIELD_PARENT_CATEGORY_DESC="Set parent category" +COM_PHOCADOWNLOAD_FIELD_PARENT_CATEGORY_LABEL="Parent Category" +COM_PHOCADOWNLOAD_FIELD_PLAYER_HEIGHT_DESC="Set player height (in px)" +COM_PHOCADOWNLOAD_FIELD_PLAYER_HEIGHT_LABEL="Player Height" +COM_PHOCADOWNLOAD_FIELD_PLAYER_MP3_HEIGHT_DESC="Set player height (MP3, OGG Audio)" +COM_PHOCADOWNLOAD_FIELD_PLAYER_MP3_HEIGHT_LABEL="Player Height (MP3, OGG Audio)" +COM_PHOCADOWNLOAD_FIELD_PLAYER_WIDTH_DESC="Set player width (in px)" +COM_PHOCADOWNLOAD_FIELD_PLAYER_WIDTH_LABEL="Player Width" +COM_PHOCADOWNLOAD_FIELD_PLAY_POPUP_WINDOW_DESC="Select play popup window" +COM_PHOCADOWNLOAD_FIELD_PLAY_POPUP_WINDOW_LABEL="Play Popup Window" +COM_PHOCADOWNLOAD_FIELD_PREVIEW_HEIGHT_DESC="Set preview height (in px)" +COM_PHOCADOWNLOAD_FIELD_PREVIEW_HEIGHT_LABEL="Preview Height" +COM_PHOCADOWNLOAD_FIELD_PREVIEW_POPUP_WINDOW_DESC="Select preview popup window" +COM_PHOCADOWNLOAD_FIELD_PREVIEW_POPUP_WINDOW_LABEL="Preview Popup Window" +COM_PHOCADOWNLOAD_FIELD_PREVIEW_WIDTH_DESC="Set preview width (in px)" +COM_PHOCADOWNLOAD_FIELD_PREVIEW_WIDTH_LABEL="Preview Width" +COM_PHOCADOWNLOAD_FIELD_PUBLISHED_DESC="Publish or unpublish" +COM_PHOCADOWNLOAD_FIELD_PUBLISHED_LABEL="Published" +COM_PHOCADOWNLOAD_FIELD_SEND_EMAIL_DOWNLOAD_DESC="Send email if user will download a file" +COM_PHOCADOWNLOAD_FIELD_SEND_EMAIL_DOWNLOAD_LABEL="Send Email (Download)" +COM_PHOCADOWNLOAD_FIELD_SEND_EMAIL_UPLOAD_DESC="Send email if user will upload a file" +COM_PHOCADOWNLOAD_FIELD_SEND_EMAIL_UPLOAD_LABEL="Send Email (Upload)" +COM_PHOCADOWNLOAD_FIELD_START_PUBLISHING_DESC="Set start publishing date" +COM_PHOCADOWNLOAD_FIELD_START_PUBLISHING_LABEL="Start Publishing" +COM_PHOCADOWNLOAD_FIELD_THEME_DESC="Set theme" +COM_PHOCADOWNLOAD_FIELD_THEME_LABEL="Theme" +COM_PHOCADOWNLOAD_FIELD_TITLE_DESC="Set title" +COM_PHOCADOWNLOAD_FIELD_TITLE_LABEL="Title" +COM_PHOCADOWNLOAD_FIELD_UPLOAD_MAX_SIZE_ADMIN_DESC="Set the maximum size for an upload in administration. Use zero for no limit. Do not forget, that the upload size can be limited by the server settings (in bytes)" +COM_PHOCADOWNLOAD_FIELD_UPLOAD_MAX_SIZE_ADMIN_LABEL="Maximum Upload Size (Administration)" +COM_PHOCADOWNLOAD_FIELD_UPLOAD_RIGHTS_DESC="Set upload rights" +COM_PHOCADOWNLOAD_FIELD_UPLOAD_RIGHTS_LABEL="Upload Rights" +COM_PHOCADOWNLOAD_FIELD_USER_FILE_UPLOAD_SIZE_DESC="Set maximum size of file which can be uploaded by user in frontend" +COM_PHOCADOWNLOAD_FIELD_USER_FILE_UPLOAD_SIZE_LABEL="User File Upload Size" +COM_PHOCADOWNLOAD_FIELD_USER_UPLOAD_ENABLE_DESC="Enable or disable user upload" +COM_PHOCADOWNLOAD_FIELD_USER_UPLOAD_ENABLE_LABEL="Enable User Upload" +COM_PHOCADOWNLOAD_FIELD_VERSION_DESC="Set version" +COM_PHOCADOWNLOAD_FIELD_VERSION_LABEL="Version" +COM_PHOCADOWNLOAD_FILE="File" +COM_PHOCADOWNLOAD_FILENAME="Filename" +COM_PHOCADOWNLOAD_FILENAME_AND_TITLE="Filename and Title" +COM_PHOCADOWNLOAD_FILES="Files" +COM_PHOCADOWNLOAD_FILESIZE="File Size" +COM_PHOCADOWNLOAD_FILES_UPLOADED="Files Uploaded" +COM_PHOCADOWNLOAD_FILE_ALREADY_EXISTS="File already exists" +COM_PHOCADOWNLOAD_FILE_FILEATIME="File (access time)" +COM_PHOCADOWNLOAD_FILE_FILECTIME="File (inode change time)" +COM_PHOCADOWNLOAD_FILE_FILEMTIME="File (modification time)" +COM_PHOCADOWNLOAD_FILE_SETTINGS_LABEL="File Settings" +COM_PHOCADOWNLOAD_FILE_SIZE_EMPTY="File Size is empty" +COM_PHOCADOWNLOAD_FILE_TITLE="File Title" +COM_PHOCADOWNLOAD_FILTER="Filter" +COM_PHOCADOWNLOAD_FINISH="Finish" +COM_PHOCADOWNLOAD_FINISH_PUBLISHING="Finish Publishing" +COM_PHOCADOWNLOAD_FOLDER="Folder" +COM_PHOCADOWNLOAD_FORM_SELECT_FILENAME="Select Filename" +COM_PHOCADOWNLOAD_FORM_SELECT_ICON="Select Icon" +COM_PHOCADOWNLOAD_FTP_LOGIN_DESC="For uploading files (images, themes), Joomla! will most likely need your FTP account details. Please enter them in the form fields below." +COM_PHOCADOWNLOAD_FTP_LOGIN_LABEL="FTP Login Details" +COM_PHOCADOWNLOAD_GREY="Grey" +COM_PHOCADOWNLOAD_GROUP_LABEL_PUBLISHING_DETAILS="Publishing Details" +COM_PHOCADOWNLOAD_GUEST="Guest" +COM_PHOCADOWNLOAD_HELP="Help" +COM_PHOCADOWNLOAD_HITS="Hits" +COM_PHOCADOWNLOAD_ID="ID" +COM_PHOCADOWNLOAD_ID_ASC="ID Ascending" +COM_PHOCADOWNLOAD_ID_DESC="ID Descending" +COM_PHOCADOWNLOAD_INFO="Info" +COM_PHOCADOWNLOAD_INSERT="Insert" +COM_PHOCADOWNLOAD_INSERT_FILENAME="Insert Filename" +COM_PHOCADOWNLOAD_INSERT_ICON="Insert Icon" +COM_PHOCADOWNLOAD_INVALID_TOKEN="Invalid Token" +COM_PHOCADOWNLOAD_I_AGREE_TO_TERMS_LISTED_ABOVE="I agree to the terms listed above" +COM_PHOCADOWNLOAD_JCOMMENTS="JComments" +COM_PHOCADOWNLOAD_LICENSE="License" +COM_PHOCADOWNLOAD_LICENSES="Licenses" +COM_PHOCADOWNLOAD_LICENSE_AGREEMENT="License Agreement" +COM_PHOCADOWNLOAD_LOADING="Loading" +COM_PHOCADOWNLOAD_MAX_LIMIT_CHARS_REACHED="You have reached maximum limit of characters allowed" +COM_PHOCADOWNLOAD_MAX_SIZE="Max Size" +COM_PHOCADOWNLOAD_MODAL_BOX="Modal Box" +COM_PHOCADOWNLOAD_MOST_DOWNLOADED_FILES="Most downloaded files" +COM_PHOCADOWNLOAD_MULTIPLE_UPLOAD="Multiple Upload" +COM_PHOCADOWNLOAD_NEW="New" +COM_PHOCADOWNLOAD_NEW_CATEGORY="New Category" +COM_PHOCADOWNLOAD_NEW_FILE="New File" +COM_PHOCADOWNLOAD_NO="No" +COM_PHOCADOWNLOAD_NOBODY="Nobody" +COM_PHOCADOWNLOAD_NONE="None" +COM_PHOCADOWNLOAD_NOT_APPROVE="Unauthorize" +COM_PHOCADOWNLOAD_NOT_APPROVED="Not Authorized" +COM_PHOCADOWNLOAD_NOT_APPROVED_FILES_COUNT="Count of not authorized file(s)" +COM_PHOCADOWNLOAD_NOT_APPROVE_ITEM="Unauthorize item" +COM_PHOCADOWNLOAD_NOT_AUTHORISED_ACTION="You are not authorized to do this action" +COM_PHOCADOWNLOAD_NOT_AUTHORISED_TO_UPLOAD="You are not authorized to upload file" +COM_PHOCADOWNLOAD_NOT_INSTALLED_BROWSERPLUS="You browser doesn't have BrowserPlus installed." +COM_PHOCADOWNLOAD_NOT_INSTALLED_FLASH="You browser doesn't have Flash installed." +COM_PHOCADOWNLOAD_NOT_INSTALLED_GEARS="You browser doesn't have Gears installed." +COM_PHOCADOWNLOAD_NOT_INSTALLED_SILVERLIGHT="You browser doesn't have Silverlight installed." +COM_PHOCADOWNLOAD_NOT_SUPPORTED_HTML4="You browser doesn't have HTML 4 support." +COM_PHOCADOWNLOAD_NOT_SUPPORTED_HTML5="You browser doesn't have HTML 5 support." +COM_PHOCADOWNLOAD_NO_EXPIRY="No Expiry" +COM_PHOCADOWNLOAD_NO_RIGHTS_ACCESS_CATEGORY="You have no rights to access this category" +COM_PHOCADOWNLOAD_NO_SUBCATEGORIES="No Subcategories" +COM_PHOCADOWNLOAD_N_ITEMS_APPROVED="%d items successfully authorized" +COM_PHOCADOWNLOAD_N_ITEMS_APPROVED_1="%d item successfully authorized" +COM_PHOCADOWNLOAD_N_ITEMS_CHECKED_IN_0="No item successfully checked in" +COM_PHOCADOWNLOAD_N_ITEMS_CHECKED_IN_1="%d item successfully checked in" +COM_PHOCADOWNLOAD_N_ITEMS_CHECKED_IN_MORE="%d items successfully checked in" +COM_PHOCADOWNLOAD_N_ITEMS_DELETED="%d items successfully deleted" +COM_PHOCADOWNLOAD_N_ITEMS_DELETED_1="%d item successfully deleted" +COM_PHOCADOWNLOAD_N_ITEMS_DISAPPROVED="%d items successfully unauthorized" +COM_PHOCADOWNLOAD_N_ITEMS_DISAPPROVED_1="%d item successfully unauthorized" +COM_PHOCADOWNLOAD_N_ITEMS_PUBLISHED="%d items successfully published" +COM_PHOCADOWNLOAD_N_ITEMS_PUBLISHED_1="%d item successfully published" +COM_PHOCADOWNLOAD_N_ITEMS_UNPUBLISHED="%d items successfully unpublished" +COM_PHOCADOWNLOAD_N_ITEMS_UNPUBLISHED_1="%d item successfully unpublished" +COM_PHOCADOWNLOAD_OPEN="Open" +COM_PHOCADOWNLOAD_ORDER="Order" +COM_PHOCADOWNLOAD_ORDERING="Ordering" +COM_PHOCADOWNLOAD_ORDERING_ASC="Ordering Ascending" +COM_PHOCADOWNLOAD_ORDERING_DESC="Ordering Descending" +COM_PHOCADOWNLOAD_OVERLIB="Overlib" +COM_PHOCADOWNLOAD_OWNER="Owner" +COM_PHOCADOWNLOAD_PARENT_CATEGORY="Parent Category" +COM_PHOCADOWNLOAD_PATH="Path" +COM_PHOCADOWNLOAD_PD_CONTROL_PANEL="Phoca Download Control Panel" +COM_PHOCADOWNLOAD_PD_INFO="Phoca Download Info" +COM_PHOCADOWNLOAD_PENDING="Pending" +COM_PHOCADOWNLOAD_PLAY="Play" +COM_PHOCADOWNLOAD_PLAY_SETTINGS_LABEL="Play Settings" +COM_PHOCADOWNLOAD_PLEASE_ADD_FILE="Please add a file" +COM_PHOCADOWNLOAD_PLEASE_ENTER_VALID_EMAIL_ADDRESS="Please enter a valid email address" +COM_PHOCADOWNLOAD_PLEASE_ENTER_VALID_WEBSITE="Please enter a valid website (format: http://your_site.com)" +COM_PHOCADOWNLOAD_PLEASE_LOGIN_DOWNLOAD_FILE="Please login to download the file" +COM_PHOCADOWNLOAD_PLEASE_SELECT_CATEGORY="Please select category" +COM_PHOCADOWNLOAD_PREVIEW="Preview" +COM_PHOCADOWNLOAD_PREVIEW_SETTINGS_LABEL="Preview Settings" +COM_PHOCADOWNLOAD_PUBLISHED="Published" +COM_PHOCADOWNLOAD_PUBLISH_INFORMATION="Publish Information" +COM_PHOCADOWNLOAD_RESET="Reset" +COM_PHOCADOWNLOAD_ROUNDED_CORNERS="Rounded Corners" +COM_PHOCADOWNLOAD_SEARCH="Search" +COM_PHOCADOWNLOAD_SEARCH_IN_TITLE="Search" +COM_PHOCADOWNLOAD_SELECT_CATEGORY="Select Category" +COM_PHOCADOWNLOAD_SELECT_FILES="Select Files" +COM_PHOCADOWNLOAD_SELECT_ITEM_RESET="Select an item to reset" +COM_PHOCADOWNLOAD_SELECT_LICENSE="Select License" +COM_PHOCADOWNLOAD_SELF="Self" +COM_PHOCADOWNLOAD_SIZE="Size" +COM_PHOCADOWNLOAD_STANDARD_POPUP_WINDOW="Standard Popup Window" +COM_PHOCADOWNLOAD_START="Start" +COM_PHOCADOWNLOAD_START_PUBLISHING="Start Publishing" +COM_PHOCADOWNLOAD_START_UPLOAD="Start Upload" +COM_PHOCADOWNLOAD_START_UPLOADING_QUEUE="Start Uploading Queue" +COM_PHOCADOWNLOAD_STATISTICS="Statistics" +COM_PHOCADOWNLOAD_STATUS="Status" +COM_PHOCADOWNLOAD_STOP_CURRENT_UPLOAD="Stop Current Upload" +COM_PHOCADOWNLOAD_SUCCESS="Success" +COM_PHOCADOWNLOAD_SUCCESS_FILE_UPLOAD="File uploaded" +COM_PHOCADOWNLOAD_SUCCESS_FILE_UPLOADED="File uploaded" +COM_PHOCADOWNLOAD_SUCCESS_FOLDER_CREATING="Folder created" +COM_PHOCADOWNLOAD_SUCCESS_RESET_USER_STAT="User Statistics reset" +COM_PHOCADOWNLOAD_THERE_IS_NO_FILE="There is no file" +COM_PHOCADOWNLOAD_TITLE="Title" +COM_PHOCADOWNLOAD_TITLE_ASC="Title Ascending" +COM_PHOCADOWNLOAD_TITLE_DESC="Title Descending" +COM_PHOCADOWNLOAD_TOP="Top" +COM_PHOCADOWNLOAD_TOP_AND_OVERLIB="Top and Overlib" +COM_PHOCADOWNLOAD_TOP_WITH_DETAIL_AND_OVERLIB="Top with detail and Overlib" +COM_PHOCADOWNLOAD_UNABLE_TO_UPLOAD_FILE="File cannot be uploaded - unable to move file" +COM_PHOCADOWNLOAD_UP="Up" +COM_PHOCADOWNLOAD_UPLOAD="Upload" +COM_PHOCADOWNLOAD_UPLOADED_FILES="Uploaded Files" +COM_PHOCADOWNLOAD_UPLOAD_FILE="Upload File" +COM_PHOCADOWNLOAD_USER="User" +COM_PHOCADOWNLOAD_USERNAME="Username" +COM_PHOCADOWNLOAD_USERS="Users" +COM_PHOCADOWNLOAD_USER_STATISTICS="User Statistics" +COM_PHOCADOWNLOAD_USER_UPLOAD_DISABLED="User Upload is disabled" +COM_PHOCADOWNLOAD_VERSION="Version" +COM_PHOCADOWNLOAD_WARNFILENAME="File name must only contain alphanumeric characters, underscores, hyphens and spaces." +COM_PHOCADOWNLOAD_WARNFILETOOLARGE="This file is too large to upload." +COM_PHOCADOWNLOAD_WARNFILETYPE="This file type is not supported (or there are some restrictions on the server)." +COM_PHOCADOWNLOAD_WARNFILETYPE_DISALLOWED="The file type is disallowed - file cannot be uploaded" +COM_PHOCADOWNLOAD_WARNFILETYPE_DISALLOWED_DOWNLOAD="Error while downloading file (Disallowed Mime Type)" +COM_PHOCADOWNLOAD_WARNFILETYPE_DOWNLOAD="Error while downloading file (Mime Type not found)" +COM_PHOCADOWNLOAD_WARNFILETYPE_NOT_ALLOWED="The file type is not allowed - file cannot be uploaded" +COM_PHOCADOWNLOAD_WARNIEXSS="Possible IE XSS Attack found." +COM_PHOCADOWNLOAD_WARNING_AGREE_LICENSE_TERMS="You must agree to listed terms" +COM_PHOCADOWNLOAD_WARNING_AUTHORIZE_ALL="Do you really want to authorize all files of all users?" +COM_PHOCADOWNLOAD_WARNING_DELETE_ITEMS="Are you sure you want to delete the listed Items?" +COM_PHOCADOWNLOAD_WARNING_DIRNAME="Error: Wrong folder name" +COM_PHOCADOWNLOAD_WARNING_INPUT_FILE_UPLOAD="Please input a file for upload" +COM_PHOCADOWNLOAD_WARNING_RESET_DOWNLOADS="Really reset downloads?" +COM_PHOCADOWNLOAD_WARNINVALIDIMG="Not a valid image." +COM_PHOCADOWNLOAD_WARNINVALIDMIME="Illegal or invalid mime type detected." +COM_PHOCADOWNLOAD_WARNNOTADMIN="Uploaded file is not an image file and you are not a manager or higher." +COM_PHOCADOWNLOAD_WARNSAFEMODE="Directory creation is not allowed while running in SAFE MODE as this can cause problems." +COM_PHOCADOWNLOAD_WARNUSERFILESTOOLARGE="Maximum size of all your files reached. File cannot be uploaded." +COM_PHOCADOWNLOAD_WARNUSERFILESTOOMUCH="Maximum count of all your files reached. File cannot be uploaded." +COM_PHOCADOWNLOAD_YES="Yes" +COM_PHOCADOWNLOAD_AT="at" +COM_PHOCADOWNLOAD_ERROR_CONTROLLER="Error: No such controller or task" +COM_PHOCADOWNLOAD_ERROR_FOLDER_CREATING_EXISTS="Folder exists" +COM_PHOCADOWNLOAD_SUCCESS_FOLDER_CREATING="Folder created" +COM_PHOCADOWNLOAD_EDIT_LICENSE="Edit License" +COM_PHOCADOWNLOAD_NEW_LICENSE="New License" +COM_PHOCADOWNLOAD_NEW_MODEL_INFO="MODEL INFO" +COM_PHOCADOWNLOAD_PRODUCER="Producer" +COM_PHOCADOWNLOAD_AUTHOR="Author" +COM_PHOCADOWNLOAD_POLYGONS="Polygons" +COM_PHOCADOWNLOAD_FILE_SIZE="File Size" +COM_PHOCADOWNLOAD_BOUNDS="Bounds" +COM_PHOCADOWNLOAD_CLOUD_LIBRARY_DESC="ARCHLine.XP Warehouse is your home to find or share ARCHLine.XP content such as models, materials, custom styles, +Models are also available in SketchUp format. Share your work and get inspired by others." +COM_PHOCADOWNLOAD_LOGIN_HEADER="Login" +COM_PHOCADOWNLOAD_LOGIN_CLOSE="Close" +COM_PHOCADOWNLOAD_CLOUD_LIBRARY_PROFILE="User Profile" +COM_PHOCADOWNLOAD_CLOUD_LIBRARY_LOGOUT="Logout" +COM_PHOCADOWNLOAD_CLOUD_LIBRARY_DOWNLOAD="ARCHLine.XP Download" +COM_PHOCADOWNLOAD_CLOUD_LIBRARY_PUBLISH="Publish" +COM_PHOCADOWNLOAD_CLOUD_LIBRARY_MAKE_PRIVATE="Make private" +COM_PHOCADOWNLOAD_CLOUD_LIBRARY_PRIVATE="Private" +COM_PHOCADOWNLOAD_CLOUD_LIBRARY_NO_RESULT="No result found" +COM_PHOCADOWNLOAD_CLOUD_LIBRARY_ARE_YOU_SURE="Are you sure to delete this item?" +COM_PHOCADOWNLOAD_CLOUD_LIBRARY_MY_CONTENT="My Content" +COM_PHOCADOWNLOAD_PRODUCT_LINE="Product line" +COM_PHOCADOWNLOAD_DOWNLOAD_SCALE_DOWN="Scale Down" +COM_PHOCADOWNLOAD_DOWNLOAD_SCALE_UP="Scale Up" +COM_PHOCADOWNLOAD_DOWNLOAD_MODELS="Models" +COM_PHOCADOWNLOAD_DOWNLOAD_BRANDS="Brands" +COM_PHOCADOWNLOAD_DOWNLOAD_PREVIOUS="Previous" +COM_PHOCADOWNLOAD_DOWNLOAD_NEXT="Next" +COM_PHOCADOWNLOAD_DOWNLOAD_AS_DXF="Download as dxf" +COM_PHOCADOWNLOAD_DOWNLOAD_ALL="Download all" +COM_PHOCADOWNLOAD_VIEWS="Views" \ No newline at end of file diff --git a/packages/phocadownload/language/en-GB/en-GB.com_phocadownload.sys.ini b/packages/phocadownload/language/en-GB/en-GB.com_phocadownload.sys.ini new file mode 100644 index 00000000..f0d511f8 --- /dev/null +++ b/packages/phocadownload/language/en-GB/en-GB.com_phocadownload.sys.ini @@ -0,0 +1,59 @@ +; @package Joomla.Framework +; @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved. +; @license GNU General Public License version 2 or later; see LICENSE.txt +; +; @component Phoca Component +; @copyright Copyright (C) Jan Pavelka www.phoca.cz +; @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later; +; +; @test utf-8 ä, ö, ü +; + +;[3.0.2] +COM_PHOCADOWNLOAD_DOWNLOAD_LAYOUT="Download View" +COM_PHOCADOWNLOAD_DOWNLOAD_LAYOUT_DESC="This view displays link of file to download (File which is accessible by unique download URL)" +COM_PHOCADOWNLOAD_DOWNLOAD_GROUP="Download View" +COM_PHOCADOWNLOAD_DOWNLOAD_GROUP_DESC="This view displays link of file to download (File which is accessible by unique download URL)" + +;[3.0.0 Stable] +COM_PHOCADOWNLOAD_VERSION="Version" +;[3.0.0] +COM_PHOCADOWNLOAD_UPDATE_TEXT="Phoca Download updated" +COM_PHOCADOWNLOAD_DOWNLOADS="Downloads" +COM_PHOCADOWNLOAD_UPLOADS="Uploads" +COM_PHOCADOWNLOAD_LOGGING="Logging" +COM_PHOCADOWNLOAD_STYLES="Styles" +;[2.1.2] +COM_PHOCADOWNLOAD_TAGS="Tags" +COM_PHOCADOWNLOAD_LAYOUT="Layout" +;[2.1.0] +PHOCADOWNLOAD="Phoca Download" +COM_PHOCADOWNLOAD="Phoca Download" +COM_PHOCADOWNLOAD_CONTROLPANEL="Control Panel" +COM_PHOCADOWNLOAD_FILES="Files" +COM_PHOCADOWNLOAD_CATEGORIES="Categories" +COM_PHOCADOWNLOAD_LICENSES="Licenses" +COM_PHOCADOWNLOAD_STATISTICS="Statistics" +COM_PHOCADOWNLOAD_USERS="Users" +COM_PHOCADOWNLOAD_INFO="Info" +COM_PHOCADOWNLOAD_FILE_RATING="File Rating" +COM_PHOCADOWNLOAD_XML_DESCRIPTION="Phoca Download is a download manager for Joomla! CMS. It includes component, modules and plugins and allows to add files to the site which can be downloaded by other users." +COM_PHOCADOWNLOAD_CATEGORIES_GROUP="List Of Categories (Categories View)" +COM_PHOCADOWNLOAD_CATEGORIES_GROUP_DESC="This view displays list of categories" +COM_PHOCADOWNLOAD_CATEGORY_GROUP="List of Files (Category View)" +COM_PHOCADOWNLOAD_CATEGORY_GROUP_DESC="This view displays list of files" +COM_PHOCADOWNLOAD_FILE_GROUP="File View - detail of a file" +COM_PHOCADOWNLOAD_FILE_GROUP_DESC="This view displays detail of a file" +COM_PHOCADOWNLOAD_USER_UPLOAD_GROUP="User Upload View" +COM_PHOCADOWNLOAD_USER_UPLOAD_GROUP_DESC="This view displays User Upload" +COM_PHOCADOWNLOAD_CATEGORIES_LIST_LAYOUT="List Of Categories (Categories View)" +COM_PHOCADOWNLOAD_CATEGORIES_LIST_LAYOUT_DESC="This view displays list of categories" +COM_PHOCADOWNLOAD_CATEGORY_LIST_LAYOUT="List of Files (Category View)" +COM_PHOCADOWNLOAD_CATEGORY_LIST_LAYOUT_DESC="This view displays list of files" +COM_PHOCADOWNLOAD_USER_UPLOAD_LAYOUT="User Upload" +COM_PHOCADOWNLOAD_USER_UPLOAD_LAYOUT_DESC="This view displays User Upload" +COM_PHOCADOWNLOAD_FILE_LAYOUT="File View" +COM_PHOCADOWNLOAD_FILE_LAYOUT_DESC="This view displays details of a file" + +COM_PHOCADOWNLOAD_INSTALL="Install" +COM_PHOCADOWNLOAD_UPGRADE="Upgrade" \ No newline at end of file diff --git a/packages/phocadownload/language/hu-HU/hu-HU.com_phocadownload.ini b/packages/phocadownload/language/hu-HU/hu-HU.com_phocadownload.ini new file mode 100644 index 00000000..f23ca29d --- /dev/null +++ b/packages/phocadownload/language/hu-HU/hu-HU.com_phocadownload.ini @@ -0,0 +1,841 @@ +; @package Joomla.Framework +; @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved. +; @license GNU General Public License version 2 or later; see LICENSE.txt +; +; @component Phoca Component +; @copyright Copyright (C) Jan Pavelka www.phoca.cz +; @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later; +; +; @test utf-8 ä, ö, ü +; + + +;[3.1.1] +COM_PHOCADOWNLOAD_SELECT_MAX_LEVELS="Select Max Levels" +COM_PHOCADOWNLOAD_FIELD_COLUMN_SIZE_CATEGORY_VIEW_LABEL="Column size (Category View)" +COM_PHOCADOWNLOAD_FIELD_COLUMN_SIZE_CATEGORY_VIEW_DESC="Set left column size for category view. Right column size will be automatically set. This parameter applies for Bootstrap layout only and maximum column size is 12." +COM_PHOCADOWNLOAD_FIELD_TAGS_STRING_LABEL="Tags (String)" +COM_PHOCADOWNLOAD_FIELD_TAGS_STRING_DESC="Set string tags. Separate each tag with comma (,). These tags are displayed next to filename or title. The don't include links, they cannot be searched in the system. They are just displayed like icons next to the filename or title" +COM_PHOCADOWNLOAD_YES_CATEGORY_VIEW_TITLE_SUFFIX="Yes (Category View) - Title Suffix" +COM_PHOCADOWNLOAD_YES_FILE_VIEW_TITLE_SUFFIX="Yes (FileView) - Title Suffix" +COM_PHOCADOWNLOAD_YES_CATEGORY_FILE_VIEW_TITLE_SUFFIX="Yes (Category And File View) - Title Suffix" +COM_PHOCADOWNLOAD_WAS_UPLOADED_BY="was uploaded by" +COM_PHOCADOWNLOAD_FILE_UPLOADED="File uploaded" +COM_PHOCADOWNLOAD_SEARCH_FILTER_IS_ACTIVE="Search filter is active. Listed categories are not displayed in category tree. Max levels filter is not active." +COM_PHOCADOWNLOAD_PLEASE_ADD_FILE_OR_IF_ADDED_CHECK_IF_IT_HAS_RIGHT_FORMAT_AND_SIZE="Please add a file. If added, please, test if it has the right format and size" +COM_PHOCADOWNLOAD_DISPLAY_BOOTSTRAP3_LAYOUT_LABEL="Display Bootstrap 3 Layout" +COM_PHOCADOWNLOAD_DISPLAY_BOOTSTRAP3_LAYOUT_DESC="When Bootstrap 3 layout is enabled, then specific layout will be not loaded. Don't forget to disable styles in Styles (CSS) view which can be in conflict with Bootstrap 3 (e.g. Bootstrap 2)" +;[3.1.0] +COM_PHOCADOWNLAD_CLOSE="Bezárás" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_ORDERING_CATEGORY_VIEW_LABEL="Display Ordering Select Box (Category View)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_ORDERING_CATEGORY_VIEW_DESC="Display or hide ordering select box in Category View - ordering of files" +COM_PHOCADOWNLOAD_COUNT_ASC="Rating Count Ascending" +COM_PHOCADOWNLOAD_COUNT_DESC="Rating Count Descending" +COM_PHOCADOWNLOAD_AVERAGE_ASC="Rating Ascending" +COM_PHOCADOWNLOAD_AVERAGE_DESC="Rating Descending" +COM_PHOCADOWNLOAD_DOWNLOADS_ASC="Downloads Ascending" +COM_PHOCADOWNLOAD_DOWNLOADS_DESC="Downloads Descending" +COM_PHOCADOWNLOAD_ORDER_FRONT="Ordering" +COM_PHOCADOWNLOAD_REGARDS="Regards" +COM_PHOCADOWNLOAD_MESSAGE="Message" +COM_PHOCADOWNLOAD_WEBSITE="Website" +COM_PHOCADOWNLOAD_WAS_DOWNLOADED_BY="was downloaded by" +COM_PHOCADOWNLOAD_SUCCESS_NEW_FILE_UPLOADED="New file uploaded" +COM_PHOCADOWNLOAD_FILE_DOWNLOADED="File downloaded" +COM_PHOCADOWNLOAD_ANONYMOUS="Anonymous" +COM_PHOCADOWNLOAD_FIELD_MULTIPLE_UPLOAD_METHOD_DESC="Set Multiple Upload Method in administration. See http://www.plupload.com/ which browsers and which functions are supported by selected method" +COM_PHOCADOWNLOAD_FIELD_MULTIPLE_UPLOAD_METHOD_LABEL="Multiple Upload Method (Administration)" +COM_PHOCADOWNLOAD_FLASH_UPLOADER="Flash Uploader" +COM_PHOCADOWNLOAD_GEARS_UPLOADER="Gears Uploader" +COM_PHOCADOWNLOAD_SILVERLIGHT_UPLOADER="Silverlight Uploader" +COM_PHOCADOWNLOAD_HTML4_UPLOADER="HTML4 Uploader" +COM_PHOCADOWNLOAD_HTML5_UPLOADER="HTML5 Uploader" +COM_PHOCADOWNLOAD_BROWSERPLUS_UPLOADER="Browserplus Uploader" + +;[3.0.6] +COM_PHOCADOWNLOAD_FILENAME_ASC="Filename Ascending" +COM_PHOCADOWNLOAD_FILENAME_DESC="Filename Descending" + +;[3.0.3] +COM_PHOCADOWNLOAD_BROWSER_DOES_NOT_SUPPORT_AUDIO_VIDEO_TAG="Your browser does not support the audio/video tag" +COM_PHOCADOWNLOAD_FIELD_HTML5_AUDIO_VIDEO_LABEL="HTML5 Audio/Video" +COM_PHOCADOWNLOAD_FIELD_HTML5_AUDIO_VIDEO_DESC="Set yes to enable HTML 5 player for audio and video" +;[3.0.2] +COM_PHOCADOWNLOAD_FIELD_ENABLE_TOKEN_DOWNLOAD_LABEL="Enable Unique Download Link" +COM_PHOCADOWNLOAD_FIELD_ENABLE_TOKEN_DOWNLOAD_DESC="Enable or disable unique download link feature (download with token)" +COM_PHOCADOWNLOAD_MAX_LIMIT_DOWNLOAD_TOKEN_REACHED="File cannot be downloaded. Maximum download limit of this file reached." +COM_PHOCADOWNLOAD_FIELD_MAX_COUNT_TOKEN_DOWNLOADS_DESC="Set maximum count of files user can download through unique download link. Be aware, 0 (Zero) means, there is no limit. This limit only takes effect for unique download link" +COM_PHOCADOWNLOAD_FIELD_MAX_COUNT_TOKEN_DOWNLOADS_LABEL="Maximum Count of downloads per file (Unique Download Link)" +COM_PHOCADOWNLOAD_URL_FORMAT_DEPENDS_ON_SEF="This Link may take different formats. Its format depends on your SEF Settings" +COM_PHOCADOWNLOAD_UNIQUE_DOWNLOAD_URL="Unique Download Link" +COM_PHOCADOWNLOAD_DOWNLOAD_FILE="Download file" +COM_PHOCADOWNLOAD_FILE_NOT_FOUND="File Not Found" +COM_PHOCADOWNLOAD_SET_TOKEN="Set Token" +COM_PHOCADOWNLOAD_FIELD_TOKEN_LABEL="Token (Unique Download Link)" +COM_PHOCADOWNLOAD_FIELD_TOKEN_DESC="Set token - unique download link of the file" +COM_PHOCADOWNLOAD_FIELD_TOKENHITS_LABEL="Token Downloads" +COM_PHOCADOWNLOAD_FIELD_TOKENHITS_DESC="How many times the file was downloaded by unique download link" +COM_PHOCADOWNLOAD_YES_FRONTEND="Yes (Frontend Only)" +COM_PHOCADOWNLOAD_YES_BACKEND="Yes (Backend Only)" +COM_PHOCADOWNLOAD_YES_FRONTEND_BACKEND="Yes (Frontend, Backend)" +;[3.0.1] +COM_PHOCADOWNLOAD_FIELD_ALIAS_M_DESC="Alias for all added images can be set. If empty, Alias will be created from Filename" +COM_PHOCADOWNLOAD_FIELD_TITLE_M_DESC="Title for all added images can be set. If empty, Title will be created from Filename" +COM_PHOCADOWNLOAD_FIELD_LANGUAGE_FILE_DESC="The language that the file is assigned to." +;[3.0.0] +COM_PHOCADOWNLOAD_FIELD_COPY_PAP_LABEL="Copy Play and Preview" +COM_PHOCADOWNLOAD_FIELD_COPY_PAP_DESC="Set if files of added items will be copied to play and preview folder (in case they can be played or previewed). Items then will be downloadable and previewable or playable." +;[3.0.0 Beta] +COM_PHOCADOWNLOAD_HOT="Hot" +COM_PHOCADOWNLOAD_WILL_BE_CREATED_FROM_TITLE="Will be created from title" +;[3.0.0] +COM_PHOCADOWNLOAD_MAX_LIMIT_DOWNLOAD_PER_FILE_REACHED="You have reached maximum limit of downloads allowed per this file." +COM_PHOCADOWNLOAD_NOT_LOGGED_IN_USERS_NOT_ALLOWED_DOWNLOAD="Please login. Not logged in users are not allowed to download." +COM_PHOCADOWNLOAD_FIELD_MAX_COUNT_USER_DOWNLOADS_DESC="Set maximum count of files user can download. Be aware, 0 (Zero) means, there is no limit. It is limit per file NOT for all downloads. If you set some limit here, anonymous users (guests) are not able to download any file." +COM_PHOCADOWNLOAD_FIELD_MAX_COUNT_USER_DOWNLOADS_LABEL="Maximum Count of downloads per file" +COM_PHOCADOWNLOAD_LOGGING_NOT_ENABLED="Warning! Logging is not enabled at the moment!" +COM_PHOCADOWNLOAD_FIELD_PLAY_OR_PREVIEW_COPY_LABEL="Play or Preview Copy" +COM_PHOCADOWNLOAD_FIELD_PLAY_OR_PREVIEW_COPY_DESC="If yes (Frontend), file which is uploaded by user in fronted will be copied to phocadownloadpap folder so it can be played or previewed. If yes (Backend), then file which is added in File Add feature or in Multiple Add feature in Administration will be copied to phocadownloadpap folder too." +COM_PHOCADOWNLOAD_FIELD_ENABLE_LOGGING_LABEL="Enable Logging" +COM_PHOCADOWNLOAD_FIELD_ENABLE_LOGGING_DESC="Enable or disable logging for downloads, uploads or both. Be aware, logging of downloads and uploads can take a lot of memory in case a lot of downloads or uploads is done on your site. It is recommended to enable it only for short testing period" +COM_PHOCADOWNLOAD_YES_UPLOADS_ONLY="Yes (Uploads only)" +COM_PHOCADOWNLOAD_YES_DOWNLOADS_ONLY="Yes (Downloads only)" +COM_PHOCADOWNLOAD_YES_UPLOADS_DOWNLOADS="Yes (Uploads and Downloads)" +COM_PHOCADOWNLOAD_FIELD_FILE_ICON_MIME_LABEL="File Icon (Extension Mime Type)" +COM_PHOCADOWNLOAD_FIELD_FILE_ICON_MIME_DESC="Enable or disable displaying of file icon by extension mime type (for example: PDF icon will be displayed next to PDF documents). Be aware not all extension mime type icons are available." +COM_PHOCADOWNLOAD_YES_DOWNLOAD_UPLOAD_PARAM="Yes (download and upload parameters)" +COM_PHOCADOWNLOAD_YES_DOWNLOAD_UPLOAD_PARAM_ADMIN="Yes (download and upload parameter in administration only)" +COM_PHOCADOWNLOAD_YES_UPLOAD_PARAM_ADMIN="Yes (only upload parameters in administration)" +COM_PHOCADOWNLOAD_YES_UPLOAD_PARAM="Yes (only upload parameters)" +COM_PHOCADOWNLOAD_YES_DOWNLOAD_PARAM="Yes (only download parameters)" +COM_PHOCADOWNLOAD_IGNORE_FILE_TYPES_CHECK_LABEL="Ignore File Types Checking" +COM_PHOCADOWNLOAD_IGNORE_FILE_TYPES_CHECK_DESC="Set if checking of file types will be ignored. If yes: Allowed File Types (Download), Allowed File Types (Upload), Disallowed File Types (Download), Disallowed File Types (Upload) will be ignored." +COM_PHOCADOWNLOAD_CONFIG_HEAD_DOWNLOADS_LABEL="Downloads" +COM_PHOCADOWNLOAD_CONFIG_HEAD_UPLOADS_LABEL="Uploads" +COM_PHOCADOWNLOAD_FILE_VIEW_LABEL="File View" +COM_PHOCADOWNLOAD_CONFIG_CATEGORY_CATEGORIES_VIEW_LABEL="Categories and Category View" +COM_PHOCADOWNLOAD_IP="IP" +COM_PHOCADOWNLOAD_PAGE="Page" +COM_PHOCADOWNLOAD_RESET_LOG="Reset Log" +COM_PHOCADOWNLOAD_WARNING_RESET_LOG="Are you sure you want to reset (clear) the log?" +COM_PHOCADOWNLOAD_SUCCESS_RESET_LOG_STAT="Log cleared" +COM_PHOCADOWNLOAD_ERROR_RESET_LOG_STAT="Error while clearing log" +COM_PHOCADOWNLOAD_ERROR_SERVER_NOT_ABLE_TO_STORE_FILE_TEMP_FOLDER="Error while uploading file. Server is not able to store this file to Temp folder." +COM_PHOCADOWNLOAD_COUNT="Count" +COM_PHOCADOWNLOAD_LOGGING="Logging" +COM_PHOCADOWNLOAD_UPLOADS="Uploads" +COM_PHOCADOWNLOAD_EDIT_CSS_FILES="Edit CSS Files" +COM_PHOCADOWNLOAD_FIELD_CSS_MENULINK_ID_DESC="Set ID or IDs of menu link (Itemid) where the style will be displayed. Separate each parent ID with comma (,)" +COM_PHOCADOWNLOAD_FIELD_CSS_MENULINK_ID_LABEL="Menu Link ID" +COM_PHOCADOWNLOAD_ERROR_FAILED_TO_SAVE_FILENAME="Error while saving the filename" +COM_PHOCADOWNLOAD_ERROR_SOURCE_FILE_NOT_UNWRITABLE="Error while making the source file unwritable" +COM_PHOCADOWNLOAD_ERROR_SOURCE_FILE_NOT_WRITABLE="Error while saving the file. Source File is not writable." +COM_PHOCADOWNLOAD_STYLE="Style" +COM_PHOCADOWNLOAD_FIELD_CSS_LABEL="Style (CSS Source)" +COM_PHOCADOWNLOAD_FIELD_CSS_DESC="Edit source of the style" +COM_PHOCADOWNLOAD_FIELD_TYPE_DESC="Type of the style" +COM_PHOCADOWNLOAD_FIELD_TYPE_LABEL="Type" +COM_PHOCADOWNLOAD_MAIN="Main" +COM_PHOCADOWNLOAD_FILE_EXISTS="File exists" +COM_PHOCADOWNLOAD_FILE_DOES_NOT_EXIST="File does not exist" +COM_PHOCADOWNLOAD_TYPE="Type" +COM_PHOCADOWNLOAD_CUSTOM_CSS="Custom" +COM_PHOCADOWNLOAD_MAIN_CSS="Main" +COM_PHOCADOWNLOAD_FILTER_SELECT_TYPE="- Select Type -" +COM_PHOCADOWNLOAD_STYLES="Styles" +COM_PHOCADOWNLOAD_FOLDER_NOT_FOUND="Folder not found" +COM_PHOCADOWNLOAD_EDIT_CSS="Edit CSS" +COM_PHOCADOWNLOAD_ERROR_CSS_FOLDER_NOT_FOUND="Custom CSS Folder Not Found" + +COM_PHOCADOWNLOAD_MIRROR_DETAILS="Mirror Details" +COM_PHOCADOWNLOAD_YOUTUBE_OPTIONS="YouTube Options" +COM_PHOCADOWNLOAD_GENERAL_OPTIONS="General Options" +COM_PHOCADOWNLOAD_PUBLISHING_OPTIONS="Publishing Options" +COM_PHOCADOWNLOAD_METADATA_OPTIONS="Metadata Options" +COM_PHOCADOWNLOAD_FILTER_SEARCH_LABEL="Search" +COM_PHOCADOWNLOAD_FILTER_SEARCH_DESC="Search the items" +COM_PHOCADOWNLOAD_LICENCE="Licence" +COM_PHOCADOWNLOAD_PHOCA_NEEDS_YOUR_HELP="Phoca Needs Your Help" +COM_PHOCADOWNLOAD_PLEASE_READ="Please Read" +COM_PHOCADOWNLOAD_USEFUL_TIPS="Useful Tips (Extensions)" +COM_PHOCADOWNLOAD_USEFUL_LINKS="Useful Links" +;[2.1.5] +COM_PHOCADOWNLOAD_UPLOADED_BY_LABEL="Uploaded By" +COM_PHOCADOWNLOAD_UPLOADED_BY_DESC="Set Uploaded By" +COM_PHOCADOWNLOAD_OWNER_LABEL="Owner" +COM_PHOCADOWNLOAD_OWNER_DESC="Set Owner" +;[2.1.2] +COM_PHOCADOWNLOAD_BATCH_OPTIONS_CATEGORIES="Batch process the selected categories" +COM_PHOCADOWNLOAD_PHOCA_DOWNLOAD="Phoca Download" +COM_PHOCADOWNLOAD_INFORMATION="Information" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_LINK_LABEL="Select Category Link" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_LINK_DESC="Select category to link it" +COM_PHOCADOWNLOAD_FIELD_DOWNLOAD_FOLDER_PAP_LABEL="Download Folder (Play, Preview)" +COM_PHOCADOWNLOAD_FIELD_DOWNLOAD_FOLDER_PAP_DESC="Set download folder for play and preview files" +;[2.1.1] +COM_PHOCADOWNLOAD_FIELD_VIDEO_HEIGHT_DV_LABEL="Youtube Height (Detail View)" +COM_PHOCADOWNLOAD_FIELD_VIDEO_HEIGHT_DV_DESC="Set Youtube height for Detail View" +COM_PHOCADOWNLOAD_FIELD_VIDEO_WIDTH_DV_LABEL="Youtube Width (Detail View)" +COM_PHOCADOWNLOAD_FIELD_VIDEO_WIDTH_DV_DESC="Set Youtube width for Detail View" +COM_PHOCADOWNLOAD_FIELD_VIDEO_HEIGHT_CV_LABEL="Youtube Height (Category View)" +COM_PHOCADOWNLOAD_FIELD_VIDEO_HEIGHT_CV_DESC="Set Youtube height for Category View" +COM_PHOCADOWNLOAD_FIELD_VIDEO_WIDTH_CV_LABEL="Youtube Width (Category View)" +COM_PHOCADOWNLOAD_FIELD_VIDEO_WIDTH_CV_DESC="Set Youtube width for Category View" +COM_PHOCADOWNLOAD_GROUP_LABEL_YOUTUBE_DETAILS="Youtube" +COM_PHOCADOWNLOAD_VIDEO_LINK_LABEL="Youtube Link" +COM_PHOCADOWNLOAD_VIDEO_LINK_DESC="Set Youtube link" +COM_PHOCADOWNLOAD_YES_ONLY_MODALBOX="Yes (Only Modalbox - Category View)" +;[2.1.0 Stable] +COM_PHOCADOWNLOAD_SELECT_FILE="Select file" +COM_PHOCADOWNLOAD_FIELD_SELECT_FILE_LABEL="Select file" +COM_PHOCADOWNLOAD_FIELD_SELECT_FILE_DESC="Select display file" +COM_PHOCADOWNLOAD_OVERLIB_WIDTH_DETAIL="Overlib with detail" +;[2.1.0 Beta] +COM_PHOCADOWNLOAD_FILE_VIEW="File View" +COM_PHOCADOWNLOAD_CATEGORY_VIEW="Category View" +COM_PHOCADOWNLOAD_CATEGORIES_VIEW="Categories View" +COM_PHOCADOWNLOAD_PARAMETERS="Parameters" +COM_PHOCADOWNLOAD_STYLES="Styles (CSS)" +COM_PHOCADOWNLOAD_LAYOUT_WARNING="Warning: Parameters are mostly styled by CSS, here you can add or remove different parts of the view. For stylizing them, just check the Phoca Download CSS. Edit the HTML source (HTML source can be displayed by editor feature) Displaying specific layout must be enabled in parameters." +COM_PHOCADOWNLOAD_DISPLAY_SPEC_LAYOUT_LABEL="Display Specific Layout" +COM_PHOCADOWNLOAD_DISPLAY_SPEC_LAYOUT_DESC="Display specific layout - set in Phoca Download administration. Be aware, some parts of the layout needs to be changed in CSS too to display properly." +COM_PHOCADOWNLOAD_CLEAN="Clean" +COM_PHOCADOWNLOAD_YES_OVERLIB="Yes (Overlib)" +COM_PHOCADOWNLOAD_YES_MODAL="Yes (Modal Box)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_TAGS_LINKS_LABEL="Display Tags" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_TAGS_LINKS_DESC="Display or hide tags" +COM_PHOCADOWNLOAD_YES_CATEGORY_VIEW_BUTTON="Yes (Category View) as Button" +COM_PHOCADOWNLOAD_YES_FILE_VIEW_BUTTON="Yes (File View) as Button" +COM_PHOCADOWNLOAD_YES_CATEGORY_FILE_VIEW_BUTTON="Yes (Category And File View) as Button" +COM_PHOCADOWNLOAD_EXTERNAL_LINK="External Link" +COM_PHOCADOWNLOAD_CATEGORY_LINK="Category Link" +COM_PHOCADOWNLOAD_SEARCH_OUTCOME="Search Outcome" +COM_PHOCADOWNLOAD_FIELD_TAGS_LINKS_LABEL="Tags (Links)" +COM_PHOCADOWNLOAD_FIELD_TAGS_LINKS_DESC="Set if the tags will include a link. If yes, set type of this link" +COM_PHOCADOWNLOAD_AT="at" +COM_PHOCADOWNLOAD_FEATURES="Features" +COM_PHOCADOWNLOAD_CHANGELOG="Changelog" +COM_PHOCADOWNLOAD_NOTES="Notes" +COM_PHOCADOWNLOAD_ERROR_DELETING_ITEM="Error while deleting item" +COM_PHOCADOWNLOAD_SUCCESS_DELETING_ITEM="Item deleted" +COM_PHOCADOWNLOAD_ERROR_UNPUBLISHING_ITEM="Error while unpublishing item" +COM_PHOCADOWNLOAD_ERROR_PUBLISHING_ITEM="Error while publishing item" +COM_PHOCADOWNLOAD_SUCCESS_UNPUBLISHING_ITEM="Item unpublished" +COM_PHOCADOWNLOAD_SUCCESS_PUBLISHING_ITEM="Item published" +COM_PHOCADOWNLOAD_FIELD_DELETE_RIGHTS_LABEL="Delete Rights" +COM_PHOCADOWNLOAD_FIELD_DELETE_RIGHTS_DESC="Set delete rights" +COM_PHOCADOWNLOAD_ERROR_DELETE_CONTAIN_FILE="Category(ies): '%s' cannot be removed as it contains (they contain) Items. There may currently be File(s) within the Category which you must delete first." +COM_PHOCADOWNLOAD_ERROR_DELETE_CONTAIN_CAT="Category(ies): '%s' cannot be removed as it contains (they contain) Subcategories. There may currently be Subcategory(ies) within the Category which you must delete first." +COM_PHOCADOWNLOAD_CATEGORIES_ADDED="Category(ies) added" +COM_PHOCADOWNLOAD_FILES_ADDED="File(s) added" +COM_PHOCADOWNLOAD_CHECK_ALL="Check All" +COM_PHOCADOWNLOAD_WARNING_FILE_SELECTED_SELECT_CATEGORY="File(s) are selected. Category needs to be selected also" +COM_PHOCADOWNLOAD_WARNING_SELECT_FILENAME_OR_FOLDER="Select File or Folder" +COM_PHOCADOWNLOAD_MULTIPLE_ADD="Multiple Add" +COM_PHOCADOWNLOAD_BATCH_OPTIONS_FILES="Batch process the selected files" +;COM_PHOCADOWNLOAD_SUCCESS_COPY_FILE="File(s) copied" +;COM_PHOCADOWNLOAD_ERROR_COPY_FILE="Error while copying file(s)" +COM_PHOCADOWNLOAD_QUICK_COPY="Quick Copy" +COM_PHOCADOWNLOAD_COPY="Copy" +COM_PHOCADOWNLOAD_FORM_SELECT_IMAGE="Select Image" +COM_PHOCADOWNLOAD_FIELD_IMAGE_DOWNLOAD_LABEL="Image" +COM_PHOCADOWNLOAD_FIELD_IMAGE_DOWNLOAD_DESC="Set image for the file" +COM_PHOCADOWNLOAD_FIELD_CATEGORIES_LAYOUT_LABEL="Categories View Layout" +COM_PHOCADOWNLOAD_FIELD_CATEGORIES_LAYOUT_DESC="Set layout for Categories View" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_LAYOUT_LABEL="Category View Layout" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_LAYOUT_DESC="Set layout for Category View" +COM_PHOCADOWNLOAD_FIELD_FILE_LAYOUT_LABEL="File View Layout" +COM_PHOCADOWNLOAD_FIELD_FILE_LAYOUT_DESC="Set layout for File View" +COM_PHOCADOWNLOOAD_CONTROL_PANEL="Control Panel" +COM_PHOCADOWNLOAD_FIELD_FEATURES_DESC="Set Features Text" +COM_PHOCADOWNLOAD_FIELD_FEATURES_LABEL="Features" +COM_PHOCADOWNLOAD_FIELD_CHANGELOG_DESC="Set Changelog Text" +COM_PHOCADOWNLOAD_FIELD_CHANGELOG_LABEL="Changelog" +COM_PHOCADOWNLOAD_FIELD_NOTES_DESC="Set Notes Text" +COM_PHOCADOWNLOAD_FIELD_NOTES_LABEL="Notes" +COM_PHOCADOWNLOAD_FIELD_TAGS_LABEL="Tags" +COM_PHOCADOWNLOAD_FIELD_TAGS_DESC="Select tags" +COM_PHOCADOWNLOAD_NEW_TAG="New Tag" +COM_PHOCADOWNLOAD_EDIT_TAG="Edit Tag" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_LABEL="Link To Category" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_DES="Select category if you want to link this tag to category" +COM_PHOCADOWNLOAD_FIELD_EXT_LINK_TAG_LABEL="Link To External Site" +COM_PHOCADOWNLOAD_FIELD_EXT_LINK_TAG_DESC="Set link to external site if you want to link this tag to some site (include http://)" +COM_PHOCADOWNLOAD_TAG="Tag" +COM_PHOCADOWNLOAD_TAGS="Tags" +COM_PHOCADOWNLOAD_LAYOUT="Layout" +;[2.0.0] +COM_PHOCADOWNLOAD_NUM="Num" +COM_PHOCADOWNLOAD_LIMIT="Limit" +COM_PHOCADOWNLOAD_YOUTUBE_URL="Youtube URL" +COM_PHOCADOWNLOAD_WARNING_SET_YOUTUBE_URL="You must set URL of Youtube video" +COM_PHOCADOWNLOAD_PLAYER_WIDTH="Player Width" +COM_PHOCADOWNLOAD_PLAYER_HEIGHT="Player Height" +COM_PHOCADOWNLOAD_PLAYER_HEIGHT_MP3="Player Height (MP3)" +COM_PHOCADOWNLOAD_WARNING_PLAYER_SIZE="Only size of Popup Window (Modal Box) can be set here, size of player needs to be set in Parameters of Phoca Download Component" +COM_PHOCADOWNLOAD_PREVIEW_WIDTH="Preview Width" +COM_PHOCADOWNLOAD_PREVIEW_HEIGHT="Preview Height" +COM_PHOCADOWNLOAD_YOU_MUST_SELECT_FILE="You must select a file" +COM_PHOCADOWNLOAD_YOU_MUST_SELECT_CATEGORY="You must select a category" +COM_PHOCADOWNLOAD_TARGET="Target" +COM_PHOCADOWNLOAD_TARGET_SELF="Target _self" +COM_PHOCADOWNLOAD_TARGET_BLANK="Target _blank" +COM_PHOCADOWNLOAD_TARGET_TOP="Target _top" +COM_PHOCADOWNLOAD_TARGET_PARENT="Target _parent" +COM_PHOCADOWNLOAD_INSERT_CODE="Insert Code" +COM_PHOCADOWNLOAD_BACK="Vissza" +COM_PHOCADOWNLOAD_FILELIST="File List" +COM_PHOCADOWNLOAD_YOUTUBE_VIDEO="Youtube Video" +COM_PHOCADOWNLOAD_PLAY_FILE_LINK="Play File (Link)" +COM_PHOCADOWNLOAD_PLAY_FILE_DIRECT="Play File (Direct)" +COM_PHOCADOWNLOAD_PREVIEW_FILE_LINK="Preview File (Link)" +COM_PHOCADOWNLOAD_LINK_TO_FILE="Link To File" +COM_PHOCADOWNLOAD_LINK_TO_CATEGORY="Link To Category" +COM_PHOCADOWNLOAD_LINK_TO_CATEGORIES="Link To Categories" +COM_PHOCADOWNLOAD_SELECT_TYPE="Select Type" +COM_PHOCADOWNLOAD_UPLOADED_BY="Uploaded by" +COM_PHOCADOWNLOAD_FIELD_ENABLE_CACHE_LABEL="Enable Cache" +COM_PHOCADOWNLOAD_FIELD_ENABLE_CACHE_DESC="Enable cache if it is enabled in Joomla! Global Configuration" +;[2.0.0RC3] +COM_PHOCADOWNLOAD_USER_LANG="User's Language" +COM_PHOCADOWNLOAD_SITE_LANG="Site's Language" +COM_PHOCADOWNLOAD_FIELD_USER_UCP_LANG_LABEL="User Language" +COM_PHOCADOWNLOAD_FIELD_USER_UCP_LANG_DESC="Set which language will be set while creating category or uploading image in UCP" +COM_PHOCADOWNLOAD_NO_RIGHTS_ACCESS_CATEGORY_FILE="You have no rights to access file in this category" +COM_PHOCADOWNLOAD_FIELD_SELECT_CATEGORY_LABEL="Select Category" +COM_PHOCADOWNLOAD_FIELD_SELECT_CATEGORY_DESC="Select category" +COM_PHOCADOWNLOAD_ERROR_FB_APP_ID_EMPTY="Facebook Application ID is empty" +COM_PHOCADOWNLOAD_FIELD_FB_COMMENT_APP_ID_LABEL="Facebook comments application ID" +COM_PHOCADOWNLOAD_FIELD_FB_COMMENT_APP_ID_DESC="Set Facebook Comments Application ID (ID of your created application in Facebook)" +COM_PHOCADOWNLOAD_FACEBOOK_COMMENTS_WIDTH_LABEL="Facebook Comments Width" +COM_PHOCADOWNLOAD_FACEBOOK_COMMENTS_WIDTH_DESC="Set Facebook comments box width" +COM_PHOCADOWNLOAD_FACEBOOK_FIELD_COMMENT_LANG_LABEL="Facebook Language" +COM_PHOCADOWNLOAD_FACEBOOK_FIELD_COMMENT_LANG_DESC="Set Facebook language" +COM_PHOCADOWNLOAD_FACEBOOK_FIELD_COMMENT_COUNT_LABEL="Comments Count" +COM_PHOCADOWNLOAD_FACEBOOK_FIELD_COMMENT_COUNT_DESC="Set count of comments displayed in comment box" +COM_PHOCADOWNLOAD_FACEBOOK="Facebook" +COM_PHOCADOWNLOAD_STARS_OUT_OF="stars out of" +COM_PHOCADOWNLOAD_FIELD_LANGUAGE_FILE_DESC="The language that the file is assigned to." +COM_PHOCADOWNLOAD_FIELD_LANGUAGE_CATEGORY_DESC="The language that the category is assigned to." +;[2.0.0RC2] +COM_PHOCADOWNLOAD_FIELD_DELETE_EXISTING_FILES_DESC="If yes then the file stored on server will be deleted in case the file will be deleted from Phoca Download" +COM_PHOCADOWNLOAD_FIELD_DELETE_EXISTING_FILES_LABEL="Delete Existing Files" +COM_PHOCADOWNLOAD_FIELD_OVERWRITE_EXISTING_FILES_DESC="Set if uploaded files should overwrite existing files on the server" +COM_PHOCADOWNLOAD_FIELD_OVERWRITE_EXISTING_FILES_LABEL="Overwrite Existing Files" +COM_PHOCADOWNLOAD_REPORT="Report" +COM_PHOCADOWNLOAD_FIELD_REPORT_LINK_GUESTBOOK_ID_LABEL="Guestbook ID (Report)" +COM_PHOCADOWNLOAD_FIELD_REPORT_LINK_GUESTBOOK_ID_DESC="Set guestbook id (guestbook from Phoca Guestbook component) in case the report function is active" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_REPORT_LINK_LABEL="Display Report Link" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_REPORT_LINK_DESC="Display or hide report link. This link will run Phoca Guestbook in Report Mode. There users can report files. Phoca Guestbook needs to be installed and the report function enabled in guestbook settings to run this feature." +COM_PHOCADOWNLOAD_FIELD_DISPLAY_MIRROR_LINKS_LABEL="Display Mirror Links" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_MIRROR_LINKS_DESC="Display or hide mirror links" +COM_PHOCADOWNLOAD_GROUP_LABEL_MIRROR_DETAILS="Mirror Details" +COM_PHOCADOWNLOAD_OPEN_WINDOW_BLANK="Open in new window (_blank)" +COM_PHOCADOWNLOAD_OPEN_WINDOW_PARENT="Open in parent window/frame (_parent)" +COM_PHOCADOWNLOAD_OPEN_WINDOW_SELF="Open in this window/frame (_self)" +COM_PHOCADOWNLOAD_OPEN_WINDOW_TOP="Open in top frame (replaces all frames) (_top)" +COM_PHOCADOWNLOAD_MIRROR_LINK_LINK_LABEL="Link" +COM_PHOCADOWNLOAD_MIRROR_LINK_TARGET_LABEL="Target" +COM_PHOCADOWNLOAD_MIRROR_LINK_TITLE_LABEL="Title (Link 1)" +COM_PHOCADOWNLOAD_FIELD_MIRROR_LINK_LINK_DESC="Set first mirror link (Inlcude the protocol: e.g. http:// or https://)" +COM_PHOCADOWNLOAD_FIELD_MIRROR_LINK_TARGET_DESC="Set target for first mirror link" +COM_PHOCADOWNLOAD_FIELD_MIRROR_LINK_TITLE_DESC="Set title for first mirror link" +COM_PHOCADOWNLOAD_MIRROR_LINK_LINK2_LABEL="Link 2" +COM_PHOCADOWNLOAD_MIRROR_LINK_TARGET2_LABEL="Target" +COM_PHOCADOWNLOAD_MIRROR_LINK_TITLE2_LABEL="Title (Link 2)" +COM_PHOCADOWNLOAD_FIELD_MIRROR_LINK_LINK2_DESC="Set second mirror link (Inlcude the protocol: e.g. http:// or https://)" +COM_PHOCADOWNLOAD_FIELD_MIRROR_LINK_TARGET2_DESC="Set target for second mirror link" +COM_PHOCADOWNLOAD_FIELD_MIRROR_LINK_TITLE2_DESC="Set title for second mirror link" +COM_PHOCADOWNLOAD_YES_CATEGORY_VIEW="Yes (Category View)" +COM_PHOCADOWNLOAD_YES_FILE_VIEW="Yes (FileView)" +COM_PHOCADOWNLOAD_YES_CATEGORY_FILE_VIEW="Yes (Category And File View)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_RATING_FILE_DESC="Display or hide rating for files" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_RATING_FILE_LABEL="Display Rating (File)" +COM_PHOCADOWNLOAD_CONFIG_RATING_SETTINGS_LABEL="Rating Settings" +COM_PHOCADOWNLOAD_ERROR_FILE_NOT_EXISTS="File does not exist" +COM_PHOCADOWNLOAD_RATING_ALREADY_RATED_FILE="You have already rated this file" +COM_PHOCADOWNLOAD_SUCCESS_RATING_FILE="Thank you for your rating" +COM_PHOCADOWNLOAD_ERROR_RATING_FILE="Error while rating the file" +COM_PHOCADOWNLOAD_ERROR_WRONG_RATING="Error while rating - wrong format added" +COM_PHOCADOWNLOAD_ERROR_REQUESTING_RATING="Error while requesting rating" +COM_PHOCADOWNLOAD_VOTE="vote" +COM_PHOCADOWNLOAD_VOTES="votes" +COM_PHOCADOWNLOAD_FILE_RATING="File Rating" +COM_PHOCADOWNLOAD_RATING="Rating" +COM_PHOCADOWNLOAD_STAR_OUT_OF="star out of" +COM_PHOCADOWNLOAD_ONLY_REGISTERED_LOGGED_RATE_FILE="Only registered and logged in users can rate this file" +;[2.0.0 RC] +COM_PHOCADOWNLOAD_FIELD_DISALLOWED_FILE_TYPES_UPLOAD_DESC="Set disallowed file types for frontend upload." +COM_PHOCADOWNLOAD_FIELD_ALLOWED_FILE_TYPES_UPLOAD_DESC="Set allowed file types for frontend upload. Default list of filetypes is not complete and should be modified to fit your needs." +COM_PHOCADOWNLOAD_FIELD_SHOW_PAGINATION_LABEL="Display Pagination" +COM_PHOCADOWNLOAD_FIELD_SHOW_PAGINATION_DESC="Display or hide pagination" +COM_PHOCADOWNLOAD_FIELD_SHOW_PAGINATION_LIMIT_LABEL="Display Select Box - Pagination" +COM_PHOCADOWNLOAD_FIELD_SHOW_PAGINATION_LIMIT_DESC="Display or hide select box for pagination" +COM_PHOCADOWNLOAD_HIDE="Hide" +COM_PHOCADOWNLOAD_DISPLAY="Display" +;[2.0.0 BETA1] +COM_PHOCADOWNLOAD_FIELD_DISPLAY_MAIN_CAT_DESC_LABEL="Display Main Category Description" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_MAIN_CAT_DESC_DESC="Set if category description should be displayed in Categories View - Description will be displayed instead of subcategories" +COM_PHOCADOWNLOAD_ERROR_CATEGORY_NOT_SELECTED="Category was not selected" +COM_PHOCADOWNLOAD_FIELD_REGISTERED_ACCESS_LEVEL_LABEL="Access Level - Registered Users" +COM_PHOCADOWNLOAD_FIELD_REGISTERED_ACCESS_LEVEL_DESC="Set access levels for registered users. Some actions in frontend can be done by registered users only. Set which access level group will be regarded as registered group." +COM_PHOCADOWNLOAD_FIELD_ENABLE_ICONV_ALIAS_LABEL="Iconv Alias" +COM_PHOCADOWNLOAD_FIELD_ENABLE_ICONV_ALIAS_DESC="Enable or disable creating of alias with help of iconv function" +COM_PHOCADOWNLOAD_UPGRADE="Upgrade" +COM_PHOCADOWNLOAD_INSTALL="Install" +; For Translaters - set your own data here +COM_PHOCADOWNLOAD_TRANSLATION="Translation" +COM_PHOCADOWNLOAD_TRANSLATION_LANGUAGE_TAG="English" +COM_PHOCADOWNLOAD_TRANSLATER="Jan Pavelka" +COM_PHOCADOWNLOAD_TRANSLATION_SUPPORT_URL="www.phoca.cz" +; End Translaters section - - - - - - - - +COM_PHOCADOWNLOAD_ACCESS="Access" +COM_PHOCADOWNLOAD_ACTIVE="Active" +COM_PHOCADOWNLOAD_ADD_FILES="Add Files" +COM_PHOCADOWNLOAD_ADD_FILES_TO_UPLOAD_QUEUE_AND_CLICK_START_BUTTON="Add files to the upload queue and click the start button." +COM_PHOCADOWNLOAD_ADD_TEXT="Text" +COM_PHOCADOWNLOAD_ALL="All" +COM_PHOCADOWNLOAD_ALL_APPROVED="All files authorized" +COM_PHOCADOWNLOAD_ALL_REGISTERED_USERS="All registered users" +COM_PHOCADOWNLOAD_ALWAYS="Always" +COM_PHOCADOWNLOAD_AND_LEFT_FOR_DESCRIPTION="and left for description" +COM_PHOCADOWNLOAD_APPROVE="Authorize" +COM_PHOCADOWNLOAD_APPROVED="Authorized" +COM_PHOCADOWNLOAD_APPROVE_ALL="Authorize All" +COM_PHOCADOWNLOAD_APPROVE_ALL_ERROR="Error while authorizing all files" +COM_PHOCADOWNLOAD_APPROVE_ITEM="Authorize item" +COM_PHOCADOWNLOAD_AUTHOR="Author" +COM_PHOCADOWNLOAD_AUTHOR_EMAIL="Author's Email" +COM_PHOCADOWNLOAD_AUTHOR_WEBSITE="Author's Website" +COM_PHOCADOWNLOAD_BLANK="Blank" +COM_PHOCADOWNLOAD_GREY2="Grey 2" +COM_PHOCADOWNLOAD_BOTTOM="Bottom" +COM_PHOCADOWNLOAD_BOTTOM_AND_OVERLIB="Bottom and Overlib" +COM_PHOCADOWNLOAD_BOTTOM_WITH_DETAIL_AND_OVERLIB="Bottom with detail and Overlib" +COM_PHOCADOWNLOAD_CATEGORIES="Categories" +COM_PHOCADOWNLOAD_CATEGORY="Category" +COM_PHOCADOWNLOAD_CHARACTERS_WRITTEN="Characters written" +COM_PHOCADOWNLOAD_CHECK_FOR_UPDATE="Check For Update" +COM_PHOCADOWNLOAD_CHECK_PERMISSIONS_OWNERSHIP="Check permissions and ownership of files and folders" +COM_PHOCADOWNLOAD_CLOSE="Close" +COM_PHOCADOWNLOAD_CONFIGURATION="Phoca Download Configuration" +COM_PHOCADOWNLOAD_CONFIG_COMMENTS_SETTINGS_LABEL="Comments Settings" +COM_PHOCADOWNLOAD_CONFIG_GENERAL_SETTINGS_LABEL="General Settings" +COM_PHOCADOWNLOAD_CONFIG_HEAD_DISPLAY_LABEL="Display" +COM_PHOCADOWNLOAD_CONFIG_HEAD_GENERAL_LABEL="General" +COM_PHOCADOWNLOAD_CONFIG_HEAD_USER_UPLOAD_LABEL="User Upload" +COM_PHOCADOWNLOAD_CONFIG_THEME_SETTINGS_LABEL="Theme Settings" +COM_PHOCADOWNLOAD_CONTROL_PANEL="Control Panel" +COM_PHOCADOWNLOAD_COPYRIGHT="Copyright" +COM_PHOCADOWNLOAD_COUNT_NOT_UPLOADED_FILE="Count of not uploaded (failed) files" +COM_PHOCADOWNLOAD_COUNT_UPLOADED_FILE="Count of uploaded files" +COM_PHOCADOWNLOAD_COUNT_USER_FILES_APPROVED="Count (authorized files)" +COM_PHOCADOWNLOAD_COUNT_USER_FILES_NOT_APPROVED="Count (not authorized files)" +COM_PHOCADOWNLOAD_CREATE_FOLDER="Create Folder" +COM_PHOCADOWNLOAD_DATABASE_TIME="Database" +COM_PHOCADOWNLOAD_DATE="Dátum" +COM_PHOCADOWNLOAD_DATE_ASC="Date Ascending" +COM_PHOCADOWNLOAD_DATE_DESC="Date Descending" +COM_PHOCADOWNLOAD_DATE_UPLOAD="Upload Date" +COM_PHOCADOWNLOAD_DEFAULT="Default" +COM_PHOCADOWNLOAD_DELETE="Törlés" +COM_PHOCADOWNLOAD_DESCRIPTION="Megjegyzés" +COM_PHOCADOWNLOAD_DETAILS="Details" +COM_PHOCADOWNLOAD_DISPLAY_NUM="Elemek" +COM_PHOCADOWNLOAD_DOT="dot" +COM_PHOCADOWNLOAD_DOWNLOAD="Letöltés" +COM_PHOCADOWNLOAD_DOWNLOAD_AS_SKP="Skp letöltése" +COM_PHOCADOWNLOAD_DOWNLOADS="Letöltések" +COM_PHOCADOWNLOAD_DRAG_FILES_HERE="Drag Files Here" +COM_PHOCADOWNLOAD_EDIT="Edit" +COM_PHOCADOWNLOAD_EDIT_CATEGORY="Edit Category" +COM_PHOCADOWNLOAD_EDIT_FILE="Edit File" +COM_PHOCADOWNLOAD_EMAIL="Email" +COM_PHOCADOWNLOAD_ERROR="Error" +COM_PHOCADOWNLOAD_ERROR_APPROVE_ALL="Error while authorizing all files" +COM_PHOCADOWNLOAD_ERROR_CONTROLLER_MANAGER_NOT_SET="Error while creating folder - Manager not set" +COM_PHOCADOWNLOAD_ERROR_FILE_UPLOADED="File not uploaded" +COM_PHOCADOWNLOAD_ERROR_FOLDER_CREATING="Error while creating folder" +COM_PHOCADOWNLOAD_ERROR_FOLDER_UPLOAD_NOT_EXISTS="Folder does not exist or it is not accessible" +COM_PHOCADOWNLOAD_ERROR_MOVE_UPLOADED_FILE="Failed to move uploaded file" +COM_PHOCADOWNLOAD_ERROR_NO_ABS_FILE="File not found on server" +COM_PHOCADOWNLOAD_ERROR_NO_CORRECT_FILE_TO_PLAY_FOUND="No correct file for playing found" +COM_PHOCADOWNLOAD_ERROR_NO_DB_FILE="File info not found in database" +COM_PHOCADOWNLOAD_ERROR_NO_DB_RESULT="Problems with database" +COM_PHOCADOWNLOAD_ERROR_NO_FILE_TO_PLAY_FOUND="No file for playing found" +COM_PHOCADOWNLOAD_ERROR_OPEN_INPUT_STREAM="Failed to open input stream" +COM_PHOCADOWNLOAD_ERROR_OPEN_OUTPUT_STREAM="Failed to open output stream" +COM_PHOCADOWNLOAD_ERROR_RESET_USER_STAT="Error while resetting user statistics" +COM_PHOCADOWNLOAD_ERROR_UNABLE_TO_MOVE_FILE="Unable to move file" +COM_PHOCADOWNLOAD_ERROR_UNABLE_TO_UPLOAD_FILE="Unable to upload file" +COM_PHOCADOWNLOAD_ERROR_UPLOAD_MANAGER_NOT_SET="Error while uploading - Manager not set" +COM_PHOCADOWNLOAD_ERROR_WHILE_DOWNLOADING_FILE="Error while downloading file" +COM_PHOCADOWNLOAD_EXPERTS_ONLY_LABEL="Experts Only!" +COM_PHOCADOWNLOAD_EXPIRED="Expired" +COM_PHOCADOWNLOAD_FIELD_ABSOLUTE_PATH_DESC="Set absolute path of Phoca Download folder (this can be path outside the public_html). Be aware, this path must exist and the folder and possible subfolders need to be created manually. If the path is outside the public_html the files cannot be previewed or played in browser." +COM_PHOCADOWNLOAD_FIELD_ABSOLUTE_PATH_LABEL="Absolute Path" +COM_PHOCADOWNLOAD_FIELD_ACCESS_RIGHTS_DESC="Set access rights" +COM_PHOCADOWNLOAD_FIELD_ACCESS_RIGHTS_LABEL="Access Rights" +COM_PHOCADOWNLOAD_FIELD_ALIAS_DESC="Set alias" +COM_PHOCADOWNLOAD_FIELD_ALIAS_LABEL="Alias" +COM_PHOCADOWNLOAD_FIELD_ALLOWED_FILE_TYPES_DOWNLOAD_DESC="Set allowed file types for frontend download. Default list of filetypes is not complete and should be modified to fit your needs." +COM_PHOCADOWNLOAD_FIELD_ALLOWED_FILE_TYPES_DOWNLOAD_LABEL="Allowed File Types (Download)" +COM_PHOCADOWNLOAD_FIELD_ALLOWED_FILE_TYPES_UPLOAD_LABEL="Allowed File Types (Upload)" +COM_PHOCADOWNLOAD_FIELD_APPROVED_DESC="Set if the file will be authorized or unathorized" +COM_PHOCADOWNLOAD_FIELD_APPROVED_LABEL="Authorized" +COM_PHOCADOWNLOAD_FIELD_AUTHOR_DESC="Set Author of the file" +COM_PHOCADOWNLOAD_FIELD_AUTHOR_EMAIL_DESC="Set Author's email" +COM_PHOCADOWNLOAD_FIELD_AUTHOR_EMAIL_LABEL="Author's Email" +COM_PHOCADOWNLOAD_FIELD_AUTHOR_LABEL="Author" +COM_PHOCADOWNLOAD_FIELD_AUTHOR_URL_DESC="Set Author's webstie" +COM_PHOCADOWNLOAD_FIELD_AUTHOR_URL_LABEL="Author's Website" +COM_PHOCADOWNLOAD_FIELD_BUTTON_STYLE_DESC="Set button style" +COM_PHOCADOWNLOAD_FIELD_BUTTON_STYLE_LABEL="Button Style" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_DESC="Select Category" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_LABEL="Category" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_ORDERING_DESC="Set category ordering" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_ORDERING_LABEL="Category Ordering" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_VIEW_PAGINATION_DESC="Set pagination values for Category View (file list). Separate each pagination value with comma (,)" +COM_PHOCADOWNLOAD_FIELD_CATEGORY_VIEW_PAGINATION_LABEL="Pagination (Category View)" +COM_PHOCADOWNLOAD_FIELD_CONFIRM_LICENSE_DESC="Select license for this file. If some license will be selected, file will be not downloaded after clicking on Download button, but the license text will be displayed. This text must be confirmed by user who wants to dowload the file." +COM_PHOCADOWNLOAD_FIELD_CONFIRM_LICENSE_LABEL="Confirm license" +COM_PHOCADOWNLOAD_FIELD_DATE_DESC="Set date" +COM_PHOCADOWNLOAD_FIELD_DATE_LABEL="Date" +COM_PHOCADOWNLOAD_FIELD_DEFAULT_VALUE_PAGINATION_DESC="Set default value for pagination which can be displayed in Category View (file list)" +COM_PHOCADOWNLOAD_FIELD_DEFAULT_VALUE_PAGINATION_LABEL="Pagination Default Value" +COM_PHOCADOWNLOAD_FIELD_DESCRIPTION_DESC="Set description. This will be displayed in Categories View" +COM_PHOCADOWNLOAD_FIELD_DESCRIPTION_LABEL="Description" +COM_PHOCADOWNLOAD_FIELD_DIRECT_LINK_DESC="If direct link will be checked, Downlod button will link directly to the file. It means the file will be handled by browser (e.g. MP3 will be not downloaded but played). This option should be selected in case there are problems with downloading files from the server." +COM_PHOCADOWNLOAD_FIELD_DIRECT_LINK_LABEL="Direct Link" +COM_PHOCADOWNLOAD_FIELD_DISALLOWED_FILE_TYPES_DOWNLOAD_DESC="Set disallowed file types for frontend download." +COM_PHOCADOWNLOAD_FIELD_DISALLOWED_FILE_TYPES_DOWNLOAD_LABEL="Disallowed File Types (Download)" +COM_PHOCADOWNLOAD_FIELD_DISALLOWED_FILE_TYPES_UPLOAD_LABEL="Disallowed File Types (Upload)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_CATEGORY_COMMENTS_DESC="Set if category comments should be displayed or not" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_CATEGORY_COMMENTS_LABEL="Display Category Comments" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DATE_TYPE_DESC="Set date type" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DATE_TYPE_LABEL="Display Date Type" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DESCRIPTION_DESC="Display or hide description" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DESCRIPTION_LABEL="Display Description" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DETAIL_BUTTON_DESC="Display or hide detail button" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DETAIL_BUTTON_LABEL="Display Detail Button" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DOWNLOADS_DESC="Display or hide the count of downloads" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_DOWNLOADS_LABEL="Display Downloads" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_FILE_COMMENTS_DESC="Set if file comments should be displayed or not" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_FILE_COMMENTS_LABEL="Display File Comments" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_FILE_VIEW_DESC="Enable or disable File View before download a file" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_FILE_VIEW_LABEL="Display File View" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_HOT_ICON_DESC="Set the number of hits (downloads). After reaching this number of downloads HOT icon will be displayed for the file, use zero for not displaying the icon" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_HOT_ICON_LABEL="Display Hot Icon" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_INACCESSIBLE_FILE_DESC="If the file will be inaccessible for e.g. not logged in users, it can be displayed for them. It means users will see the file but by clicking on the download button they will be redirected to login form." +COM_PHOCADOWNLOAD_FIELD_DISPLAY_INACCESSIBLE_FILE_LABEL="Display Inaccessible file" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_MOST_DOWNLOAD_FILES_DESC="Display Most Download Files in Categories View" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_MOST_DOWNLOAD_FILES_LABEL="Display Most Download Files" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_NEW_ICON_DESC="Set the number of days. During these days NEW icon will be displayed for the file, use zero for not displaying the icon" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_NEW_ICON_LABEL="Display New Icon" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_NUM_FILES_CATEGORIES_VIEW_DESC="Display or hide number of files (Categories View)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_NUM_FILES_CATEGORIES_VIEW_HEADER_DESC="Display or hide number of files (Categories View - Header)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_NUM_FILES_CATEGORIES_VIEW_HEADER_LABEL="Display Number of Files (Categories View - Header)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_NUM_FILES_CATEGORIES_VIEW_LABEL="Display Number of Files (Categories View)" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_PLAY_BUTTON_DESC="Display or hide play button" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_PLAY_BUTTON_LABEL="Display Play Button" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_PREVIEW_BUTTON_DESC="Display or hide preview button" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_PREVIEW_BUTTON_LABEL="Display Preview Button" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_UP_ICON_DESC="Display or hide up icon - icon back to category or back to categories view" +COM_PHOCADOWNLOAD_FIELD_DISPLAY_UP_ICON_LABEL="Display Up Icon" +COM_PHOCADOWNLOAD_FIELD_DOWNLOADS_DESC="Set Dowloads" +COM_PHOCADOWNLOAD_FIELD_DOWNLOADS_LABEL="Downloads" +COM_PHOCADOWNLOAD_FIELD_DOWNLOAD_FOLDER_DESC="Set download folder. If absolute path will be set, this parameter will be ignored. Be aware, the folder set in the parameter must exist on the server." +COM_PHOCADOWNLOAD_FIELD_DOWNLOAD_FOLDER_LABEL="Download Folder" +COM_PHOCADOWNLOAD_FIELD_ENABLE_APPROVE_USERFILE_DESC="If Yes, files will be uploaded as not authorized and must be authorized by administrator. If No, files will be uploaded as authorized" +COM_PHOCADOWNLOAD_FIELD_ENABLE_APPROVE_USERFILE_LABEL="Enable User File Authorization" +COM_PHOCADOWNLOAD_FIELD_ENABLE_MU_ADMIN_DESC="Enable or disable multiple upload feature for administration" +COM_PHOCADOWNLOAD_FIELD_ENABLE_MU_ADMIN_LABEL="Enable Multiple Upload (Administration)" +COM_PHOCADOWNLOAD_FIELD_ENABLE_PLUGIN_QUERY_DESC="Set if Plugin can modify SQL query (Experts only!)" +COM_PHOCADOWNLOAD_FIELD_ENABLE_PLUGIN_QUERY_LABEL="Enable Plugin Query" +COM_PHOCADOWNLOAD_FIELD_ENABLE_USER_STAT_DESC="Enable or disable user statistics" +COM_PHOCADOWNLOAD_FIELD_ENABLE_USER_STAT_LABEL="Enable User Statistics" +COM_PHOCADOWNLOAD_FIELD_EXTERNAL_DOWNLOAD_LINK_DESC="Select if the external download link will have attribute TARGET=_self or TARGET=_blank" +COM_PHOCADOWNLOAD_FIELD_EXTERNAL_DOWNLOAD_LINK_LABEL="External Download Link" +COM_PHOCADOWNLOAD_FIELD_EXTERNAL_LINK_DESC="If the file is stored on external server, paste the external link here. The form field 'Filename' must also be filled (paste the whole link to the file into the form field 'External file' and only the name of the file into the form field 'Filename'). If you set the form field 'Direct Link' (see above) to 'Yes', the external link will be directly accessed (without checking the rights or saving statistics). If you set the form field 'Direct Link' to 'No', internal site will be accessed - statistics will be saved, file will be checked for access rights and then the site will be redirected to the external link (be aware, if the file is public on external server, it cannot be protected by Phoca Download there). Be aware, internal site will be not accessed in File View while clicking on Submit (Download) button." +COM_PHOCADOWNLOAD_FIELD_EXTERNAL_LINK_LABEL="External Link" +COM_PHOCADOWNLOAD_FIELD_FILENAME_DESC="Set or select filename" +COM_PHOCADOWNLOAD_FIELD_FILENAME_LABEL="Filename" +COM_PHOCADOWNLOAD_FIELD_FILENAME_OR_NAME_LABEL="Filename or Title" +COM_PHOCADOWNLOAD_FIELD_FILENAME_OR_NAME_LABEL_DESC="Display Filename or Title" +COM_PHOCADOWNLOAD_FIELD_FILEPLAY_DESC="Set or select file which will be played." +COM_PHOCADOWNLOAD_FIELD_FILEPLAY_LABEL="File - Play" +COM_PHOCADOWNLOAD_FIELD_FILEPREVIEW_DESC="Set or select file which will be previewed" +COM_PHOCADOWNLOAD_FIELD_FILEPREVIEW_LABEL="File - Preview" +COM_PHOCADOWNLOAD_FIELD_FILE_ICON_SIZE_DESC="Set size of file icon" +COM_PHOCADOWNLOAD_FIELD_FILE_ICON_SIZE_LABEL="File Icon Size" +COM_PHOCADOWNLOAD_FIELD_FILE_ICON_SIZE_MD_DESC="Set size of file icon for most downloaded files" +COM_PHOCADOWNLOAD_FIELD_FILE_ICON_SIZE_MD_LABEL="File Icon Size (Most Downloaded Files)" +COM_PHOCADOWNLOAD_FIELD_FILE_ORDERING_DESC="Set file ordering" +COM_PHOCADOWNLOAD_FIELD_FILE_ORDERING_LABEL="File Ordering" +COM_PHOCADOWNLOAD_FIELD_FINISH_PUBLISHING_DESC="Set finish publishing date" +COM_PHOCADOWNLOAD_FIELD_FINISH_PUBLISHING_LABEL="Finish Publishing" +COM_PHOCADOWNLOAD_FIELD_HITS="Hits" +COM_PHOCADOWNLOAD_FIELD_HITS_DESC="Hits" +COM_PHOCADOWNLOAD_FIELD_ICON_DESC="Set icon for the file" +COM_PHOCADOWNLOAD_FIELD_ICON_LABEL="Icon" +COM_PHOCADOWNLOAD_FIELD_ICON_SPEC1_DESC="Set first specific icon for the file, will be displayed after filename" +COM_PHOCADOWNLOAD_FIELD_ICON_SPEC1_LABEL="Specific Icon (1)" +COM_PHOCADOWNLOAD_FIELD_ICON_SPEC2_DESC="Set first specific icon for the file, will be displayed after filename" +COM_PHOCADOWNLOAD_FIELD_ICON_SPEC2_LABEL="Specific Icon (2)" +COM_PHOCADOWNLOAD_FIELD_JCONFIG_PERMISSIONS_DESC="Permissions" +COM_PHOCADOWNLOAD_FIELD_JCONFIG_PERMISSIONS_LABEL="Permissions" +COM_PHOCADOWNLOAD_FIELD_LICENSE_BOX_HEIGHT_DESC="Set height of license box" +COM_PHOCADOWNLOAD_FIELD_LICENSE_BOX_HEIGHT_LABEL="License Box Height" +COM_PHOCADOWNLOAD_FIELD_LICENSE_DESC="Set license of the file, this is only information about the license, if you want that license text needs to be confirmed, you should fill the form field 'Confirm License'" +COM_PHOCADOWNLOAD_FIELD_LICENSE_LABEL="License" +COM_PHOCADOWNLOAD_FIELD_LICENSE_TEXT_DESC="Set license text" +COM_PHOCADOWNLOAD_FIELD_LICENSE_TEXT_LABEL="License Text" +COM_PHOCADOWNLOAD_FIELD_LICENSE_URL_DESC="Set URL to license. URL to site where is described the license of the file" +COM_PHOCADOWNLOAD_FIELD_LICENSE_URL_LABEL="License link" +COM_PHOCADOWNLOAD_FIELD_MAX_COUNT_USER_FILES_DESC="Set maximum count of files user can upload" +COM_PHOCADOWNLOAD_FIELD_MAX_COUNT_USER_FILES_LABEL="Maximum Count of uploaded user's files" +COM_PHOCADOWNLOAD_FIELD_MAX_SIZE_USER_FILES_DESC="Set maximum size of all files user can upload" +COM_PHOCADOWNLOAD_FIELD_MAX_SIZE_USER_FILES_LABEL="Maximum Size of all user's files" +COM_PHOCADOWNLOAD_FIELD_METADESC_DESC="Set meta description for Phoca Download" +COM_PHOCADOWNLOAD_FIELD_METADESC_LABEL="Meta Description" +COM_PHOCADOWNLOAD_FIELD_METAKEY_DESC="Set meta keywords for Phoca Download" +COM_PHOCADOWNLOAD_FIELD_METAKEY_LABEL="Meta Keywords" +COM_PHOCADOWNLOAD_FIELD_ORDERING_DESC="Set ordering" +COM_PHOCADOWNLOAD_FIELD_ORDERING_LABEL="Ordering" +COM_PHOCADOWNLOAD_FIELD_PARENT_CATEGORY_DESC="Set parent category" +COM_PHOCADOWNLOAD_FIELD_PARENT_CATEGORY_LABEL="Parent Category" +COM_PHOCADOWNLOAD_FIELD_PLAYER_HEIGHT_DESC="Set player height (in px)" +COM_PHOCADOWNLOAD_FIELD_PLAYER_HEIGHT_LABEL="Player Height" +COM_PHOCADOWNLOAD_FIELD_PLAYER_MP3_HEIGHT_DESC="Set player height (MP3, OGG Audio)" +COM_PHOCADOWNLOAD_FIELD_PLAYER_MP3_HEIGHT_LABEL="Player Height (MP3, OGG Audio)" +COM_PHOCADOWNLOAD_FIELD_PLAYER_WIDTH_DESC="Set player width (in px)" +COM_PHOCADOWNLOAD_FIELD_PLAYER_WIDTH_LABEL="Player Width" +COM_PHOCADOWNLOAD_FIELD_PLAY_POPUP_WINDOW_DESC="Select play popup window" +COM_PHOCADOWNLOAD_FIELD_PLAY_POPUP_WINDOW_LABEL="Play Popup Window" +COM_PHOCADOWNLOAD_FIELD_PREVIEW_HEIGHT_DESC="Set preview height (in px)" +COM_PHOCADOWNLOAD_FIELD_PREVIEW_HEIGHT_LABEL="Preview Height" +COM_PHOCADOWNLOAD_FIELD_PREVIEW_POPUP_WINDOW_DESC="Select preview popup window" +COM_PHOCADOWNLOAD_FIELD_PREVIEW_POPUP_WINDOW_LABEL="Preview Popup Window" +COM_PHOCADOWNLOAD_FIELD_PREVIEW_WIDTH_DESC="Set preview width (in px)" +COM_PHOCADOWNLOAD_FIELD_PREVIEW_WIDTH_LABEL="Preview Width" +COM_PHOCADOWNLOAD_FIELD_PUBLISHED_DESC="Publish or unpublish" +COM_PHOCADOWNLOAD_FIELD_PUBLISHED_LABEL="Published" +COM_PHOCADOWNLOAD_FIELD_SEND_EMAIL_DOWNLOAD_DESC="Send email if user will download a file" +COM_PHOCADOWNLOAD_FIELD_SEND_EMAIL_DOWNLOAD_LABEL="Send Email (Download)" +COM_PHOCADOWNLOAD_FIELD_SEND_EMAIL_UPLOAD_DESC="Send email if user will upload a file" +COM_PHOCADOWNLOAD_FIELD_SEND_EMAIL_UPLOAD_LABEL="Send Email (Upload)" +COM_PHOCADOWNLOAD_FIELD_START_PUBLISHING_DESC="Set start publishing date" +COM_PHOCADOWNLOAD_FIELD_START_PUBLISHING_LABEL="Start Publishing" +COM_PHOCADOWNLOAD_FIELD_THEME_DESC="Set theme" +COM_PHOCADOWNLOAD_FIELD_THEME_LABEL="Theme" +COM_PHOCADOWNLOAD_FIELD_TITLE_DESC="Set title" +COM_PHOCADOWNLOAD_FIELD_TITLE_LABEL="Title" +COM_PHOCADOWNLOAD_FIELD_UPLOAD_MAX_SIZE_ADMIN_DESC="Set the maximum size for an upload in administration. Use zero for no limit. Do not forget, that the upload size can be limited by the server settings (in bytes)" +COM_PHOCADOWNLOAD_FIELD_UPLOAD_MAX_SIZE_ADMIN_LABEL="Maximum Upload Size (Administration)" +COM_PHOCADOWNLOAD_FIELD_UPLOAD_RIGHTS_DESC="Set upload rights" +COM_PHOCADOWNLOAD_FIELD_UPLOAD_RIGHTS_LABEL="Upload Rights" +COM_PHOCADOWNLOAD_FIELD_USER_FILE_UPLOAD_SIZE_DESC="Set maximum size of file which can be uploaded by user in frontend" +COM_PHOCADOWNLOAD_FIELD_USER_FILE_UPLOAD_SIZE_LABEL="User File Upload Size" +COM_PHOCADOWNLOAD_FIELD_USER_UPLOAD_ENABLE_DESC="Enable or disable user upload" +COM_PHOCADOWNLOAD_FIELD_USER_UPLOAD_ENABLE_LABEL="Enable User Upload" +COM_PHOCADOWNLOAD_FIELD_VERSION_DESC="Set version" +COM_PHOCADOWNLOAD_FIELD_VERSION_LABEL="Version" +COM_PHOCADOWNLOAD_FILE="File" +COM_PHOCADOWNLOAD_FILENAME="Filename" +COM_PHOCADOWNLOAD_FILENAME_AND_TITLE="Filename and Title" +COM_PHOCADOWNLOAD_FILES="Files" +COM_PHOCADOWNLOAD_FILESIZE="File Size" +COM_PHOCADOWNLOAD_FILES_UPLOADED="Files Uploaded" +COM_PHOCADOWNLOAD_FILE_ALREADY_EXISTS="File already exists" +COM_PHOCADOWNLOAD_FILE_FILEATIME="File (access time)" +COM_PHOCADOWNLOAD_FILE_FILECTIME="File (inode change time)" +COM_PHOCADOWNLOAD_FILE_FILEMTIME="File (modification time)" +COM_PHOCADOWNLOAD_FILE_SETTINGS_LABEL="File Settings" +COM_PHOCADOWNLOAD_FILE_SIZE_EMPTY="File Size is empty" +COM_PHOCADOWNLOAD_FILE_TITLE="File Title" +COM_PHOCADOWNLOAD_FILTER="Filter" +COM_PHOCADOWNLOAD_FINISH="Finish" +COM_PHOCADOWNLOAD_FINISH_PUBLISHING="Finish Publishing" +COM_PHOCADOWNLOAD_FOLDER="Folder" +COM_PHOCADOWNLOAD_FORM_SELECT_FILENAME="Select Filename" +COM_PHOCADOWNLOAD_FORM_SELECT_ICON="Select Icon" +COM_PHOCADOWNLOAD_FTP_LOGIN_DESC="For uploading files (images, themes), Joomla! will most likely need your FTP account details. Please enter them in the form fields below." +COM_PHOCADOWNLOAD_FTP_LOGIN_LABEL="FTP Login Details" +COM_PHOCADOWNLOAD_GREY="Grey" +COM_PHOCADOWNLOAD_GROUP_LABEL_PUBLISHING_DETAILS="Publishing Details" +COM_PHOCADOWNLOAD_GUEST="Guest" +COM_PHOCADOWNLOAD_HELP="Help" +COM_PHOCADOWNLOAD_HITS="Hits" +COM_PHOCADOWNLOAD_ID="ID" +COM_PHOCADOWNLOAD_ID_ASC="ID Ascending" +COM_PHOCADOWNLOAD_ID_DESC="ID Descending" +COM_PHOCADOWNLOAD_INFO="Info" +COM_PHOCADOWNLOAD_INSERT="Insert" +COM_PHOCADOWNLOAD_INSERT_FILENAME="Insert Filename" +COM_PHOCADOWNLOAD_INSERT_ICON="Insert Icon" +COM_PHOCADOWNLOAD_INVALID_TOKEN="Invalid Token" +COM_PHOCADOWNLOAD_I_AGREE_TO_TERMS_LISTED_ABOVE="I agree to the terms listed above" +COM_PHOCADOWNLOAD_JCOMMENTS="JComments" +COM_PHOCADOWNLOAD_LICENSE="License" +COM_PHOCADOWNLOAD_LICENSES="Licenses" +COM_PHOCADOWNLOAD_LICENSE_AGREEMENT="License Agreement" +COM_PHOCADOWNLOAD_LOADING="Loading" +COM_PHOCADOWNLOAD_MAX_LIMIT_CHARS_REACHED="You have reached maximum limit of characters allowed" +COM_PHOCADOWNLOAD_MAX_SIZE="Max Size" +COM_PHOCADOWNLOAD_MODAL_BOX="Modal Box" +COM_PHOCADOWNLOAD_MOST_DOWNLOADED_FILES="Most downloaded files" +COM_PHOCADOWNLOAD_MULTIPLE_UPLOAD="Multiple Upload" +COM_PHOCADOWNLOAD_NEW="New" +COM_PHOCADOWNLOAD_NEW_CATEGORY="New Category" +COM_PHOCADOWNLOAD_NEW_FILE="New File" +COM_PHOCADOWNLOAD_NO="No" +COM_PHOCADOWNLOAD_NOBODY="Nobody" +COM_PHOCADOWNLOAD_NONE="None" +COM_PHOCADOWNLOAD_NOT_APPROVE="Unauthorize" +COM_PHOCADOWNLOAD_NOT_APPROVED="Not Authorized" +COM_PHOCADOWNLOAD_NOT_APPROVED_FILES_COUNT="Count of not authorized file(s)" +COM_PHOCADOWNLOAD_NOT_APPROVE_ITEM="Unauthorize item" +COM_PHOCADOWNLOAD_NOT_AUTHORISED_ACTION="You are not authorized to do this action" +COM_PHOCADOWNLOAD_NOT_AUTHORISED_TO_UPLOAD="You are not authorized to upload file" +COM_PHOCADOWNLOAD_NOT_INSTALLED_BROWSERPLUS="You browser doesn't have BrowserPlus installed." +COM_PHOCADOWNLOAD_NOT_INSTALLED_FLASH="You browser doesn't have Flash installed." +COM_PHOCADOWNLOAD_NOT_INSTALLED_GEARS="You browser doesn't have Gears installed." +COM_PHOCADOWNLOAD_NOT_INSTALLED_SILVERLIGHT="You browser doesn't have Silverlight installed." +COM_PHOCADOWNLOAD_NOT_SUPPORTED_HTML4="You browser doesn't have HTML 4 support." +COM_PHOCADOWNLOAD_NOT_SUPPORTED_HTML5="You browser doesn't have HTML 5 support." +COM_PHOCADOWNLOAD_NO_EXPIRY="No Expiry" +COM_PHOCADOWNLOAD_NO_RIGHTS_ACCESS_CATEGORY="You have no rights to access this category" +COM_PHOCADOWNLOAD_NO_SUBCATEGORIES="No Subcategories" +COM_PHOCADOWNLOAD_N_ITEMS_APPROVED="%d items successfully authorized" +COM_PHOCADOWNLOAD_N_ITEMS_APPROVED_1="%d item successfully authorized" +COM_PHOCADOWNLOAD_N_ITEMS_CHECKED_IN_0="No item successfully checked in" +COM_PHOCADOWNLOAD_N_ITEMS_CHECKED_IN_1="%d item successfully checked in" +COM_PHOCADOWNLOAD_N_ITEMS_CHECKED_IN_MORE="%d items successfully checked in" +COM_PHOCADOWNLOAD_N_ITEMS_DELETED="%d items successfully deleted" +COM_PHOCADOWNLOAD_N_ITEMS_DELETED_1="%d item successfully deleted" +COM_PHOCADOWNLOAD_N_ITEMS_DISAPPROVED="%d items successfully unauthorized" +COM_PHOCADOWNLOAD_N_ITEMS_DISAPPROVED_1="%d item successfully unauthorized" +COM_PHOCADOWNLOAD_N_ITEMS_PUBLISHED="%d items successfully published" +COM_PHOCADOWNLOAD_N_ITEMS_PUBLISHED_1="%d item successfully published" +COM_PHOCADOWNLOAD_N_ITEMS_UNPUBLISHED="%d items successfully unpublished" +COM_PHOCADOWNLOAD_N_ITEMS_UNPUBLISHED_1="%d item successfully unpublished" +COM_PHOCADOWNLOAD_OPEN="Open" +COM_PHOCADOWNLOAD_ORDER="Order" +COM_PHOCADOWNLOAD_ORDERING="Ordering" +COM_PHOCADOWNLOAD_ORDERING_ASC="Ordering Ascending" +COM_PHOCADOWNLOAD_ORDERING_DESC="Ordering Descending" +COM_PHOCADOWNLOAD_OVERLIB="Overlib" +COM_PHOCADOWNLOAD_OWNER="Owner" +COM_PHOCADOWNLOAD_PARENT_CATEGORY="Parent Category" +COM_PHOCADOWNLOAD_PATH="Path" +COM_PHOCADOWNLOAD_PD_CONTROL_PANEL="Phoca Download Control Panel" +COM_PHOCADOWNLOAD_PD_INFO="Phoca Download Info" +COM_PHOCADOWNLOAD_PENDING="Pending" +COM_PHOCADOWNLOAD_PLAY="Play" +COM_PHOCADOWNLOAD_PLAY_SETTINGS_LABEL="Play Settings" +COM_PHOCADOWNLOAD_PLEASE_ADD_FILE="Please add a file" +COM_PHOCADOWNLOAD_PLEASE_ENTER_VALID_EMAIL_ADDRESS="Please enter a valid email address" +COM_PHOCADOWNLOAD_PLEASE_ENTER_VALID_WEBSITE="Please enter a valid website (format: http://your_site.com)" +COM_PHOCADOWNLOAD_PLEASE_LOGIN_DOWNLOAD_FILE="Please login to download the file" +COM_PHOCADOWNLOAD_PLEASE_SELECT_CATEGORY="Please select category" +COM_PHOCADOWNLOAD_PREVIEW="Preview" +COM_PHOCADOWNLOAD_PREVIEW_SETTINGS_LABEL="Preview Settings" +COM_PHOCADOWNLOAD_PUBLISHED="Published" +COM_PHOCADOWNLOAD_PUBLISH_INFORMATION="Publish Information" +COM_PHOCADOWNLOAD_RESET="Reset" +COM_PHOCADOWNLOAD_ROUNDED_CORNERS="Rounded Corners" +COM_PHOCADOWNLOAD_SEARCH="Search" +COM_PHOCADOWNLOAD_SEARCH_IN_TITLE="Search" +COM_PHOCADOWNLOAD_SELECT_CATEGORY="Select Category" +COM_PHOCADOWNLOAD_SELECT_FILES="Select Files" +COM_PHOCADOWNLOAD_SELECT_ITEM_RESET="Select an item to reset" +COM_PHOCADOWNLOAD_SELECT_LICENSE="Select License" +COM_PHOCADOWNLOAD_SELF="Self" +COM_PHOCADOWNLOAD_SIZE="Size" +COM_PHOCADOWNLOAD_STANDARD_POPUP_WINDOW="Standard Popup Window" +COM_PHOCADOWNLOAD_START="Start" +COM_PHOCADOWNLOAD_START_PUBLISHING="Start Publishing" +COM_PHOCADOWNLOAD_START_UPLOAD="Start Upload" +COM_PHOCADOWNLOAD_START_UPLOADING_QUEUE="Start Uploading Queue" +COM_PHOCADOWNLOAD_STATISTICS="Statistics" +COM_PHOCADOWNLOAD_STATUS="Status" +COM_PHOCADOWNLOAD_STOP_CURRENT_UPLOAD="Stop Current Upload" +COM_PHOCADOWNLOAD_SUCCESS="Success" +COM_PHOCADOWNLOAD_SUCCESS_FILE_UPLOAD="File uploaded" +COM_PHOCADOWNLOAD_SUCCESS_FILE_UPLOADED="File uploaded" +COM_PHOCADOWNLOAD_SUCCESS_FOLDER_CREATING="Folder created" +COM_PHOCADOWNLOAD_SUCCESS_RESET_USER_STAT="User Statistics reset" +COM_PHOCADOWNLOAD_THERE_IS_NO_FILE="There is no file" +COM_PHOCADOWNLOAD_TITLE="Title" +COM_PHOCADOWNLOAD_TITLE_ASC="Title Ascending" +COM_PHOCADOWNLOAD_TITLE_DESC="Title Descending" +COM_PHOCADOWNLOAD_TOP="Top" +COM_PHOCADOWNLOAD_TOP_AND_OVERLIB="Top and Overlib" +COM_PHOCADOWNLOAD_TOP_WITH_DETAIL_AND_OVERLIB="Top with detail and Overlib" +COM_PHOCADOWNLOAD_UNABLE_TO_UPLOAD_FILE="File cannot be uploaded - unable to move file" +COM_PHOCADOWNLOAD_UP="Up" +COM_PHOCADOWNLOAD_UPLOAD="Upload" +COM_PHOCADOWNLOAD_UPLOADED_FILES="Uploaded Files" +COM_PHOCADOWNLOAD_UPLOAD_FILE="Upload File" +COM_PHOCADOWNLOAD_USER="User" +COM_PHOCADOWNLOAD_USERNAME="Username" +COM_PHOCADOWNLOAD_USERS="Users" +COM_PHOCADOWNLOAD_USER_STATISTICS="User Statistics" +COM_PHOCADOWNLOAD_USER_UPLOAD_DISABLED="User Upload is disabled" +COM_PHOCADOWNLOAD_VERSION="Version" +COM_PHOCADOWNLOAD_WARNFILENAME="File name must only contain alphanumeric characters, underscores, hyphens and spaces." +COM_PHOCADOWNLOAD_WARNFILETOOLARGE="This file is too large to upload." +COM_PHOCADOWNLOAD_WARNFILETYPE="This file type is not supported (or there are some restrictions on the server)." +COM_PHOCADOWNLOAD_WARNFILETYPE_DISALLOWED="The file type is disallowed - file cannot be uploaded" +COM_PHOCADOWNLOAD_WARNFILETYPE_DISALLOWED_DOWNLOAD="Error while downloading file (Disallowed Mime Type)" +COM_PHOCADOWNLOAD_WARNFILETYPE_DOWNLOAD="Error while downloading file (Mime Type not found)" +COM_PHOCADOWNLOAD_WARNFILETYPE_NOT_ALLOWED="The file type is not allowed - file cannot be uploaded" +COM_PHOCADOWNLOAD_WARNIEXSS="Possible IE XSS Attack found." +COM_PHOCADOWNLOAD_WARNING_AGREE_LICENSE_TERMS="You must agree to listed terms" +COM_PHOCADOWNLOAD_WARNING_AUTHORIZE_ALL="Do you really want to authorize all files of all users?" +COM_PHOCADOWNLOAD_WARNING_DELETE_ITEMS="Are you sure you want to delete the listed Items?" +COM_PHOCADOWNLOAD_WARNING_DIRNAME="Error: Wrong folder name" +COM_PHOCADOWNLOAD_WARNING_INPUT_FILE_UPLOAD="Please input a file for upload" +COM_PHOCADOWNLOAD_WARNING_RESET_DOWNLOADS="Really reset downloads?" +COM_PHOCADOWNLOAD_WARNINVALIDIMG="Not a valid image." +COM_PHOCADOWNLOAD_WARNINVALIDMIME="Illegal or invalid mime type detected." +COM_PHOCADOWNLOAD_WARNNOTADMIN="Uploaded file is not an image file and you are not a manager or higher." +COM_PHOCADOWNLOAD_WARNSAFEMODE="Directory creation is not allowed while running in SAFE MODE as this can cause problems." +COM_PHOCADOWNLOAD_WARNUSERFILESTOOLARGE="Maximum size of all your files reached. File cannot be uploaded." +COM_PHOCADOWNLOAD_WARNUSERFILESTOOMUCH="Maximum count of all your files reached. File cannot be uploaded." +COM_PHOCADOWNLOAD_YES="Yes" +COM_PHOCADOWNLOAD_AT="at" +COM_PHOCADOWNLOAD_ERROR_CONTROLLER="Error: No such controller or task" +COM_PHOCADOWNLOAD_ERROR_FOLDER_CREATING_EXISTS="Folder exists" +COM_PHOCADOWNLOAD_SUCCESS_FOLDER_CREATING="Folder created" +COM_PHOCADOWNLOAD_EDIT_LICENSE="Edit License" +COM_PHOCADOWNLOAD_NEW_LICENSE="New License" +COM_PHOCADOWNLOAD_NEW_MODEL_INFO="MODELL INFORMÃCIÓI" +COM_PHOCADOWNLOAD_PRODUCER="Gyártó" +COM_PHOCADOWNLOAD_AUTHOR="SzerzÅ‘" +COM_PHOCADOWNLOAD_POLYGONS="Sokszögek" +COM_PHOCADOWNLOAD_FILE_SIZE="Fájl Mérete" +COM_PHOCADOWNLOAD_BOUNDS="Határok" +COM_PHOCADOWNLOAD_CLOUD_LIBRARY_DESC="Az ARCHLine.XP Warehouse az a hely, ahol kereshet vagy megoszthat ARCHLine.XP tartalmakat, például modelleket, anyagokat, egyedi stílusokat. +A modellek SketchUp formátumban is elérhetÅ‘k. Ossza meg munkáit, és merítsen ihletet másoktól." +COM_PHOCADOWNLOAD_LOGIN_HEADER="Bejelentkezés" +COM_PHOCADOWNLOAD_LOGIN_CLOSE="Bezárás" +COM_PHOCADOWNLOAD_CLOUD_LIBRARY_PROFILE="Adatlap" +COM_PHOCADOWNLOAD_CLOUD_LIBRARY_LOGOUT="Kijelentkezés" +COM_PHOCADOWNLOAD_CLOUD_LIBRARY_DOWNLOAD="ARCHLine.XP Letöltés" +COM_PHOCADOWNLOAD_CLOUD_LIBRARY_PUBLISH="Elem publikálása" +COM_PHOCADOWNLOAD_CLOUD_LIBRARY_MAKE_PRIVATE="Elem elrejtése" +COM_PHOCADOWNLOAD_CLOUD_LIBRARY_PRIVATE="Privát" +COM_PHOCADOWNLOAD_CLOUD_LIBRARY_NO_RESULT="Nincs találat" +COM_PHOCADOWNLOAD_CLOUD_LIBRARY_ARE_YOU_SURE="Biztosan törölni szeretné ezt az elemet?" +COM_PHOCADOWNLOAD_CLOUD_LIBRARY_MY_CONTENT="Tartalmaim" +COM_PHOCADOWNLOAD_PRODUCT_LINE="Termékcsalád" +COM_PHOCADOWNLOAD_DOWNLOAD_SCALE_DOWN="Kicsinyítés" +COM_PHOCADOWNLOAD_DOWNLOAD_SCALE_UP="Nagyítás" +COM_PHOCADOWNLOAD_DOWNLOAD_MODELS="Modellek" +COM_PHOCADOWNLOAD_DOWNLOAD_BRANDS="Márkák" +COM_PHOCADOWNLOAD_DOWNLOAD_PREVIOUS="ElÅ‘zÅ‘" +COM_PHOCADOWNLOAD_DOWNLOAD_NEXT="KövetkezÅ‘" +COM_PHOCADOWNLOAD_DOWNLOAD_AS_DXF="Download as dxf" +COM_PHOCADOWNLOAD_DOWNLOAD_ALL="Összes letöltése" +COM_PHOCADOWNLOAD_VIEWS="Megtekintések" \ No newline at end of file diff --git a/packages/phocadownload/media/com_phocadownload/bootstrap/css/bootstrap.extended.css b/packages/phocadownload/media/com_phocadownload/bootstrap/css/bootstrap.extended.css new file mode 100644 index 00000000..ccadec04 --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/bootstrap/css/bootstrap.extended.css @@ -0,0 +1,36 @@ +/*! + * Bootstrap v3.0.2 + * + * Copyright 2013 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */ + +#phoca-dl-category-box .ph-thumbnail h3, +#phoca-dl-categories-box .ph-thumbnail h3 { + margin-top: 5px; + margin-left: 5px; +} +#phoca-dl-category-box .ph-subcategories, +#phoca-dl-categories-box .ph-subcategories { + margin: 5px; +} +/* +.modal .modal-body { + height: 300px; + overflow-y: auto; +}*/ +/* +.grid7 .col-md-1 { width: 10%; } +.grid7 .col-md-2 { width: 20%; } +.grid7 .col-md-3 { width: 30%; } +.grid7 .col-md-4 { width: 40%; } +.grid7 .col-md-5 { width: 5%; } +.grid7 .col-md-6 { width: 60%; } +.grid7 .col-md-7 { width: 70%; } +.grid7 .col-md-8 { width: 80%; } +.grid7 .col-md-9 { width: 90%; } +.grid7 .col-md-10 { width: 100%; }*/ + diff --git a/packages/phocadownload/media/com_phocadownload/bootstrap/css/bootstrap.glyphicons.min.css b/packages/phocadownload/media/com_phocadownload/bootstrap/css/bootstrap.glyphicons.min.css new file mode 100644 index 00000000..ab6ef068 --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/bootstrap/css/bootstrap.glyphicons.min.css @@ -0,0 +1,14 @@ +/*! + * Bootstrap v3.3.4 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +/*! + * Generated using the Bootstrap Customizer (http://getbootstrap.com/customize/?id=61679c5c55e18c0213c5) + * Config saved to config.json and https://gist.github.com/61679c5c55e18c0213c5 + *//*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"} +.glyphicon-menu-coins:before{content:"\e038"} + + + *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:hover,a:focus{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed} \ No newline at end of file diff --git a/packages/phocadownload/media/com_phocadownload/bootstrap/css/bootstrap.min.css b/packages/phocadownload/media/com_phocadownload/bootstrap/css/bootstrap.min.css new file mode 100644 index 00000000..12a4edc6 --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/bootstrap/css/bootstrap.min.css @@ -0,0 +1,890 @@ +/*! + * Bootstrap v3.0.2 + * + * Copyright 2013 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */ + + +article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block;} +audio,canvas,video{display:inline-block;} +audio:not([controls]){display:none;height:0;} +[hidden],template{display:none;} +html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;} +body{margin:0;} +a{background:transparent;} +a:focus{outline:thin dotted;} +a:active,a:hover{outline:0;} +h1{font-size:2em;margin:0.67em 0;} +abbr[title]{border-bottom:1px dotted;} +b,strong{font-weight:bold;} +dfn{font-style:italic;} +hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0;} +mark{background:#ff0;color:#000;} +code,kbd,pre,samp{font-family:monospace, serif;font-size:1em;} +pre{white-space:pre-wrap;} +q{quotes:"\201C" "\201D" "\2018" "\2019";} +small{font-size:80%;} +sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;} +sup{top:-0.5em;} +sub{bottom:-0.25em;} +img{border:0;} +svg:not(:root){overflow:hidden;} +figure{margin:0;} +fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em;} +legend{border:0;padding:0;} +button,input,select,textarea{font-family:inherit;font-size:100%;margin:0;} +button,input{line-height:normal;} +button,select{text-transform:none;} +button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;} +button[disabled],html input[disabled]{cursor:default;} +input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;} +input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;} +input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;} +button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;} +textarea{overflow:auto;vertical-align:top;} +table{border-collapse:collapse;border-spacing:0;} +@media print{*{text-shadow:none !important;color:#000 !important;background:transparent !important;box-shadow:none !important;} a,a:visited{text-decoration:underline;} a[href]:after{content:" (" attr(href) ")";} abbr[title]:after{content:" (" attr(title) ")";} a[href^="javascript:"]:after,a[href^="#"]:after{content:"";} pre,blockquote{border:1px solid #999;page-break-inside:avoid;} thead{display:table-header-group;} tr,img{page-break-inside:avoid;} img{max-width:100% !important;} @page {margin:2cm .5cm;}p,h2,h3{orphans:3;widows:3;} h2,h3{page-break-after:avoid;} select{background:#fff !important;} .navbar{display:none;} .table td,.table th{background-color:#fff !important;} .btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important;} .label{border:1px solid #000;} .table{border-collapse:collapse !important;} .table-bordered th,.table-bordered td{border:1px solid #ddd !important;}}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} +html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);} +body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333333;background-color:#ffffff;} +input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;} +a{color:#428bca;text-decoration:none;}a:hover,a:focus{color:#2a6496;text-decoration:underline;} +a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;} +img{vertical-align:middle;} +.img-responsive{display:block;max-width:100%;height:auto;} +.img-rounded{border-radius:6px;} +.img-thumbnail{padding:4px;line-height:1.428571429;background-color:#ffffff;border:1px solid #dddddd;border-radius:4px;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;display:inline-block;max-width:100%;height:auto;} +.img-circle{border-radius:50%;} +hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eeeeee;} +.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;} +p{margin:0 0 10px;} +.lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4;}@media (min-width:768px){.lead{font-size:21px;}} +small,.small{font-size:85%;} +cite{font-style:normal;} +.text-muted{color:#999999;} +.text-primary{color:#428bca;}.text-primary:hover{color:#3071a9;} +.text-warning{color:#c09853;}.text-warning:hover{color:#a47e3c;} +.text-danger{color:#b94a48;}.text-danger:hover{color:#953b39;} +.text-success{color:#468847;}.text-success:hover{color:#356635;} +.text-info{color:#3a87ad;}.text-info:hover{color:#2d6987;} +.text-left{text-align:left;} +.text-right{text-align:right;} +.text-center{text-align:center;} +h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;color:inherit;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#999999;} +h1,h2,h3{margin-top:20px;margin-bottom:10px;}h1 small,h2 small,h3 small,h1 .small,h2 .small,h3 .small{font-size:65%;} +h4,h5,h6{margin-top:10px;margin-bottom:10px;}h4 small,h5 small,h6 small,h4 .small,h5 .small,h6 .small{font-size:75%;} +h1,.h1{font-size:36px;} +h2,.h2{font-size:30px;} +h3,.h3{font-size:24px;} +h4,.h4{font-size:18px;} +h5,.h5{font-size:14px;} +h6,.h6{font-size:12px;} +.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eeeeee;} +ul,ol{margin-top:0;margin-bottom:10px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:0;} +.list-unstyled{padding-left:0;list-style:none;} +.list-inline{padding-left:0;list-style:none;}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px;}.list-inline>li:first-child{padding-left:0;} +dl{margin-bottom:20px;} +dt,dd{line-height:1.428571429;} +dt{font-weight:bold;} +dd{margin-left:0;} +@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;} .dl-horizontal dd{margin-left:180px;}.dl-horizontal dd:before,.dl-horizontal dd:after{content:" ";display:table;} .dl-horizontal dd:after{clear:both;} .dl-horizontal dd:before,.dl-horizontal dd:after{content:" ";display:table;} .dl-horizontal dd:after{clear:both;}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999999;} +abbr.initialism{font-size:90%;text-transform:uppercase;} +blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eeeeee;}blockquote p{font-size:17.5px;font-weight:300;line-height:1.25;} +blockquote p:last-child{margin-bottom:0;} +blockquote small{display:block;line-height:1.428571429;color:#999999;}blockquote small:before{content:'\2014 \00A0';} +blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eeeeee;border-left:0;}blockquote.pull-right p,blockquote.pull-right small,blockquote.pull-right .small{text-align:right;} +blockquote.pull-right small:before,blockquote.pull-right .small:before{content:'';} +blockquote.pull-right small:after,blockquote.pull-right .small:after{content:'\00A0 \2014';} +blockquote:before,blockquote:after{content:"";} +address{margin-bottom:20px;font-style:normal;line-height:1.428571429;} +code,kbd,pre,samp{font-family:Monaco,Menlo,Consolas,"Courier New",monospace;} +code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;white-space:nowrap;border-radius:4px;} +pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;word-break:break-all;word-wrap:break-word;color:#333333;background-color:#f5f5f5;border:1px solid #cccccc;border-radius:4px;}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0;} +.pre-scrollable{max-height:340px;overflow-y:scroll;} +.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px;}.container:before,.container:after{content:" ";display:table;} +.container:after{clear:both;} +.container:before,.container:after{content:" ";display:table;} +.container:after{clear:both;} +.row{margin-left:-15px;margin-right:-15px;}.row:before,.row:after{content:" ";display:table;} +.row:after{clear:both;} +.row:before,.row:after{content:" ";display:table;} +.row:after{clear:both;} +.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px;} +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11{float:left;} +.col-xs-12{width:100%;} +.col-xs-11{width:91.66666666666666%;} +.col-xs-10{width:83.33333333333334%;} +.col-xs-9{width:75%;} +.col-xs-8{width:66.66666666666666%;} +.col-xs-7{width:58.333333333333336%;} +.col-xs-6{width:50%;} +.col-xs-5{width:41.66666666666667%;} +.col-xs-4{width:33.33333333333333%;} +.col-xs-3{width:25%;} +.col-xs-2{width:16.666666666666664%;} +.col-xs-1{width:8.333333333333332%;} +.col-xs-pull-12{right:100%;} +.col-xs-pull-11{right:91.66666666666666%;} +.col-xs-pull-10{right:83.33333333333334%;} +.col-xs-pull-9{right:75%;} +.col-xs-pull-8{right:66.66666666666666%;} +.col-xs-pull-7{right:58.333333333333336%;} +.col-xs-pull-6{right:50%;} +.col-xs-pull-5{right:41.66666666666667%;} +.col-xs-pull-4{right:33.33333333333333%;} +.col-xs-pull-3{right:25%;} +.col-xs-pull-2{right:16.666666666666664%;} +.col-xs-pull-1{right:8.333333333333332%;} +.col-xs-pull-0{right:0%;} +.col-xs-push-12{left:100%;} +.col-xs-push-11{left:91.66666666666666%;} +.col-xs-push-10{left:83.33333333333334%;} +.col-xs-push-9{left:75%;} +.col-xs-push-8{left:66.66666666666666%;} +.col-xs-push-7{left:58.333333333333336%;} +.col-xs-push-6{left:50%;} +.col-xs-push-5{left:41.66666666666667%;} +.col-xs-push-4{left:33.33333333333333%;} +.col-xs-push-3{left:25%;} +.col-xs-push-2{left:16.666666666666664%;} +.col-xs-push-1{left:8.333333333333332%;} +.col-xs-push-0{left:0%;} +.col-xs-offset-12{margin-left:100%;} +.col-xs-offset-11{margin-left:91.66666666666666%;} +.col-xs-offset-10{margin-left:83.33333333333334%;} +.col-xs-offset-9{margin-left:75%;} +.col-xs-offset-8{margin-left:66.66666666666666%;} +.col-xs-offset-7{margin-left:58.333333333333336%;} +.col-xs-offset-6{margin-left:50%;} +.col-xs-offset-5{margin-left:41.66666666666667%;} +.col-xs-offset-4{margin-left:33.33333333333333%;} +.col-xs-offset-3{margin-left:25%;} +.col-xs-offset-2{margin-left:16.666666666666664%;} +.col-xs-offset-1{margin-left:8.333333333333332%;} +.col-xs-offset-0{margin-left:0%;} +@media (min-width:768px){.container{width:750px;} .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11{float:left;} .col-sm-12{width:100%;} .col-sm-11{width:91.66666666666666%;} .col-sm-10{width:83.33333333333334%;} .col-sm-9{width:75%;} .col-sm-8{width:66.66666666666666%;} .col-sm-7{width:58.333333333333336%;} .col-sm-6{width:50%;} .col-sm-5{width:41.66666666666667%;} .col-sm-4{width:33.33333333333333%;} .col-sm-3{width:25%;} .col-sm-2{width:16.666666666666664%;} .col-sm-1{width:8.333333333333332%;} .col-sm-pull-12{right:100%;} .col-sm-pull-11{right:91.66666666666666%;} .col-sm-pull-10{right:83.33333333333334%;} .col-sm-pull-9{right:75%;} .col-sm-pull-8{right:66.66666666666666%;} .col-sm-pull-7{right:58.333333333333336%;} .col-sm-pull-6{right:50%;} .col-sm-pull-5{right:41.66666666666667%;} .col-sm-pull-4{right:33.33333333333333%;} .col-sm-pull-3{right:25%;} .col-sm-pull-2{right:16.666666666666664%;} .col-sm-pull-1{right:8.333333333333332%;} .col-sm-pull-0{right:0%;} .col-sm-push-12{left:100%;} .col-sm-push-11{left:91.66666666666666%;} .col-sm-push-10{left:83.33333333333334%;} .col-sm-push-9{left:75%;} .col-sm-push-8{left:66.66666666666666%;} .col-sm-push-7{left:58.333333333333336%;} .col-sm-push-6{left:50%;} .col-sm-push-5{left:41.66666666666667%;} .col-sm-push-4{left:33.33333333333333%;} .col-sm-push-3{left:25%;} .col-sm-push-2{left:16.666666666666664%;} .col-sm-push-1{left:8.333333333333332%;} .col-sm-push-0{left:0%;} .col-sm-offset-12{margin-left:100%;} .col-sm-offset-11{margin-left:91.66666666666666%;} .col-sm-offset-10{margin-left:83.33333333333334%;} .col-sm-offset-9{margin-left:75%;} .col-sm-offset-8{margin-left:66.66666666666666%;} .col-sm-offset-7{margin-left:58.333333333333336%;} .col-sm-offset-6{margin-left:50%;} .col-sm-offset-5{margin-left:41.66666666666667%;} .col-sm-offset-4{margin-left:33.33333333333333%;} .col-sm-offset-3{margin-left:25%;} .col-sm-offset-2{margin-left:16.666666666666664%;} .col-sm-offset-1{margin-left:8.333333333333332%;} .col-sm-offset-0{margin-left:0%;}}@media (min-width:992px){.container{width:970px;} .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11{float:left;} .col-md-12{width:100%;} .col-md-11{width:91.66666666666666%;} .col-md-10{width:83.33333333333334%;} .col-md-9{width:75%;} .col-md-8{width:66.66666666666666%;} .col-md-7{width:58.333333333333336%;} .col-md-6{width:50%;} .col-md-5{width:41.66666666666667%;} .col-md-4{width:33.33333333333333%;} .col-md-3{width:25%;} .col-md-2{width:16.666666666666664%;} .col-md-1{width:8.333333333333332%;} .col-md-pull-12{right:100%;} .col-md-pull-11{right:91.66666666666666%;} .col-md-pull-10{right:83.33333333333334%;} .col-md-pull-9{right:75%;} .col-md-pull-8{right:66.66666666666666%;} .col-md-pull-7{right:58.333333333333336%;} .col-md-pull-6{right:50%;} .col-md-pull-5{right:41.66666666666667%;} .col-md-pull-4{right:33.33333333333333%;} .col-md-pull-3{right:25%;} .col-md-pull-2{right:16.666666666666664%;} .col-md-pull-1{right:8.333333333333332%;} .col-md-pull-0{right:0%;} .col-md-push-12{left:100%;} .col-md-push-11{left:91.66666666666666%;} .col-md-push-10{left:83.33333333333334%;} .col-md-push-9{left:75%;} .col-md-push-8{left:66.66666666666666%;} .col-md-push-7{left:58.333333333333336%;} .col-md-push-6{left:50%;} .col-md-push-5{left:41.66666666666667%;} .col-md-push-4{left:33.33333333333333%;} .col-md-push-3{left:25%;} .col-md-push-2{left:16.666666666666664%;} .col-md-push-1{left:8.333333333333332%;} .col-md-push-0{left:0%;} .col-md-offset-12{margin-left:100%;} .col-md-offset-11{margin-left:91.66666666666666%;} .col-md-offset-10{margin-left:83.33333333333334%;} .col-md-offset-9{margin-left:75%;} .col-md-offset-8{margin-left:66.66666666666666%;} .col-md-offset-7{margin-left:58.333333333333336%;} .col-md-offset-6{margin-left:50%;} .col-md-offset-5{margin-left:41.66666666666667%;} .col-md-offset-4{margin-left:33.33333333333333%;} .col-md-offset-3{margin-left:25%;} .col-md-offset-2{margin-left:16.666666666666664%;} .col-md-offset-1{margin-left:8.333333333333332%;} .col-md-offset-0{margin-left:0%;}}@media (min-width:1200px){.container{width:1170px;} .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11{float:left;} .col-lg-12{width:100%;} .col-lg-11{width:91.66666666666666%;} .col-lg-10{width:83.33333333333334%;} .col-lg-9{width:75%;} .col-lg-8{width:66.66666666666666%;} .col-lg-7{width:58.333333333333336%;} .col-lg-6{width:50%;} .col-lg-5{width:41.66666666666667%;} .col-lg-4{width:33.33333333333333%;} .col-lg-3{width:25%;} .col-lg-2{width:16.666666666666664%;} .col-lg-1{width:8.333333333333332%;} .col-lg-pull-12{right:100%;} .col-lg-pull-11{right:91.66666666666666%;} .col-lg-pull-10{right:83.33333333333334%;} .col-lg-pull-9{right:75%;} .col-lg-pull-8{right:66.66666666666666%;} .col-lg-pull-7{right:58.333333333333336%;} .col-lg-pull-6{right:50%;} .col-lg-pull-5{right:41.66666666666667%;} .col-lg-pull-4{right:33.33333333333333%;} .col-lg-pull-3{right:25%;} .col-lg-pull-2{right:16.666666666666664%;} .col-lg-pull-1{right:8.333333333333332%;} .col-lg-pull-0{right:0%;} .col-lg-push-12{left:100%;} .col-lg-push-11{left:91.66666666666666%;} .col-lg-push-10{left:83.33333333333334%;} .col-lg-push-9{left:75%;} .col-lg-push-8{left:66.66666666666666%;} .col-lg-push-7{left:58.333333333333336%;} .col-lg-push-6{left:50%;} .col-lg-push-5{left:41.66666666666667%;} .col-lg-push-4{left:33.33333333333333%;} .col-lg-push-3{left:25%;} .col-lg-push-2{left:16.666666666666664%;} .col-lg-push-1{left:8.333333333333332%;} .col-lg-push-0{left:0%;} .col-lg-offset-12{margin-left:100%;} .col-lg-offset-11{margin-left:91.66666666666666%;} .col-lg-offset-10{margin-left:83.33333333333334%;} .col-lg-offset-9{margin-left:75%;} .col-lg-offset-8{margin-left:66.66666666666666%;} .col-lg-offset-7{margin-left:58.333333333333336%;} .col-lg-offset-6{margin-left:50%;} .col-lg-offset-5{margin-left:41.66666666666667%;} .col-lg-offset-4{margin-left:33.33333333333333%;} .col-lg-offset-3{margin-left:25%;} .col-lg-offset-2{margin-left:16.666666666666664%;} .col-lg-offset-1{margin-left:8.333333333333332%;} .col-lg-offset-0{margin-left:0%;}}table{max-width:100%;background-color:transparent;} +th{text-align:left;} +.table{width:100%;margin-bottom:20px;}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #dddddd;} +.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #dddddd;} +.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0;} +.table>tbody+tbody{border-top:2px solid #dddddd;} +.table .table{background-color:#ffffff;} +.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px;} +.table-bordered{border:1px solid #dddddd;}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #dddddd;} +.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px;} +.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9;} +.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5;} +table col[class*="col-"]{float:none;display:table-column;} +table td[class*="col-"],table th[class*="col-"]{float:none;display:table-cell;} +.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5;} +.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8;} +.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6;} +.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede;} +.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc;} +.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3;} +.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc;} +@media (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;overflow-x:scroll;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #dddddd;-webkit-overflow-scrolling:touch;}.table-responsive>.table{margin-bottom:0;}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap;} .table-responsive>.table-bordered{border:0;}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0;} .table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0;} .table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0;}}fieldset{padding:0;margin:0;border:0;} +legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333333;border:0;border-bottom:1px solid #e5e5e5;} +label{display:inline-block;margin-bottom:5px;font-weight:bold;} +input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} +input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal;} +input[type="file"]{display:block;} +select[multiple],select[size]{height:auto;} +select optgroup{font-size:inherit;font-style:inherit;font-family:inherit;} +input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;} +input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{height:auto;} +output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555555;vertical-align:middle;} +.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555555;vertical-align:middle;background-color:#ffffff;background-image:none;border:1px solid #cccccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);-webkit-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);} +.form-control:-moz-placeholder{color:#999999;} +.form-control::-moz-placeholder{color:#999999;} +.form-control:-ms-input-placeholder{color:#999999;} +.form-control::-webkit-input-placeholder{color:#999999;} +.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eeeeee;} +textarea.form-control{height:auto;} +.form-group{margin-bottom:15px;} +.radio,.checkbox{display:block;min-height:20px;margin-top:10px;margin-bottom:10px;padding-left:20px;vertical-align:middle;}.radio label,.checkbox label{display:inline;margin-bottom:0;font-weight:normal;cursor:pointer;} +.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{float:left;margin-left:-20px;} +.radio+.radio,.checkbox+.checkbox{margin-top:-5px;} +.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer;} +.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px;} +input[type="radio"][disabled],input[type="checkbox"][disabled],.radio[disabled],.radio-inline[disabled],.checkbox[disabled],.checkbox-inline[disabled],fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"],fieldset[disabled] .radio,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline{cursor:not-allowed;} +.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px;}select.input-sm{height:30px;line-height:30px;} +textarea.input-sm{height:auto;} +.input-lg{height:45px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px;}select.input-lg{height:45px;line-height:45px;} +textarea.input-lg{height:auto;} +.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#c09853;} +.has-warning .form-control{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.has-warning .form-control:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #dbc59e;} +.has-warning .input-group-addon{color:#c09853;border-color:#c09853;background-color:#fcf8e3;} +.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#b94a48;} +.has-error .form-control{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.has-error .form-control:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #d59392;} +.has-error .input-group-addon{color:#b94a48;border-color:#b94a48;background-color:#f2dede;} +.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#468847;} +.has-success .form-control{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);}.has-success .form-control:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075),0 0 6px #7aba7b;} +.has-success .input-group-addon{color:#468847;border-color:#468847;background-color:#dff0d8;} +.form-control-static{margin-bottom:0;} +.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373;} +@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle;} .form-inline .form-control{display:inline-block;} .form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0;} .form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:none;margin-left:0;}} +.form-horizontal .control-label,.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px;} +.form-horizontal .form-group{margin-left:-15px;margin-right:-15px;}.form-horizontal .form-group:before,.form-horizontal .form-group:after{content:" ";display:table;} +.form-horizontal .form-group:after{clear:both;} +.form-horizontal .form-group:before,.form-horizontal .form-group:after{content:" ";display:table;} +.form-horizontal .form-group:after{clear:both;} +.form-horizontal .form-control-static{padding-top:7px;} +@media (min-width:768px){.form-horizontal .control-label{text-align:right;}} +.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.428571429;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;} +.btn:hover,.btn:focus{color:#333333;text-decoration:none;} +.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);box-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);} +.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;} +.btn-default{color:#333333;background-color:#ffffff;border-color:#cccccc;}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{color:#333333;background-color:#ebebeb;border-color:#adadad;} +.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{background-image:none;} +.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#ffffff;border-color:#cccccc;} +.btn-primary{color:#ffffff;background-color:#428bca;border-color:#357ebd;}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{color:#ffffff;background-color:#3276b1;border-color:#285e8e;} +.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{background-image:none;} +.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd;} +.btn-warning{color:#ffffff;background-color:#f0ad4e;border-color:#eea236;}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{color:#ffffff;background-color:#ed9c28;border-color:#d58512;} +.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{background-image:none;} +.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236;} +.btn-danger{color:#ffffff;background-color:#d9534f;border-color:#d43f3a;}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{color:#ffffff;background-color:#d2322d;border-color:#ac2925;} +.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{background-image:none;} +.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a;} +.btn-success{color:#ffffff;background-color:#5cb85c;border-color:#4cae4c;}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{color:#ffffff;background-color:#47a447;border-color:#398439;} +.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{background-image:none;} +.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c;} +.btn-info{color:#ffffff;background-color:#5bc0de;border-color:#46b8da;}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{color:#ffffff;background-color:#39b3d7;border-color:#269abc;} +.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{background-image:none;} +.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da;} +.btn-link{color:#428bca;font-weight:normal;cursor:pointer;border-radius:0;}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none;} +.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent;} +.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent;} +.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999999;text-decoration:none;} +.btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px;} +.btn-sm,.btn-xs{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px;} +.btn-xs{padding:1px 5px;} +.btn-block{display:block;width:100%;padding-left:0;padding-right:0;} +.btn-block+.btn-block{margin-top:5px;} +input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%;} +.fade{opacity:0;-webkit-transition:opacity 0.15s linear;transition:opacity 0.15s linear;}.fade.in{opacity:1;} +.collapse{display:none;}.collapse.in{display:block;} +.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height 0.35s ease;transition:height 0.35s ease;} +@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}.glyphicon:empty{width:1em;} +.glyphicon-asterisk:before{content:"\2a";} +.glyphicon-plus:before{content:"\2b";} +.glyphicon-euro:before{content:"\20ac";} +.glyphicon-minus:before{content:"\2212";} +.glyphicon-cloud:before{content:"\2601";} +.glyphicon-envelope:before{content:"\2709";} +.glyphicon-pencil:before{content:"\270f";} +.glyphicon-glass:before{content:"\e001";} +.glyphicon-music:before{content:"\e002";} +.glyphicon-search:before{content:"\e003";} +.glyphicon-heart:before{content:"\e005";} +.glyphicon-star:before{content:"\e006";} +.glyphicon-star-empty:before{content:"\e007";} +.glyphicon-user:before{content:"\e008";} +.glyphicon-film:before{content:"\e009";} +.glyphicon-th-large:before{content:"\e010";} +.glyphicon-th:before{content:"\e011";} +.glyphicon-th-list:before{content:"\e012";} +.glyphicon-ok:before{content:"\e013";} +.glyphicon-remove:before{content:"\e014";} +.glyphicon-zoom-in:before{content:"\e015";} +.glyphicon-zoom-out:before{content:"\e016";} +.glyphicon-off:before{content:"\e017";} +.glyphicon-signal:before{content:"\e018";} +.glyphicon-cog:before{content:"\e019";} +.glyphicon-trash:before{content:"\e020";} +.glyphicon-home:before{content:"\e021";} +.glyphicon-file:before{content:"\e022";} +.glyphicon-time:before{content:"\e023";} +.glyphicon-road:before{content:"\e024";} +.glyphicon-download-alt:before{content:"\e025";} +.glyphicon-download:before{content:"\e026";} +.glyphicon-upload:before{content:"\e027";} +.glyphicon-inbox:before{content:"\e028";} +.glyphicon-play-circle:before{content:"\e029";} +.glyphicon-repeat:before{content:"\e030";} +.glyphicon-refresh:before{content:"\e031";} +.glyphicon-list-alt:before{content:"\e032";} +.glyphicon-lock:before{content:"\e033";} +.glyphicon-flag:before{content:"\e034";} +.glyphicon-headphones:before{content:"\e035";} +.glyphicon-volume-off:before{content:"\e036";} +.glyphicon-volume-down:before{content:"\e037";} +.glyphicon-volume-up:before{content:"\e038";} +.glyphicon-qrcode:before{content:"\e039";} +.glyphicon-barcode:before{content:"\e040";} +.glyphicon-tag:before{content:"\e041";} +.glyphicon-tags:before{content:"\e042";} +.glyphicon-book:before{content:"\e043";} +.glyphicon-bookmark:before{content:"\e044";} +.glyphicon-print:before{content:"\e045";} +.glyphicon-camera:before{content:"\e046";} +.glyphicon-font:before{content:"\e047";} +.glyphicon-bold:before{content:"\e048";} +.glyphicon-italic:before{content:"\e049";} +.glyphicon-text-height:before{content:"\e050";} +.glyphicon-text-width:before{content:"\e051";} +.glyphicon-align-left:before{content:"\e052";} +.glyphicon-align-center:before{content:"\e053";} +.glyphicon-align-right:before{content:"\e054";} +.glyphicon-align-justify:before{content:"\e055";} +.glyphicon-list:before{content:"\e056";} +.glyphicon-indent-left:before{content:"\e057";} +.glyphicon-indent-right:before{content:"\e058";} +.glyphicon-facetime-video:before{content:"\e059";} +.glyphicon-picture:before{content:"\e060";} +.glyphicon-map-marker:before{content:"\e062";} +.glyphicon-adjust:before{content:"\e063";} +.glyphicon-tint:before{content:"\e064";} +.glyphicon-edit:before{content:"\e065";} +.glyphicon-share:before{content:"\e066";} +.glyphicon-check:before{content:"\e067";} +.glyphicon-move:before{content:"\e068";} +.glyphicon-step-backward:before{content:"\e069";} +.glyphicon-fast-backward:before{content:"\e070";} +.glyphicon-backward:before{content:"\e071";} +.glyphicon-play:before{content:"\e072";} +.glyphicon-pause:before{content:"\e073";} +.glyphicon-stop:before{content:"\e074";} +.glyphicon-forward:before{content:"\e075";} +.glyphicon-fast-forward:before{content:"\e076";} +.glyphicon-step-forward:before{content:"\e077";} +.glyphicon-eject:before{content:"\e078";} +.glyphicon-chevron-left:before{content:"\e079";} +.glyphicon-chevron-right:before{content:"\e080";} +.glyphicon-plus-sign:before{content:"\e081";} +.glyphicon-minus-sign:before{content:"\e082";} +.glyphicon-remove-sign:before{content:"\e083";} +.glyphicon-ok-sign:before{content:"\e084";} +.glyphicon-question-sign:before{content:"\e085";} +.glyphicon-info-sign:before{content:"\e086";} +.glyphicon-screenshot:before{content:"\e087";} +.glyphicon-remove-circle:before{content:"\e088";} +.glyphicon-ok-circle:before{content:"\e089";} +.glyphicon-ban-circle:before{content:"\e090";} +.glyphicon-arrow-left:before{content:"\e091";} +.glyphicon-arrow-right:before{content:"\e092";} +.glyphicon-arrow-up:before{content:"\e093";} +.glyphicon-arrow-down:before{content:"\e094";} +.glyphicon-share-alt:before{content:"\e095";} +.glyphicon-resize-full:before{content:"\e096";} +.glyphicon-resize-small:before{content:"\e097";} +.glyphicon-exclamation-sign:before{content:"\e101";} +.glyphicon-gift:before{content:"\e102";} +.glyphicon-leaf:before{content:"\e103";} +.glyphicon-fire:before{content:"\e104";} +.glyphicon-eye-open:before{content:"\e105";} +.glyphicon-eye-close:before{content:"\e106";} +.glyphicon-warning-sign:before{content:"\e107";} +.glyphicon-plane:before{content:"\e108";} +.glyphicon-calendar:before{content:"\e109";} +.glyphicon-random:before{content:"\e110";} +.glyphicon-comment:before{content:"\e111";} +.glyphicon-magnet:before{content:"\e112";} +.glyphicon-chevron-up:before{content:"\e113";} +.glyphicon-chevron-down:before{content:"\e114";} +.glyphicon-retweet:before{content:"\e115";} +.glyphicon-shopping-cart:before{content:"\e116";} +.glyphicon-folder-close:before{content:"\e117";} +.glyphicon-folder-open:before{content:"\e118";} +.glyphicon-resize-vertical:before{content:"\e119";} +.glyphicon-resize-horizontal:before{content:"\e120";} +.glyphicon-hdd:before{content:"\e121";} +.glyphicon-bullhorn:before{content:"\e122";} +.glyphicon-bell:before{content:"\e123";} +.glyphicon-certificate:before{content:"\e124";} +.glyphicon-thumbs-up:before{content:"\e125";} +.glyphicon-thumbs-down:before{content:"\e126";} +.glyphicon-hand-right:before{content:"\e127";} +.glyphicon-hand-left:before{content:"\e128";} +.glyphicon-hand-up:before{content:"\e129";} +.glyphicon-hand-down:before{content:"\e130";} +.glyphicon-circle-arrow-right:before{content:"\e131";} +.glyphicon-circle-arrow-left:before{content:"\e132";} +.glyphicon-circle-arrow-up:before{content:"\e133";} +.glyphicon-circle-arrow-down:before{content:"\e134";} +.glyphicon-globe:before{content:"\e135";} +.glyphicon-wrench:before{content:"\e136";} +.glyphicon-tasks:before{content:"\e137";} +.glyphicon-filter:before{content:"\e138";} +.glyphicon-briefcase:before{content:"\e139";} +.glyphicon-fullscreen:before{content:"\e140";} +.glyphicon-dashboard:before{content:"\e141";} +.glyphicon-paperclip:before{content:"\e142";} +.glyphicon-heart-empty:before{content:"\e143";} +.glyphicon-link:before{content:"\e144";} +.glyphicon-phone:before{content:"\e145";} +.glyphicon-pushpin:before{content:"\e146";} +.glyphicon-usd:before{content:"\e148";} +.glyphicon-gbp:before{content:"\e149";} +.glyphicon-sort:before{content:"\e150";} +.glyphicon-sort-by-alphabet:before{content:"\e151";} +.glyphicon-sort-by-alphabet-alt:before{content:"\e152";} +.glyphicon-sort-by-order:before{content:"\e153";} +.glyphicon-sort-by-order-alt:before{content:"\e154";} +.glyphicon-sort-by-attributes:before{content:"\e155";} +.glyphicon-sort-by-attributes-alt:before{content:"\e156";} +.glyphicon-unchecked:before{content:"\e157";} +.glyphicon-expand:before{content:"\e158";} +.glyphicon-collapse-down:before{content:"\e159";} +.glyphicon-collapse-up:before{content:"\e160";} +.glyphicon-log-in:before{content:"\e161";} +.glyphicon-flash:before{content:"\e162";} +.glyphicon-log-out:before{content:"\e163";} +.glyphicon-new-window:before{content:"\e164";} +.glyphicon-record:before{content:"\e165";} +.glyphicon-save:before{content:"\e166";} +.glyphicon-open:before{content:"\e167";} +.glyphicon-saved:before{content:"\e168";} +.glyphicon-import:before{content:"\e169";} +.glyphicon-export:before{content:"\e170";} +.glyphicon-send:before{content:"\e171";} +.glyphicon-floppy-disk:before{content:"\e172";} +.glyphicon-floppy-saved:before{content:"\e173";} +.glyphicon-floppy-remove:before{content:"\e174";} +.glyphicon-floppy-save:before{content:"\e175";} +.glyphicon-floppy-open:before{content:"\e176";} +.glyphicon-credit-card:before{content:"\e177";} +.glyphicon-transfer:before{content:"\e178";} +.glyphicon-cutlery:before{content:"\e179";} +.glyphicon-header:before{content:"\e180";} +.glyphicon-compressed:before{content:"\e181";} +.glyphicon-earphone:before{content:"\e182";} +.glyphicon-phone-alt:before{content:"\e183";} +.glyphicon-tower:before{content:"\e184";} +.glyphicon-stats:before{content:"\e185";} +.glyphicon-sd-video:before{content:"\e186";} +.glyphicon-hd-video:before{content:"\e187";} +.glyphicon-subtitles:before{content:"\e188";} +.glyphicon-sound-stereo:before{content:"\e189";} +.glyphicon-sound-dolby:before{content:"\e190";} +.glyphicon-sound-5-1:before{content:"\e191";} +.glyphicon-sound-6-1:before{content:"\e192";} +.glyphicon-sound-7-1:before{content:"\e193";} +.glyphicon-copyright-mark:before{content:"\e194";} +.glyphicon-registration-mark:before{content:"\e195";} +.glyphicon-cloud-download:before{content:"\e197";} +.glyphicon-cloud-upload:before{content:"\e198";} +.glyphicon-tree-conifer:before{content:"\e199";} +.glyphicon-tree-deciduous:before{content:"\e200";} +.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid #000000;border-right:4px solid transparent;border-left:4px solid transparent;border-bottom:0 dotted;} +.dropdown{position:relative;} +.dropdown-toggle:focus{outline:0;} +.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;background-color:#ffffff;border:1px solid #cccccc;border:1px solid rgba(0, 0, 0, 0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0, 0, 0, 0.175);box-shadow:0 6px 12px rgba(0, 0, 0, 0.175);background-clip:padding-box;}.dropdown-menu.pull-right{right:0;left:auto;} +.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5;} +.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.428571429;color:#333333;white-space:nowrap;} +.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5;} +.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#ffffff;text-decoration:none;outline:0;background-color:#428bca;} +.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999999;} +.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed;} +.open>.dropdown-menu{display:block;} +.open>a{outline:0;} +.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999999;} +.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990;} +.pull-right>.dropdown-menu{right:0;left:auto;} +.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000000;content:"";} +.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px;} +@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto;}}.btn-default .caret{border-top-color:#333333;} +.btn-primary .caret,.btn-success .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret{border-top-color:#fff;} +.dropup .btn-default .caret{border-bottom-color:#333333;} +.dropup .btn-primary .caret,.dropup .btn-success .caret,.dropup .btn-warning .caret,.dropup .btn-danger .caret,.dropup .btn-info .caret{border-bottom-color:#fff;} +.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle;}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left;}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2;} +.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:none;} +.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px;} +.btn-toolbar:before,.btn-toolbar:after{content:" ";display:table;} +.btn-toolbar:after{clear:both;} +.btn-toolbar:before,.btn-toolbar:after{content:" ";display:table;} +.btn-toolbar:after{clear:both;} +.btn-toolbar .btn-group{float:left;} +.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group,.btn-toolbar>.btn-group+.btn-group{margin-left:5px;} +.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0;} +.btn-group>.btn:first-child{margin-left:0;}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0;} +.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;} +.btn-group>.btn-group{float:left;} +.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0;} +.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0;} +.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0;} +.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0;} +.btn-group-xs>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px;padding:1px 5px;} +.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px;} +.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px;} +.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px;} +.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px;} +.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);box-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none;} +.btn .caret{margin-left:0;} +.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0;} +.dropup .btn-lg .caret{border-width:0 5px 5px;} +.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{display:block;float:none;width:100%;max-width:100%;} +.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{content:" ";display:table;} +.btn-group-vertical>.btn-group:after{clear:both;} +.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{content:" ";display:table;} +.btn-group-vertical>.btn-group:after{clear:both;} +.btn-group-vertical>.btn-group>.btn{float:none;} +.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0;} +.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0;} +.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0;} +.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0;} +.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0;} +.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0;} +.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0;} +.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate;}.btn-group-justified .btn{float:none;display:table-cell;width:1%;} +[data-toggle="buttons"]>.btn>input[type="radio"],[data-toggle="buttons"]>.btn>input[type="checkbox"]{display:none;} +.input-group{position:relative;display:table;border-collapse:separate;}.input-group.col{float:none;padding-left:0;padding-right:0;} +.input-group .form-control{width:100%;margin-bottom:0;} +.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:45px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px;}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:45px;line-height:45px;} +textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto;} +.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px;}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px;} +textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto;} +.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell;}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0;} +.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle;} +.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;color:#555555;text-align:center;background-color:#eeeeee;border:1px solid #cccccc;border-radius:4px;}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px;} +.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px;} +.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0;} +.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0;} +.input-group-addon:first-child{border-right:0;} +.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;} +.input-group-addon:last-child{border-left:0;} +.input-group-btn{position:relative;white-space:nowrap;}.input-group-btn:first-child>.btn{margin-right:-1px;} +.input-group-btn:last-child>.btn{margin-left:-1px;} +.input-group-btn>.btn{position:relative;}.input-group-btn>.btn+.btn{margin-left:-4px;} +.input-group-btn>.btn:hover,.input-group-btn>.btn:active{z-index:2;} +.nav{margin-bottom:0;padding-left:0;list-style:none;}.nav:before,.nav:after{content:" ";display:table;} +.nav:after{clear:both;} +.nav:before,.nav:after{content:" ";display:table;} +.nav:after{clear:both;} +.nav>li{position:relative;display:block;}.nav>li>a{position:relative;display:block;padding:10px 15px;}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eeeeee;} +.nav>li.disabled>a{color:#999999;}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#999999;text-decoration:none;background-color:transparent;cursor:not-allowed;} +.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eeeeee;border-color:#428bca;}.nav .open>a .caret,.nav .open>a:hover .caret,.nav .open>a:focus .caret{border-top-color:#2a6496;border-bottom-color:#2a6496;} +.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5;} +.nav>li>a>img{max-width:none;} +.nav-tabs{border-bottom:1px solid #dddddd;}.nav-tabs>li{float:left;margin-bottom:-1px;}.nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0;}.nav-tabs>li>a:hover{border-color:#eeeeee #eeeeee #dddddd;} +.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555555;background-color:#ffffff;border:1px solid #dddddd;border-bottom-color:transparent;cursor:default;} +.nav-tabs.nav-justified{width:100%;border-bottom:0;}.nav-tabs.nav-justified>li{float:none;}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px;} +.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto;} +@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%;}.nav-tabs.nav-justified>li>a{margin-bottom:0;}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px;} +.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #dddddd;} +@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #dddddd;border-radius:4px 4px 0 0;} .nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#ffffff;}} +.nav-pills>li{float:left;}.nav-pills>li>a{border-radius:4px;} +.nav-pills>li+li{margin-left:2px;} +.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#ffffff;background-color:#428bca;}.nav-pills>li.active>a .caret,.nav-pills>li.active>a:hover .caret,.nav-pills>li.active>a:focus .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;} +.nav-stacked>li{float:none;}.nav-stacked>li+li{margin-top:2px;margin-left:0;} +.nav-justified{width:100%;}.nav-justified>li{float:none;}.nav-justified>li>a{text-align:center;margin-bottom:5px;} +.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto;} +@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%;}.nav-justified>li>a{margin-bottom:0;}} +.nav-tabs-justified{border-bottom:0;}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px;} +.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #dddddd;} +@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #dddddd;border-radius:4px 4px 0 0;} .nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#ffffff;}} +.tab-content>.tab-pane{display:none;} +.tab-content>.active{display:block;} +.nav .caret{border-top-color:#428bca;border-bottom-color:#428bca;} +.nav a:hover .caret{border-top-color:#2a6496;border-bottom-color:#2a6496;} +.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0;} +.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent;}.navbar:before,.navbar:after{content:" ";display:table;} +.navbar:after{clear:both;} +.navbar:before,.navbar:after{content:" ";display:table;} +.navbar:after{clear:both;} +@media (min-width:768px){.navbar{border-radius:4px;}} +.navbar-header:before,.navbar-header:after{content:" ";display:table;} +.navbar-header:after{clear:both;} +.navbar-header:before,.navbar-header:after{content:" ";display:table;} +.navbar-header:after{clear:both;} +@media (min-width:768px){.navbar-header{float:left;}} +.navbar-collapse{max-height:340px;overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.1);-webkit-overflow-scrolling:touch;}.navbar-collapse:before,.navbar-collapse:after{content:" ";display:table;} +.navbar-collapse:after{clear:both;} +.navbar-collapse:before,.navbar-collapse:after{content:" ";display:table;} +.navbar-collapse:after{clear:both;} +.navbar-collapse.in{overflow-y:auto;} +@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none;}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important;} .navbar-collapse.in{overflow-y:auto;} .navbar-collapse .navbar-nav.navbar-left:first-child{margin-left:-15px;} .navbar-collapse .navbar-nav.navbar-right:last-child{margin-right:-15px;} .navbar-collapse .navbar-text:last-child{margin-right:0;}} +.container>.navbar-header,.container>.navbar-collapse{margin-right:-15px;margin-left:-15px;}@media (min-width:768px){.container>.navbar-header,.container>.navbar-collapse{margin-right:0;margin-left:0;}} +.navbar-static-top{z-index:1000;border-width:0 0 1px;}@media (min-width:768px){.navbar-static-top{border-radius:0;}} +.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0;}} +.navbar-fixed-top{top:0;border-width:0 0 1px;} +.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0;} +.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px;}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none;} +@media (min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px;}} +.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;border:1px solid transparent;border-radius:4px;}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px;} +.navbar-toggle .icon-bar+.icon-bar{margin-top:4px;} +@media (min-width:768px){.navbar-toggle{display:none;}} +.navbar-nav{margin:7.5px -15px;}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px;} +@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none;}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px;} .navbar-nav .open .dropdown-menu>li>a{line-height:20px;}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none;}}@media (min-width:768px){.navbar-nav{float:left;margin:0;}.navbar-nav>li{float:left;}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px;}} +@media (min-width:768px){.navbar-left{float:left !important;} .navbar-right{float:right !important;}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.1),0 1px 0 rgba(255, 255, 255, 0.1);box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.1),0 1px 0 rgba(255, 255, 255, 0.1);margin-top:8px;margin-bottom:8px;}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle;} .navbar-form .form-control{display:inline-block;} .navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0;} .navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{float:none;margin-left:0;}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px;}} +@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none;}} +.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0;} +.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0;} +.navbar-nav.pull-right>li>.dropdown-menu,.navbar-nav>li>.dropdown-menu.pull-right{left:auto;right:0;} +.navbar-btn{margin-top:8px;margin-bottom:8px;} +.navbar-text{float:left;margin-top:15px;margin-bottom:15px;}@media (min-width:768px){.navbar-text{margin-left:15px;margin-right:15px;}} +.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7;}.navbar-default .navbar-brand{color:#777777;}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent;} +.navbar-default .navbar-text{color:#777777;} +.navbar-default .navbar-nav>li>a{color:#777777;}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333333;background-color:transparent;} +.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555555;background-color:#e7e7e7;} +.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#cccccc;background-color:transparent;} +.navbar-default .navbar-toggle{border-color:#dddddd;}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#dddddd;} +.navbar-default .navbar-toggle .icon-bar{background-color:#cccccc;} +.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7;} +.navbar-default .navbar-nav>.dropdown>a:hover .caret,.navbar-default .navbar-nav>.dropdown>a:focus .caret{border-top-color:#333333;border-bottom-color:#333333;} +.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555555;}.navbar-default .navbar-nav>.open>a .caret,.navbar-default .navbar-nav>.open>a:hover .caret,.navbar-default .navbar-nav>.open>a:focus .caret{border-top-color:#555555;border-bottom-color:#555555;} +.navbar-default .navbar-nav>.dropdown>a .caret{border-top-color:#777777;border-bottom-color:#777777;} +@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777777;}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333333;background-color:transparent;} .navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555555;background-color:#e7e7e7;} .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#cccccc;background-color:transparent;}} +.navbar-default .navbar-link{color:#777777;}.navbar-default .navbar-link:hover{color:#333333;} +.navbar-inverse{background-color:#222222;border-color:#080808;}.navbar-inverse .navbar-brand{color:#999999;}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#ffffff;background-color:transparent;} +.navbar-inverse .navbar-text{color:#999999;} +.navbar-inverse .navbar-nav>li>a{color:#999999;}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#ffffff;background-color:transparent;} +.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#ffffff;background-color:#080808;} +.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444444;background-color:transparent;} +.navbar-inverse .navbar-toggle{border-color:#333333;}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333333;} +.navbar-inverse .navbar-toggle .icon-bar{background-color:#ffffff;} +.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010;} +.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#080808;color:#ffffff;} +.navbar-inverse .navbar-nav>.dropdown>a:hover .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;} +.navbar-inverse .navbar-nav>.dropdown>a .caret{border-top-color:#999999;border-bottom-color:#999999;} +.navbar-inverse .navbar-nav>.open>a .caret,.navbar-inverse .navbar-nav>.open>a:hover .caret,.navbar-inverse .navbar-nav>.open>a:focus .caret{border-top-color:#ffffff;border-bottom-color:#ffffff;} +@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808;} .navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999999;}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#ffffff;background-color:transparent;} .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ffffff;background-color:#080808;} .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444444;background-color:transparent;}} +.navbar-inverse .navbar-link{color:#999999;}.navbar-inverse .navbar-link:hover{color:#ffffff;} +.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px;}.breadcrumb>li{display:inline-block;}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#cccccc;} +.breadcrumb>.active{color:#999999;} +.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px;}.pagination>li{display:inline;}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.428571429;text-decoration:none;background-color:#ffffff;border:1px solid #dddddd;margin-left:-1px;} +.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px;} +.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px;} +.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{background-color:#eeeeee;} +.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#ffffff;background-color:#428bca;border-color:#428bca;cursor:default;} +.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999999;background-color:#ffffff;border-color:#dddddd;cursor:not-allowed;} +.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;} +.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px;} +.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px;} +.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;} +.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px;} +.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px;} +.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center;}.pager:before,.pager:after{content:" ";display:table;} +.pager:after{clear:both;} +.pager:before,.pager:after{content:" ";display:table;} +.pager:after{clear:both;} +.pager li{display:inline;}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#ffffff;border:1px solid #dddddd;border-radius:15px;} +.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eeeeee;} +.pager .next>a,.pager .next>span{float:right;} +.pager .previous>a,.pager .previous>span{float:left;} +.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999999;background-color:#ffffff;cursor:not-allowed;} +.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#ffffff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em;}.label[href]:hover,.label[href]:focus{color:#ffffff;text-decoration:none;cursor:pointer;} +.label:empty{display:none;} +.label-default{background-color:#999999;}.label-default[href]:hover,.label-default[href]:focus{background-color:#808080;} +.label-primary{background-color:#428bca;}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9;} +.label-success{background-color:#5cb85c;}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44;} +.label-info{background-color:#5bc0de;}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5;} +.label-warning{background-color:#f0ad4e;}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f;} +.label-danger{background-color:#d9534f;}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c;} +.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;color:#ffffff;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center;background-color:#999999;border-radius:10px;}.badge:empty{display:none;} +a.badge:hover,a.badge:focus{color:#ffffff;text-decoration:none;cursor:pointer;} +.btn .badge{position:relative;top:-1px;} +a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#ffffff;} +.nav-pills>li>a>.badge{margin-left:3px;} +.jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eeeeee;}.jumbotron h1{line-height:1;color:inherit;} +.jumbotron p{line-height:1.4;} +.container .jumbotron{border-radius:6px;} +@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px;}.container .jumbotron{padding-left:60px;padding-right:60px;} .jumbotron h1{font-size:63px;}} +.thumbnail{padding:4px;line-height:1.428571429;background-color:#ffffff;border:1px solid #dddddd;border-radius:4px;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;display:inline-block;max-width:100%;height:auto;display:block;margin-bottom:20px;}.thumbnail>img{display:block;max-width:100%;height:auto;margin-left:auto;margin-right:auto;} +a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca;} +.thumbnail .caption{padding:9px;color:#333333;} +.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px;}.alert h4{margin-top:0;color:inherit;} +.alert .alert-link{font-weight:bold;} +.alert>p,.alert>ul{margin-bottom:0;} +.alert>p+p{margin-top:5px;} +.alert-dismissable{padding-right:35px;}.alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit;} +.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#468847;}.alert-success hr{border-top-color:#c9e2b3;} +.alert-success .alert-link{color:#356635;} +.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#3a87ad;}.alert-info hr{border-top-color:#a6e1ec;} +.alert-info .alert-link{color:#2d6987;} +.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#c09853;}.alert-warning hr{border-top-color:#f7e1b5;} +.alert-warning .alert-link{color:#a47e3c;} +.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#b94a48;}.alert-danger hr{border-top-color:#e4b9c0;} +.alert-danger .alert-link{color:#953b39;} +@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0;} to{background-position:0 0;}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0;} to{background-position:0 0;}}@-o-keyframes progress-bar-stripes{from{background-position:0 0;} to{background-position:40px 0;}}@keyframes progress-bar-stripes{from{background-position:40px 0;} to{background-position:0 0;}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);} +.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#ffffff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);box-shadow:inset 0 -1px 0 rgba(0, 0, 0, 0.15);-webkit-transition:width 0.6s ease;transition:width 0.6s ease;} +.progress-striped .progress-bar{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:40px 40px;} +.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite;} +.progress-bar-success{background-color:#5cb85c;}.progress-striped .progress-bar-success{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);} +.progress-bar-info{background-color:#5bc0de;}.progress-striped .progress-bar-info{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);} +.progress-bar-warning{background-color:#f0ad4e;}.progress-striped .progress-bar-warning{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);} +.progress-bar-danger{background-color:#d9534f;}.progress-striped .progress-bar-danger{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);} +.media,.media-body{overflow:hidden;zoom:1;} +.media,.media .media{margin-top:15px;} +.media:first-child{margin-top:0;} +.media-object{display:block;} +.media-heading{margin:0 0 5px;} +.media>.pull-left{margin-right:10px;} +.media>.pull-right{margin-left:10px;} +.media-list{padding-left:0;list-style:none;} +.list-group{margin-bottom:20px;padding-left:0;} +.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#ffffff;border:1px solid #dddddd;}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px;} +.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px;} +.list-group-item>.badge{float:right;} +.list-group-item>.badge+.badge{margin-right:5px;} +a.list-group-item{color:#555555;}a.list-group-item .list-group-item-heading{color:#333333;} +a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;background-color:#f5f5f5;} +a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{z-index:2;color:#ffffff;background-color:#428bca;border-color:#428bca;}a.list-group-item.active .list-group-item-heading,a.list-group-item.active:hover .list-group-item-heading,a.list-group-item.active:focus .list-group-item-heading{color:inherit;} +a.list-group-item.active .list-group-item-text,a.list-group-item.active:hover .list-group-item-text,a.list-group-item.active:focus .list-group-item-text{color:#e1edf7;} +.list-group-item-heading{margin-top:0;margin-bottom:5px;} +.list-group-item-text{margin-bottom:0;line-height:1.3;} +.panel{margin-bottom:20px;background-color:#ffffff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0, 0, 0, 0.05);box-shadow:0 1px 1px rgba(0, 0, 0, 0.05);} +.panel-body{padding:15px;}.panel-body:before,.panel-body:after{content:" ";display:table;} +.panel-body:after{clear:both;} +.panel-body:before,.panel-body:after{content:" ";display:table;} +.panel-body:after{clear:both;} +.panel>.list-group{margin-bottom:0;}.panel>.list-group .list-group-item{border-width:1px 0;}.panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0;} +.panel>.list-group .list-group-item:last-child{border-bottom:0;} +.panel-heading+.list-group .list-group-item:first-child{border-top-width:0;} +.panel>.table,.panel>.table-responsive{margin-bottom:0;} +.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #dddddd;} +.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0;}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0;} +.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0;} +.panel>.table-bordered>thead>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:last-child>th,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:last-child>td,.panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0;} +.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px;}.panel-heading>.dropdown .dropdown-toggle{color:inherit;} +.panel-title{margin-top:0;margin-bottom:0;font-size:16px;}.panel-title>a{color:inherit;} +.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #dddddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px;} +.panel-group .panel{margin-bottom:0;border-radius:4px;overflow:hidden;}.panel-group .panel+.panel{margin-top:5px;} +.panel-group .panel-heading{border-bottom:0;}.panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #dddddd;} +.panel-group .panel-footer{border-top:0;}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #dddddd;} +.panel-default{border-color:#dddddd;}.panel-default>.panel-heading{color:#333333;background-color:#f5f5f5;border-color:#dddddd;}.panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#dddddd;} +.panel-default>.panel-heading>.dropdown .caret{border-color:#333333 transparent;} +.panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#dddddd;} +.panel-primary{border-color:#428bca;}.panel-primary>.panel-heading{color:#ffffff;background-color:#428bca;border-color:#428bca;}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca;} +.panel-primary>.panel-heading>.dropdown .caret{border-color:#ffffff transparent;} +.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca;} +.panel-success{border-color:#d6e9c6;}.panel-success>.panel-heading{color:#468847;background-color:#dff0d8;border-color:#d6e9c6;}.panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6;} +.panel-success>.panel-heading>.dropdown .caret{border-color:#468847 transparent;} +.panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6;} +.panel-warning{border-color:#faebcc;}.panel-warning>.panel-heading{color:#c09853;background-color:#fcf8e3;border-color:#faebcc;}.panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc;} +.panel-warning>.panel-heading>.dropdown .caret{border-color:#c09853 transparent;} +.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc;} +.panel-danger{border-color:#ebccd1;}.panel-danger>.panel-heading{color:#b94a48;background-color:#f2dede;border-color:#ebccd1;}.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1;} +.panel-danger>.panel-heading>.dropdown .caret{border-color:#b94a48 transparent;} +.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1;} +.panel-info{border-color:#bce8f1;}.panel-info>.panel-heading{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1;}.panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1;} +.panel-info>.panel-heading>.dropdown .caret{border-color:#3a87ad transparent;} +.panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1;} +.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);}.well blockquote{border-color:#ddd;border-color:rgba(0, 0, 0, 0.15);} +.well-lg{padding:24px;border-radius:6px;} +.well-sm{padding:9px;border-radius:3px;} +.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000000;text-shadow:0 1px 0 #ffffff;opacity:0.2;filter:alpha(opacity=20);}.close:hover,.close:focus{color:#000000;text-decoration:none;cursor:pointer;opacity:0.5;filter:alpha(opacity=50);} +button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;} +.modal-open{overflow:hidden;} +.modal{display:none;overflow:auto;overflow-y:scroll;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.3s ease-out;-moz-transition:-moz-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out;} +.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0);} +.modal-dialog{position:relative;margin-left:auto;margin-right:auto;width:auto;padding:10px;z-index:1050;} +.modal-content{position:relative;background-color:#ffffff;border:1px solid #999999;border:1px solid rgba(0, 0, 0, 0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0, 0, 0, 0.5);box-shadow:0 3px 9px rgba(0, 0, 0, 0.5);background-clip:padding-box;outline:none;} +.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000000;}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0);} +.modal-backdrop.in{opacity:0.5;filter:alpha(opacity=50);} +.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.428571429px;} +.modal-header .close{margin-top:-2px;} +.modal-title{margin:0;line-height:1.428571429;} +.modal-body{position:relative;padding:20px;} +.modal-footer{margin-top:15px;padding:19px 20px 20px;text-align:right;border-top:1px solid #e5e5e5;}.modal-footer:before,.modal-footer:after{content:" ";display:table;} +.modal-footer:after{clear:both;} +.modal-footer:before,.modal-footer:after{content:" ";display:table;} +.modal-footer:after{clear:both;} +.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0;} +.modal-footer .btn-group .btn+.btn{margin-left:-1px;} +.modal-footer .btn-block+.btn-block{margin-left:0;} +@media screen and (min-width:768px){.modal-dialog{width:600px;padding-top:30px;padding-bottom:30px;} .modal-content{-webkit-box-shadow:0 5px 15px rgba(0, 0, 0, 0.5);box-shadow:0 5px 15px rgba(0, 0, 0, 0.5);}}.tooltip{position:absolute;z-index:1030;display:block;visibility:visible;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0);}.tooltip.in{opacity:0.9;filter:alpha(opacity=90);} +.tooltip.top{margin-top:-3px;padding:5px 0;} +.tooltip.right{margin-left:3px;padding:0 5px;} +.tooltip.bottom{margin-top:3px;padding:5px 0;} +.tooltip.left{margin-left:-3px;padding:0 5px;} +.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;text-decoration:none;background-color:#000000;border-radius:4px;} +.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid;} +.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000000;} +.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000000;} +.tooltip.top-right .tooltip-arrow{bottom:0;right:5px;border-width:5px 5px 0;border-top-color:#000000;} +.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000000;} +.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000000;} +.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000000;} +.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000000;} +.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000000;} +.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;background-color:#ffffff;background-clip:padding-box;border:1px solid #cccccc;border:1px solid rgba(0, 0, 0, 0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);box-shadow:0 5px 10px rgba(0, 0, 0, 0.2);white-space:normal;}.popover.top{margin-top:-10px;} +.popover.right{margin-left:10px;} +.popover.bottom{margin-top:10px;} +.popover.left{margin-left:-10px;} +.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0;} +.popover-content{padding:9px 14px;} +.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid;} +.popover .arrow{border-width:11px;} +.popover .arrow:after{border-width:10px;content:"";} +.popover.top .arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999999;border-top-color:rgba(0, 0, 0, 0.25);bottom:-11px;}.popover.top .arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#ffffff;} +.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999999;border-right-color:rgba(0, 0, 0, 0.25);}.popover.right .arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#ffffff;} +.popover.bottom .arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999999;border-bottom-color:rgba(0, 0, 0, 0.25);top:-11px;}.popover.bottom .arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#ffffff;} +.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999999;border-left-color:rgba(0, 0, 0, 0.25);}.popover.left .arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#ffffff;bottom:-10px;} +.carousel{position:relative;} +.carousel-inner{position:relative;overflow:hidden;width:100%;}.carousel-inner>.item{display:none;position:relative;-webkit-transition:0.6s ease-in-out left;transition:0.6s ease-in-out left;}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto;line-height:1;} +.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block;} +.carousel-inner>.active{left:0;} +.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%;} +.carousel-inner>.next{left:100%;} +.carousel-inner>.prev{left:-100%;} +.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0;} +.carousel-inner>.active.left{left:-100%;} +.carousel-inner>.active.right{left:100%;} +.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:0.5;filter:alpha(opacity=50);font-size:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0, 0, 0, 0.6);}.carousel-control.left{background-image:-webkit-gradient(linear, 0% top, 100% top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001)));background-image:-webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.5) 0%), color-stop(rgba(0, 0, 0, 0.0001) 100%));background-image:-moz-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);background-image:linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);} +.carousel-control.right{left:auto;right:0;background-image:-webkit-gradient(linear, 0% top, 100% top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5)));background-image:-webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.0001) 0%), color-stop(rgba(0, 0, 0, 0.5) 100%));background-image:-moz-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);background-image:linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);} +.carousel-control:hover,.carousel-control:focus{color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90);} +.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block;} +.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;} +.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;} +.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif;} +.carousel-control .icon-prev:before{content:'\2039';} +.carousel-control .icon-next:before{content:'\203a';} +.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center;}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #ffffff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0, 0, 0, 0);} +.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#ffffff;} +.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0, 0, 0, 0.6);}.carousel-caption .btn{text-shadow:none;} +@media screen and (min-width:768px){.carousel-control .glyphicons-chevron-left,.carousel-control .glyphicons-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px;} .carousel-caption{left:20%;right:20%;padding-bottom:30px;} .carousel-indicators{bottom:20px;}}.clearfix:before,.clearfix:after{content:" ";display:table;} +.clearfix:after{clear:both;} +.center-block{display:block;margin-left:auto;margin-right:auto;} +.pull-right{float:right !important;} +.pull-left{float:left !important;} +.hide{display:none !important;} +.show{display:block !important;} +.invisible{visibility:hidden;} +.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;} +.hidden{display:none !important;visibility:hidden !important;} +.affix{position:fixed;} +@-ms-viewport{width:device-width;}.visible-xs,tr.visible-xs,th.visible-xs,td.visible-xs{display:none !important;} +@media (max-width:767px){.visible-xs{display:block !important;}tr.visible-xs{display:table-row !important;} th.visible-xs,td.visible-xs{display:table-cell !important;}}@media (min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block !important;}tr.visible-xs.visible-sm{display:table-row !important;} th.visible-xs.visible-sm,td.visible-xs.visible-sm{display:table-cell !important;}} +@media (min-width:992px) and (max-width:1199px){.visible-xs.visible-md{display:block !important;}tr.visible-xs.visible-md{display:table-row !important;} th.visible-xs.visible-md,td.visible-xs.visible-md{display:table-cell !important;}} +@media (min-width:1200px){.visible-xs.visible-lg{display:block !important;}tr.visible-xs.visible-lg{display:table-row !important;} th.visible-xs.visible-lg,td.visible-xs.visible-lg{display:table-cell !important;}} +.visible-sm,tr.visible-sm,th.visible-sm,td.visible-sm{display:none !important;} +@media (max-width:767px){.visible-sm.visible-xs{display:block !important;}tr.visible-sm.visible-xs{display:table-row !important;} th.visible-sm.visible-xs,td.visible-sm.visible-xs{display:table-cell !important;}} +@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important;}tr.visible-sm{display:table-row !important;} th.visible-sm,td.visible-sm{display:table-cell !important;}}@media (min-width:992px) and (max-width:1199px){.visible-sm.visible-md{display:block !important;}tr.visible-sm.visible-md{display:table-row !important;} th.visible-sm.visible-md,td.visible-sm.visible-md{display:table-cell !important;}} +@media (min-width:1200px){.visible-sm.visible-lg{display:block !important;}tr.visible-sm.visible-lg{display:table-row !important;} th.visible-sm.visible-lg,td.visible-sm.visible-lg{display:table-cell !important;}} +.visible-md,tr.visible-md,th.visible-md,td.visible-md{display:none !important;} +@media (max-width:767px){.visible-md.visible-xs{display:block !important;}tr.visible-md.visible-xs{display:table-row !important;} th.visible-md.visible-xs,td.visible-md.visible-xs{display:table-cell !important;}} +@media (min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block !important;}tr.visible-md.visible-sm{display:table-row !important;} th.visible-md.visible-sm,td.visible-md.visible-sm{display:table-cell !important;}} +@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important;}tr.visible-md{display:table-row !important;} th.visible-md,td.visible-md{display:table-cell !important;}}@media (min-width:1200px){.visible-md.visible-lg{display:block !important;}tr.visible-md.visible-lg{display:table-row !important;} th.visible-md.visible-lg,td.visible-md.visible-lg{display:table-cell !important;}} +.visible-lg,tr.visible-lg,th.visible-lg,td.visible-lg{display:none !important;} +@media (max-width:767px){.visible-lg.visible-xs{display:block !important;}tr.visible-lg.visible-xs{display:table-row !important;} th.visible-lg.visible-xs,td.visible-lg.visible-xs{display:table-cell !important;}} +@media (min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block !important;}tr.visible-lg.visible-sm{display:table-row !important;} th.visible-lg.visible-sm,td.visible-lg.visible-sm{display:table-cell !important;}} +@media (min-width:992px) and (max-width:1199px){.visible-lg.visible-md{display:block !important;}tr.visible-lg.visible-md{display:table-row !important;} th.visible-lg.visible-md,td.visible-lg.visible-md{display:table-cell !important;}} +@media (min-width:1200px){.visible-lg{display:block !important;}tr.visible-lg{display:table-row !important;} th.visible-lg,td.visible-lg{display:table-cell !important;}} +.hidden-xs{display:block !important;}tr.hidden-xs{display:table-row !important;} +th.hidden-xs,td.hidden-xs{display:table-cell !important;} +@media (max-width:767px){.hidden-xs,tr.hidden-xs,th.hidden-xs,td.hidden-xs{display:none !important;}}@media (min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm,tr.hidden-xs.hidden-sm,th.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm{display:none !important;}} +@media (min-width:992px) and (max-width:1199px){.hidden-xs.hidden-md,tr.hidden-xs.hidden-md,th.hidden-xs.hidden-md,td.hidden-xs.hidden-md{display:none !important;}} +@media (min-width:1200px){.hidden-xs.hidden-lg,tr.hidden-xs.hidden-lg,th.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg{display:none !important;}} +.hidden-sm{display:block !important;}tr.hidden-sm{display:table-row !important;} +th.hidden-sm,td.hidden-sm{display:table-cell !important;} +@media (max-width:767px){.hidden-sm.hidden-xs,tr.hidden-sm.hidden-xs,th.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs{display:none !important;}} +@media (min-width:768px) and (max-width:991px){.hidden-sm,tr.hidden-sm,th.hidden-sm,td.hidden-sm{display:none !important;}}@media (min-width:992px) and (max-width:1199px){.hidden-sm.hidden-md,tr.hidden-sm.hidden-md,th.hidden-sm.hidden-md,td.hidden-sm.hidden-md{display:none !important;}} +@media (min-width:1200px){.hidden-sm.hidden-lg,tr.hidden-sm.hidden-lg,th.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg{display:none !important;}} +.hidden-md{display:block !important;}tr.hidden-md{display:table-row !important;} +th.hidden-md,td.hidden-md{display:table-cell !important;} +@media (max-width:767px){.hidden-md.hidden-xs,tr.hidden-md.hidden-xs,th.hidden-md.hidden-xs,td.hidden-md.hidden-xs{display:none !important;}} +@media (min-width:768px) and (max-width:991px){.hidden-md.hidden-sm,tr.hidden-md.hidden-sm,th.hidden-md.hidden-sm,td.hidden-md.hidden-sm{display:none !important;}} +@media (min-width:992px) and (max-width:1199px){.hidden-md,tr.hidden-md,th.hidden-md,td.hidden-md{display:none !important;}}@media (min-width:1200px){.hidden-md.hidden-lg,tr.hidden-md.hidden-lg,th.hidden-md.hidden-lg,td.hidden-md.hidden-lg{display:none !important;}} +.hidden-lg{display:block !important;}tr.hidden-lg{display:table-row !important;} +th.hidden-lg,td.hidden-lg{display:table-cell !important;} +@media (max-width:767px){.hidden-lg.hidden-xs,tr.hidden-lg.hidden-xs,th.hidden-lg.hidden-xs,td.hidden-lg.hidden-xs{display:none !important;}} +@media (min-width:768px) and (max-width:991px){.hidden-lg.hidden-sm,tr.hidden-lg.hidden-sm,th.hidden-lg.hidden-sm,td.hidden-lg.hidden-sm{display:none !important;}} +@media (min-width:992px) and (max-width:1199px){.hidden-lg.hidden-md,tr.hidden-lg.hidden-md,th.hidden-lg.hidden-md,td.hidden-lg.hidden-md{display:none !important;}} +@media (min-width:1200px){.hidden-lg,tr.hidden-lg,th.hidden-lg,td.hidden-lg{display:none !important;}} +.visible-print,tr.visible-print,th.visible-print,td.visible-print{display:none !important;} +@media print{.visible-print{display:block !important;}tr.visible-print{display:table-row !important;} th.visible-print,td.visible-print{display:table-cell !important;} .hidden-print,tr.hidden-print,th.hidden-print,td.hidden-print{display:none !important;}} diff --git a/packages/phocadownload/media/com_phocadownload/bootstrap/css/bs_modal_transition.css b/packages/phocadownload/media/com_phocadownload/bootstrap/css/bs_modal_transition.css new file mode 100644 index 00000000..bcd62c1f --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/bootstrap/css/bs_modal_transition.css @@ -0,0 +1,91 @@ +.modal-backdrop { + -webkit-backface-visibility: hidden; +} +.modal-backdrop.zoom, +.modal-backdrop.newspaper, +.modal-backdrop.move-horizontal, +.modal-backdrop.move-from-top, +.modal-backdrop.unfold-3d, +.modal-backdrop.zoom-out { + opacity: 0; + transition: opacity 0.4s ease; +} +.modal-backdrop.in { + opacity: 0.5; +} +.modal-backdrop.unfold-3d { + perspective: 500; +} +.modal.zoom .modal-dialog { + opacity: 0; + -webkit-transition: all 0.5s ease-in-out; + -o-transition: all 0.5s ease-in-out; + transition: all 0.5s ease-in-out; + transform: scale(0.6); +} +.modal.in .modal-dialog { + opacity: 1; + -webkit-transition: all 0.4s ease-in-out; + -o-transition: all 0.4s ease-in-out; + transition: all 0.4s ease-in-out; + transform: scale(1); +} +.modal.fade.newspaper .modal-dialog, +.modal.newspaper .modal-dialog { + opacity: 0; + -webkit-transition: all 0.5s ease-in-out; + transition: all 0.5s; + transform: scale(0) rotate(500deg); +} +.modal.fade.newspaper.in .modal-dialog, +.modal.in .modal-dialog { + opacity: 1; + transform: scale(1) rotate(0deg); +} +.modal.move-horizontal .modal-dialog { + opacity: 0; + transition: all 0.5s; + transform: translateX(-50px); +} +.modal.in .modal-dialog { + opacity: 1; + transform: translateX(0); +} +.modal.move-from-top .modal-dialog { + opacity: 0; + transition: all 0.5s; + transform: translateY(-100px); +} +.modal.in .modal-dialog { + opacity: 1; + transform: translateY(0); +} +.modal.unfold-3d .modal-dialog { + opacity: 0; + transition: all 0.5s ease-in-out; + transform-style: preserve-3d; + transform: rotateY(-60deg); +} +.modal.in .modal-dialog { + opacity: 1; + transform: rotateY(0deg); +} +.modal.fade.zoom-out .modal-dialog, +.modal.zoom-out .modal-dialog { + opacity: 0; + transition: all 0.5s; + transform: scale(1.3); +} +.modal.fade.zoom-out.in .modal-dialog, +.modal.in .modal-dialog { + opacity: 1; + transform: scale(1); +} +.csstransforms3d .modal.unfold-3d .modal-dialog { + transform: none; + transform-origin: 50% 100%; + transform: scale(0.7) rotate3d(-1, 1, 0, -60deg); +} +.csstransforms3d .modal.in .modal-dialog { + transform: scale(1) rotate3d(-1, 1, 0, 0deg); +} \ No newline at end of file diff --git a/packages/phocadownload/media/com_phocadownload/bootstrap/css/index.html b/packages/phocadownload/media/com_phocadownload/bootstrap/css/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/bootstrap/css/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/media/com_phocadownload/bootstrap/fonts/glyphicons-halflings-regular.eot b/packages/phocadownload/media/com_phocadownload/bootstrap/fonts/glyphicons-halflings-regular.eot new file mode 100644 index 00000000..423bd5d3 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/bootstrap/fonts/glyphicons-halflings-regular.eot differ diff --git a/packages/phocadownload/media/com_phocadownload/bootstrap/fonts/glyphicons-halflings-regular.svg b/packages/phocadownload/media/com_phocadownload/bootstrap/fonts/glyphicons-halflings-regular.svg new file mode 100644 index 00000000..c8f06d9a --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/bootstrap/fonts/glyphicons-halflings-regular.svg @@ -0,0 +1,229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/phocadownload/media/com_phocadownload/bootstrap/fonts/glyphicons-halflings-regular.ttf b/packages/phocadownload/media/com_phocadownload/bootstrap/fonts/glyphicons-halflings-regular.ttf new file mode 100644 index 00000000..a498ef4e Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/bootstrap/fonts/glyphicons-halflings-regular.ttf differ diff --git a/packages/phocadownload/media/com_phocadownload/bootstrap/fonts/glyphicons-halflings-regular.woff b/packages/phocadownload/media/com_phocadownload/bootstrap/fonts/glyphicons-halflings-regular.woff new file mode 100644 index 00000000..d83c539b Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/bootstrap/fonts/glyphicons-halflings-regular.woff differ diff --git a/packages/phocadownload/media/com_phocadownload/bootstrap/fonts/index.html b/packages/phocadownload/media/com_phocadownload/bootstrap/fonts/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/bootstrap/fonts/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/media/com_phocadownload/bootstrap/index.html b/packages/phocadownload/media/com_phocadownload/bootstrap/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/bootstrap/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/media/com_phocadownload/bootstrap/js/bootstrap.min.js b/packages/phocadownload/media/com_phocadownload/bootstrap/js/bootstrap.min.js new file mode 100644 index 00000000..1104dc2b --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/bootstrap/js/bootstrap.min.js @@ -0,0 +1,11 @@ +/*! + * Bootstrap v3.0.2 + * + * Copyright 2013 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */ + ++function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function f(){e.trigger("closed.bs.alert").remove()}var c=a(this),d=c.attr("data-target");d||(d=c.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,""));var e=a(d);b&&b.preventDefault(),e.length||(e=c.hasClass("alert")?c:c.parent()),e.trigger(b=a.Event("close.bs.alert"));if(b.isDefaultPrevented())return;e.removeClass("in"),a.support.transition&&e.hasClass("fade")?e.one(a.support.transition.end,f).emulateTransitionEnd(150):f()};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),typeof b=="string"&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){a=="loadingText"?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]');if(a.length){var b=this.$element.find("input").prop("checked",!this.$element.hasClass("active")).trigger("change");b.prop("type")==="radio"&&a.find(".active").removeClass("active")}this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f=typeof c=="object"&&c;e||d.data("bs.button",e=new b(this,f)),c=="toggle"?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(jQuery),+function(a){"use strict";var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,this.options.pause=="hover"&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},b.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},b.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},b.prototype.to=function(b){var c=this,d=this.getActiveIndex();if(b>this.$items.length-1||b<0)return;return this.sliding?this.$element.one("slid",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition.end&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},b.prototype.next=function(){if(this.sliding)return;return this.slide("next")},b.prototype.prev=function(){if(this.sliding)return;return this.slide("prev")},b.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g=b=="next"?"left":"right",h=b=="next"?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}this.sliding=!0,f&&this.pause();var j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});if(e.hasClass("active"))return;this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")}));if(a.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(j);if(j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid")},0)}).emulateTransitionEnd(600)}else{this.$element.trigger(j);if(j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return f&&this.cycle(),this};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),typeof c=="object"&&c),g=typeof c=="string"?c:f.slide;e||d.data("bs.carousel",e=new b(this,f)),typeof c=="number"?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c=a(this),d,e=a(c.attr("data-target")||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),c.data()),g=c.attr("data-slide-to");g&&(f.interval=!1),e.carousel(f),(g=c.attr("data-slide-to"))&&e.data("bs.carousel").to(g),b.preventDefault()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var b=a(this);b.carousel(b.data())})})}(jQuery),+function(a){function e(){a(b).remove(),a(c).each(function(b){var c=f(a(this));if(!c.hasClass("open"))return;c.trigger(b=a.Event("hide.bs.dropdown"));if(b.isDefaultPrevented())return;c.removeClass("open").trigger("hidden.bs.dropdown")})}function f(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}"use strict";var b=".dropdown-backdrop",c="[data-toggle=dropdown]",d=function(b){var c=a(b).on("click.bs.dropdown",this.toggle)};d.prototype.toggle=function(b){var c=a(this);if(c.is(".disabled, :disabled"))return;var d=f(c),g=d.hasClass("open");e();if(!g){"ontouchstart"in document.documentElement&&!d.closest(".navbar-nav").length&&a(''}),b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},b.prototype.hasContent=function(){return this.getTitle()||this.getContent()},b.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||(typeof b.content=="function"?b.content.call(a[0]):b.content)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f=typeof c=="object"&&c;e||d.data("bs.popover",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(jQuery),+function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,""));if(b.parent("li").hasClass("active"))return;var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});b.trigger(f);if(f.isDefaultPrevented())return;var g=a(d);this.activate(b.parent("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})},b.prototype.activate=function(b,c,d){function g(){e.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),f?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var e=c.find("> .active"),f=d&&a.support.transition&&e.hasClass("fade");f?e.one(a.support.transition.end,g).emulateTransitionEnd(150):g(),e.removeClass("in")};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),typeof c=="string"&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(jQuery),+function(a){"use strict";var b=function(c,d){this.options=a.extend({},b.DEFAULTS,d),this.$window=a(window).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(c),this.affixed=this.unpin=null,this.checkPosition()};b.RESET="affix affix-top affix-bottom",b.DEFAULTS={offset:0},b.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},b.prototype.checkPosition=function(){if(!this.$element.is(":visible"))return;var c=a(document).height(),d=this.$window.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;typeof f!="object"&&(h=g=f),typeof g=="function"&&(g=f.top()),typeof h=="function"&&(h=f.bottom());var i=this.unpin!=null&&d+this.unpin<=e.top?!1:h!=null&&e.top+this.$element.height()>=c-h?"bottom":g!=null&&d<=g?"top":!1;if(this.affixed===i)return;this.unpin&&this.$element.css("top",""),this.affixed=i,this.unpin=i=="bottom"?e.top-d:null,this.$element.removeClass(b.RESET).addClass("affix"+(i?"-"+i:"")),i=="bottom"&&this.$element.offset({top:document.body.offsetHeight-h-this.$element.height()})};var c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f=typeof c=="object"&&c;e||d.data("bs.affix",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.noConflict=function(){return a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(this.transitioning||this.$element.hasClass("in"))return;var b=a.Event("show.bs.collapse");this.$element.trigger(b);if(b.isDefaultPrevented())return;var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])},b.prototype.hide=function(){if(this.transitioning||!this.$element.hasClass("in"))return;var b=a.Event("hide.bs.collapse");this.$element.trigger(b);if(b.isDefaultPrevented())return;var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};if(!a.support.transition)return d.call(this);this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350)},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),typeof c=="object"&&c);e||d.data("bs.collapse",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c=a(this),d,e=c.attr("data-target")||b.preventDefault()||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":c.data(),i=c.attr("data-parent"),j=i&&a(i);if(!g||!g.transitioning)j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(c).addClass("collapsed"),c[f.hasClass("in")?"addClass":"removeClass"]("collapsed");f.collapse(h)})}(jQuery),+function(a){function b(c,d){var e,f=a.proxy(this.process,this);this.$element=a(c).is("body")?a(window):a(c),this.$body=a("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",f),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||(e=a(c).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=a([]),this.targets=a([]),this.activeTarget=null,this.refresh(),this.process()}"use strict",b.DEFAULTS={offset:10},b.prototype.refresh=function(){var b=this.$element[0]==window?"offset":"position";this.offsets=a([]),this.targets=a([]);var c=this,d=this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#\w/.test(e)&&a(e);return f&&f.length&&[[f[b]().top+(!a.isWindow(c.$scrollElement.get(0))&&c.$scrollElement.scrollTop()),e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){c.offsets.push(this[0]),c.targets.push(this[1])})},b.prototype.process=function(){var a=this.$scrollElement.scrollTop()+this.options.offset,b=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,c=b-this.$scrollElement.height(),d=this.offsets,e=this.targets,f=this.activeTarget,g;if(a>=c)return f!=(g=e.last()[0])&&this.activate(g);for(g=d.length;g--;)f!=e[g]&&a>=d[g]&&(!d[g+1]||a<=d[g+1])&&this.activate(e[g])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parents(".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate")};var c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f=typeof c=="object"&&c;e||d.data("bs.scrollspy",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(jQuery),+function(a){function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(a.style[c]!==undefined)return{end:b[c]}}"use strict",a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(jQuery) \ No newline at end of file diff --git a/packages/phocadownload/media/com_phocadownload/bootstrap/js/index.html b/packages/phocadownload/media/com_phocadownload/bootstrap/js/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/bootstrap/js/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/media/com_phocadownload/css/administrator/index.html b/packages/phocadownload/media/com_phocadownload/css/administrator/index.html new file mode 100644 index 00000000..ea9e94c1 --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/css/administrator/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/media/com_phocadownload/css/administrator/phocadownload.css b/packages/phocadownload/media/com_phocadownload/css/administrator/phocadownload.css new file mode 100644 index 00000000..2b890ef0 --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/css/administrator/phocadownload.css @@ -0,0 +1,616 @@ +/* Columns*/ +.ph-image { + text-align:center; + width: 10%; +} +.ph-title { + width: 60%; +} + +.ph-title-stat { + width: 10%; +} +.ph-filename-stat { + width: 50%; +} + +.ph-title-short { + width: 30%; +} +.ph-filename-long { + width: 50%; +} +.ph-count { + width: 5%; +} + +.ph-page { + width: 5%; +} + +.ph-functions, +.ph-id, +.ph-check, +.ph-ordering { + width: 1%; +} + +.ph-right { + text-align: right !important; +} +.ph-center { + text-align: center !important; +} + +.ph-uploaduser { + width: 7%; + white-space: nowrap; +} +.ph-owner, +.ph-rating, +.ph-hits, +.ph-language, +.ph-published, +.ph-approved { + width: 5%; +} +.ph-user, +.ph-parentcattitle { + width: 15%; +} +.ph-filename, +.ph-access { + width: 10%; +} + + +.ph-multiple-table tr td.ph-img-table { + text-align: center; + padding-top: 4px; +} +.ph-icon { + margin: 0; + padding: 5px; + float: left; + margin: 0 auto; + text-align: center; +} +.ph-icon-inside.thumbnail { + width: 100px; + height: 100px; + -webkit-border-radius: 0px; + border-radius: 0px; + background: #fdfdfd; +} +.ph-icon-inside.thumbnail img { + margin-top: 10px; + margin-bottom: -12px; +} +.ph-icon-inside.thumbnail span { +} + +.ph-head-form-small, +.ph-head-form { + font-weight: bold; +} +.ph-head-form { + margin-bottom: 10px; +} +.ph-in { + padding: 5px; +} + +.ph-w80 { + width: 80%; +} +.dl-horizontal.ph-input dt { + float: left; + clear: left; + margin-right: 20px; + text-align: left; + width: auto; +} +.dl-horizontal.ph-input dd{ +} + +.ph-cpanel-left { + float: left; + width: 50%; +} +.ph-cpanel-right { + float: right; + width: 50%; +} + +#configTabs li a img { + margin-top: -3px; +} + +.ph-head-form-small, +.ph-head-form { + font-weight: bold; +} +.ph-head-form { + margin-bottom: 10px; +} +.ph-in { + padding: 5px; +} + +.ph-w80 { + width: 80%; +} +.dl-horizontal.ph-input dt { + float: left; + clear: left; + margin-right: 20px; + text-align: left; + width: auto; +} +.dl-horizontal.ph-input dd{ +} + +.icon-multiple:before { + content: url('../../images/administrator/icon-12-multiple.png'); +} + +.icon-authorizeall:before { + content: url('../../images/administrator/icon-12-authorizeall.png'); +} + +.icon-disapprove:before { + content: url('../../images/administrator/icon-12-disapprove.png'); +} +.icon-approve:before { + content: url('../../images/administrator/icon-12-approve.png'); +} + +.icon-reset:before { + content: url('../../images/administrator/icon-12-reset.png'); +} + +.icon-back:before { + content: url('../../images/administrator/icon-12-back.png'); +} + +/* -- Codemirror Editor ----------- */ +div.editor-border /*, div.CodeMirror-wrapping */ { + border: 1px solid #ccc; + background-color: #ffffff; +} +#ph-editor div.CodeMirror-wrapping { + height: 400px !important; +} + + + + +div.icon-48-phocadownload { + background: url('../../images/administrator/icon-48-phocadownload.png') no-repeat left; +} +div.icon-48-info { + background: url('../../images/administrator/icon-48-info.png') no-repeat left; +} +div.icon-48-tags { + background: url('../../images/administrator/icon-48-tags.png') no-repeat left; +} +div.icon-48-layout { + background: url('../../images/administrator/icon-48-layout.png') no-repeat left; +} +div.icon-48-category { + background: url('../../images/administrator/icon-48-cats.png') no-repeat left; +} + +div.icon-48-section { + background: url('../../images/administrator/icon-48-sec.png') no-repeat left; +} +div.icon-48-settings { + background: url('../../images/administrator/icon-48-set.png') no-repeat left; +} +div.icon-48-file { + background: url('../../images/administrator/icon-48-file.png') no-repeat left; +} +div.icon-48-statistics { + background: url('../../images/administrator/icon-48-stat.png') no-repeat left; +} +div.icon-48-userstat { + background: url('../../images/administrator/icon-48-user-stat.png') no-repeat left; +} +div.icon-48-license { + background: url('../../images/administrator/icon-48-lic.png') no-repeat left; +} +div.icon-48-users { + background: url('../../images/administrator/icon-48-users.png') no-repeat left; +} + +div.icon-48-multiple { + background: url('../../images/administrator/icon-48-pd-multiple.png') no-repeat left; +} + +div.icon-48-vote-file { + background: url('../../images/administrator/icon-48-vote-file.png') no-repeat left; +} +span.icon-32-reset { + background: url('../../images/administrator/icon-32-reset.png') no-repeat left; +} +span.icon-32-authorizeall { + background: url('../../images/administrator/icon-32-authorizeall.png') no-repeat left; +} +span.icon-32-multiple { + background: url('../../images/administrator/icon-32-multiple.png') no-repeat left; +} + +span.icon-32-disapprove { + background: url('../../images/administrator/icon-32-disapprove.png') no-repeat left; +} +span.icon-32-approve { + background: url('../../images/administrator/icon-32-approve.png') no-repeat left; +} + +/* Phoca Download Editor Button Plugin */ +.plg-button-tbl { + width: 100%; +} +.plg-button-tbl tr { + border-bottom: 1px solid #f0f0f0; +} + +.plg-button-tbl tr td { + + padding-top:5px; + padding-bottom: 5px; +} + +.plg-button-insert { + margin-right: 5px; +} + +#phocadownload-links .icon-16-edb-sections { + background: #fdfdfd url('../../images/administrator/icon-16-edb-sections.png') no-repeat 5px center; + list-style-type:none; + padding: 10px 10px 10px 30px; + margin:5px; + border:1px solid #ccc; + display: block; + width: auto; +} +#phocadownload-links .icon-16-edb-section { + background: #fdfdfd url('../../images/administrator/icon-16-edb-section.png') no-repeat 5px center; + list-style-type:none; + padding: 10px 10px 10px 30px; + margin:5px; + border:1px solid #ccc; + display: block; + width: auto; +} +#phocadownload-links .icon-16-edb-category { + background: #fdfdfd url('../../images/administrator/icon-16-edb-category.png') no-repeat 5px center; + list-style-type:none; + padding: 10px 10px 10px 30px; + margin:5px; + border:1px solid #ccc; + display: block; + width: auto; +} + +#phocadownload-links .icon-16-edb-categories { + background: #fdfdfd url('../../images/administrator/icon-16-edb-categories.png') no-repeat 5px center; + list-style-type:none; + padding: 10px 10px 10px 30px; + margin:5px; + border:1px solid #ccc; + display: block; + width: auto; +} +#phocadownload-links .icon-16-edb-file { + background: #fdfdfd url('../../images/administrator/icon-16-edb-file.png') no-repeat 5px center; + list-style-type:none; + padding: 10px 10px 10px 30px; + margin:5px; + border:1px solid #ccc; + display: block; + width: auto; +} +#phocadownload-links .icon-16-edb-play { + background: #fdfdfd url('../../images/administrator/icon-16-edb-play.png') no-repeat 5px center; + list-style-type:none; + padding: 10px 10px 10px 30px; + margin:5px; + border:1px solid #ccc; + display: block; + width: auto; +} +#phocadownload-links .icon-16-edb-preview { + background: #fdfdfd url('../../images/administrator/icon-16-edb-preview.png') no-repeat 5px center; + list-style-type:none; + padding: 10px 10px 10px 30px; + margin:5px; + border:1px solid #ccc; + display: block; + width: auto; +} +#phocadownload-links a { + text-decoration:underline; +} + +#phocadownload-links .icon-16-edb-back { + background: #fdfdfd url('../../images/administrator/icon-16-edb-back.png') no-repeat 5px center; + list-style-type:none; + padding: 10px 10px 10px 26px; + margin:5px; + border:1px solid #ccc; + display: block; + width: auto; +} + +#phocadownload-links th a { + text-decoration:none; +} + +.notapproved { + background:#FFC2C2; + border:1px solid #bf3030; + color: #a60000; + padding:10px; + margin-top:5px; + margin-bottom:5px; +} + +.phoca-adminform { + background-color: #fff; + border: solid 1px #d5d5d5; + padding:10px; + color: #777; +} +.cpanel-right { + color: #777; +} + +.pgerrormsg, +.notapproved { + background:#FFC2C2; + border:1px solid #bf3030; + color: #a60000; + padding:10px; + margin-top:5px; + margin-bottom:5px; +} +.pgsuccessmsg { + background:#ceffc1; + border:1px solid #4ebd30; + color: #23a600; + padding:10px; + margin-top:5px; + margin-bottom:5px; +} +.pgunsetmsg { + background:#fff2c1; + border:1px solid #bda130; + color: #a68400; + padding:10px; + margin-top:5px; + margin-bottom:5px; +} + +#phocadownloadmanager { + font-family: sans, arial; +} +#phocadownloadmanager a img { + + border: none; +} + +#phocadownloadmanager .pd-admin-path { + border: 1px solid #ccc; + background: #f0f0f0; + padding: 10px; + margin:5px 0px; +} +#phocadownloadmanager .pd-admin-files { + border: 1px solid #ccc; + background: #fff; + padding: 10px; + margin:5px 0px; +} + +#phocadownloadmanager .pd-admin-file { + padding:3px 0px; + margin:0px; +} +#phocadownloadmanager .pd-admin-file-checkbox { + padding:3px 0px; + margin:7px 0px; + background: #f9f9f9; + border-bottom: 1px solid #f0f0f0 +} + + +/* Rating */ +/* Voting - style by http://www.jluvip.com/works/css/starvote/index2-1.html*/ + .star-rating{ + list-style:none; + margin: 0px; + margin-top:5px; + margin-bottom:5px; + padding:0px; + width: 110px; + height: 22px; + position: relative; + background: url(images/icon-voting.png) top left repeat-x; +} + + .star-rating li{ + list-style-type:none; + padding:0px; + margin:0px; + /*\*/ + float: left; + /* */ +} + + .star-rating li a{ + display:block; + width:22px; + height: 22px; + text-decoration: none; + text-indent: -9000px; + z-index: 20; + position: absolute; + padding: 0px; +} + .star-rating li a:hover{ + background: url(images/icon-voting.png) left center; + z-index: 2; + left: 0px; +} + .star-rating a.star1{ + left: 0px; +} + .star-rating a.star1:hover{ + width:22px; +} + .star-rating a.stars2{ + left:22px; +} + .star-rating a.stars2:hover{ + width: 44px; +} + .star-rating a.stars3{ + left: 44px; +} + .star-rating a.stars3:hover{ + width: 66px; +} + .star-rating a.stars4{ + left: 66px; +} + .star-rating a.stars4:hover{ + width: 88px; +} + .star-rating a.stars5{ + left: 88px; +} + .star-rating a.stars5:hover{ + width: 110px; +} + .star-rating li.current-rating{ + background: url(images/icon-voting.png) left bottom; + position: absolute; + height: 22px; + /*width:77px;*/ + display: block; + text-indent: -9000px; + z-index: 1; +} + +/* Voting small */ +.star-rating-box-small { + border: 1px solid #e7e7e7; + padding: 1px; + margin: 0px; + background: #fff; +} + +.star-rating-small{ + list-style:none; + margin: 0px; + margin-top:5px; + margin-bottom:5px; + padding:0px; + width: 80px; + height: 16px; + position: relative; + background: url(images/icon-voting-small.png) top left repeat-x; +} + +.star-rating-small li{ + list-style-type:none; + padding:0px; + margin:0px; + /*\*/ + float: left; + /* */ +} + +.star-rating-small li a{ + display:block; + width:16px; + height: 16px; + text-decoration: none; + text-indent: -9000px; + z-index: 20; + position: absolute; + padding: 0px; +} +.star-rating-small li a:hover{ + background: url(images/icon-voting-small.png) left center; + z-index: 2; + left: 0px; +} +.star-rating-small a.star1{ + left: 0px; +} +.star-rating-small a.star1:hover{ + width:16px; +} +.star-rating-small a.stars2{ + left:16px; +} +.star-rating-small a.stars2:hover{ + width: 32px; +} +.star-rating-small a.stars3{ + left: 32px; +} +.star-rating-small a.stars3:hover{ + width: 48px; +} +.star-rating-small a.stars4{ + left: 48px; +} +.star-rating-small a.stars4:hover{ + width: 64px; +} +.star-rating-small a.stars5{ + left: 64px; +} +.star-rating-small a.stars5:hover{ + width: 80px; +} +.star-rating-small li.current-rating{ + background: url(images/icon-voting-small.png) left bottom; + position: absolute; + height: 16px; + /*width:77px;*/ + display: block; + text-indent: -9000px; + z-index: 1; +} + +.warning { + padding: 5px; + border: 1px solid #FF8E6B; + background: #FFDCD1; + color: #FF3F05; + margin: 10px 0px; +} + +.pdview { + padding: 0px 5px 10px 5px; + border: 1px solid #ccc; + background: #fff; + margin: 5px 0px; +} +.adminForm, +#adminForm { + margin: 0px 0px 0px 0px !important; + padding: 0px 0px 0px 0px !important; +} + +.ph-btn-toolbar-2 { + clear: right; + padding-top: 10px; +} +.ph-select-status { + padding-left: 5px; +} diff --git a/packages/phocadownload/media/com_phocadownload/css/administrator/phocadownloadoptions.css b/packages/phocadownload/media/com_phocadownload/css/administrator/phocadownloadoptions.css new file mode 100644 index 00000000..a82053e8 --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/css/administrator/phocadownloadoptions.css @@ -0,0 +1,41 @@ +label { + width: 20em; + +} + +hr { + border-bottom: 1px solid #cce6ff; + + display: block; + margin: 0; padding: 0; +} + +.ph-options-head { + background: #E5F3FF; + color: #0069CC; + border: 1px solid #B3DBFF; + + padding:15px 10px; + margin:5px 0; + display:block; + text-shadow: 0 1px 0 #ffffff; + margin-left: -180px; + border-radius: 0px; +} + +.ph-options-head-expert { + background: #F2dede; + color: #b94a48; + border: 1px solid #edd3d6; + padding:15px 10px; + margin:5px 0; + display:block; + text-shadow: 0 1px 0 #ffffff; + margin-left: -180px; +} + +.ph-options-head-expert div +.ph-options-head div{ + white-space: nowrap; + +} \ No newline at end of file diff --git a/packages/phocadownload/media/com_phocadownload/css/administrator/rating.css b/packages/phocadownload/media/com_phocadownload/css/administrator/rating.css new file mode 100644 index 00000000..7e3a9d52 --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/css/administrator/rating.css @@ -0,0 +1,268 @@ +/* Rating */ +/* Voting - style by http://www.jluvip.com/works/css/starvote/index2-1.html*/ +#phoca-dl-category-box ul.star-rating li, +#phoca-dl-category-box ul.star-rating-small li, +#phoca-dl-file-box ul.star-rating li, +#phoca-dl-file-box ul.star-rating-small li{ + background: none; + list-style-type:none; +} + +#phoca-dl-file-box .star-rating, +#phoca-dl-category-box .star-rating, +.star-rating{ + list-style:none; + margin: 0px; + margin-bottom:5px; + padding:0px; + width: 110px; + height: 22px; + position: relative; + background: url(../../images/icon-voting.png) top left repeat-x; +} + +#phoca-dl-file-box .star-rating li, +#phoca-dl-category-box .star-rating li, +.star-rating li{ + list-style-type:none; + padding:0px; + margin:0px; + /*\*/ + float: left; + /* */ +} + +#phoca-dl-file-box .star-rating li a, +#phoca-dl-category-box .star-rating li a, +.star-rating li a{ + display:block; + width:22px; + height: 22px; + text-decoration: none; + text-indent: -9000px; + z-index: 20; + position: absolute; + padding: 0px; +} + +#phoca-dl-file-box .star-rating li a:hover, +#phoca-dl-category-box .star-rating li a:hover, +.star-rating li a:hover{ + background: url(../../images/icon-voting.png) left center; + z-index: 2; + left: 0px; +} + +#phoca-dl-file-box .star-rating a.star1, +#phoca-dl-category-box .star-rating a.star1, +.star-rating a.star1{ + left: 0px; +} + +#phoca-dl-file-box .star-rating a.star1:hover, +#phoca-dl-category-box .star-rating a.star1:hover, +.star-rating a.star1:hover{ + width:22px; +} + +#phoca-dl-file-box .star-rating a.stars2, +#phoca-dl-category-box .star-rating a.stars2, +.star-rating a.stars2{ + left:22px; +} + +#phoca-dl-file-box .star-rating a.stars2:hover, +#phoca-dl-category-box .star-rating a.stars2:hover, +.star-rating a.stars2:hover{ + width: 44px; +} + +#phoca-dl-file-box .star-rating a.stars3, +#phoca-dl-category-box .star-rating a.stars3, +.star-rating a.stars3{ + left: 44px; +} + +#phoca-dl-file-box .star-rating a.stars3:hover, +#phoca-dl-category-box .star-rating a.stars3:hover, +.star-rating a.stars3:hover{ + width: 66px; +} + +#phoca-dl-file-box .star-rating a.stars4, +#phoca-dl-category-box .star-rating a.stars4, +.star-rating a.stars4{ + left: 66px; +} + +#phoca-dl-file-box .star-rating a.stars4:hover, +#phoca-dl-category-box .star-rating a.stars4:hover, +.star-rating a.stars4:hover{ + width: 88px; +} + +#phoca-dl-file-box .star-rating a.stars5, +#phoca-dl-category-box .star-rating a.stars5, +.star-rating a.stars5{ + left: 88px; +} + +#phoca-dl-file-box .star-rating a.stars5:hover, +#phoca-dl-category-box .star-rating a.stars5:hover, +.star-rating a.stars5:hover{ + width: 110px; +} + +#phoca-dl-file-box .star-rating li.current-rating, +#phoca-dl-category-box .star-rating li.current-rating, +.star-rating li.current-rating{ + background: url(../../images/icon-voting.png) left bottom; + position: absolute; + height: 22px; + /*width:77px;*/ + display: block; + text-indent: -9000px; + z-index: 1; +} + + +/* Voting small */ +#phoca-dl-file-box .star-rating-small, +#phoca-dl-category-box .star-rating-small, +.star-rating-small{ + list-style:none; + margin: 0px; + margin-bottom:5px; + padding:0px; + width: 90px; + height: 18px; + position: relative; + background: url(../../images/icon-voting-small.png) top left repeat-x; +} + +#phoca-dl-file-box .star-rating-small li, +#phoca-dl-category-box .star-rating-small li, +.star-rating-small li{ + list-style-type:none; + padding:0px; + margin:0px; + /*\*/ + float: left; + /* */ +} + +#phoca-dl-file-box .star-rating-small li a, +#phoca-dl-category-box .star-rating-small li a, +.star-rating-small li a{ + display:block; + width:18px; + height: 18px; + text-decoration: none; + text-indent: -9000px; + z-index: 20; + position: absolute; + padding: 0px; +} + +#phoca-dl-file-box .star-rating-small li a:hover, +#phoca-dl-category-box .star-rating-small li a:hover, +.star-rating-small li a:hover{ + background: url(../../images/icon-voting-small.png) left center; + z-index: 2; + left: 0px; +} + +#phoca-dl-file-box .star-rating-small a.star1, +#phoca-dl-category-box .star-rating-small a.star1, +.star-rating-small a.star1{ + left: 0px; +} + +#phoca-dl-file-box .star-rating-small a.star1:hover, +#phoca-dl-category-box .star-rating-small a.star1:hover, +.star-rating-small a.star1:hover{ + width:18px; +} + +#phoca-dl-file-box .star-rating-small a.stars2, +#phoca-dl-category-box .star-rating-small a.stars2, +.star-rating-small a.stars2{ + left:18px; +} + +#phoca-dl-file-box .star-rating-small a.stars2:hover, +#phoca-dl-category-box .star-rating-small a.stars2:hover, +.star-rating-small a.stars2:hover{ + width: 36px; +} + +#phoca-dl-file-box .star-rating-small a.stars3, +#phoca-dl-category-box .star-rating-small a.stars3, +.star-rating-small a.stars3{ + left: 36px; +} + +#phoca-dl-file-box .star-rating-small a.stars3:hover, +#phoca-dl-category-box .star-rating-small a.stars3:hover, +.star-rating-small a.stars3:hover{ + width: 54px; +} + +#phoca-dl-file-box .star-rating-small a.stars4, +#phoca-dl-category-box .star-rating-small a.stars4, +.star-rating-small a.stars4{ + left: 54px; +} + +#phoca-dl-file-box .star-rating-small a.stars4:hover, +#phoca-dl-category-box .star-rating-small a.stars4:hover, +.star-rating-small a.stars4:hover{ + width: 72px; +} + +#phoca-dl-file-box .star-rating-small a.stars5, +#phoca-dl-category-box .star-rating-small a.stars5, +.star-rating-small a.stars5{ + left: 72px; +} + +#phoca-dl-file-box .star-rating-small a.stars5:hover, +#phoca-dl-category-box .star-rating-small a.stars5:hover, +.star-rating-small a.stars5:hover{ + width: 90px; +} + +#phoca-dl-file-box .star-rating-small li.current-rating, +#phoca-dl-category-box .star-rating-small li.current-rating, +.star-rating-small li.current-rating{ + background: url(../../images/icon-voting-small.png) left bottom; + position: absolute; + height: 18px; + /*width:77px;*/ + display: block; + text-indent: -9000px; + z-index: 1; +} + + + +.pd-small, +.pd-result, +#phoca-dl-file-box .pd-small, +#phoca-dl-file-box .pd-result, +#phoca-dl-category-box .pd-small, +#phoca-dl-category-box .pd-result { + font-size: x-small; +} + + +#phoca-dl-file-box ul.star-rating-small, +#phoca-dl-category-box ul.star-rating-small, +#phoca-dl-file-box ul.star-rating-small li, +#phoca-dl-category-box ul.star-rating-small li, +#phoca-dl-file-box ul.star-rating, +#phoca-dl-category-box ul.star-rating, +#phoca-dl-file-box ul.star-rating li, +#phoca-dl-category-box ul.star-rating li { + list-style: none !important; +} \ No newline at end of file diff --git a/packages/phocadownload/media/com_phocadownload/css/custom/default.css b/packages/phocadownload/media/com_phocadownload/css/custom/default.css new file mode 100644 index 00000000..dc1f6a5e --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/css/custom/default.css @@ -0,0 +1,5 @@ +/* +Phoca Download +http://www.phoca.cz/ +http://www.phoca.cz/phocadownload +*/ \ No newline at end of file diff --git a/packages/phocadownload/media/com_phocadownload/css/custom/index.html b/packages/phocadownload/media/com_phocadownload/css/custom/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/css/custom/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/media/com_phocadownload/css/index.html b/packages/phocadownload/media/com_phocadownload/css/index.html new file mode 100644 index 00000000..ea9e94c1 --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/css/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/media/com_phocadownload/css/main/bootstrap.min.css b/packages/phocadownload/media/com_phocadownload/css/main/bootstrap.min.css new file mode 100644 index 00000000..a9cfd5af --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/css/main/bootstrap.min.css @@ -0,0 +1,9 @@ +/*! + * Bootstrap v2.3.2 + * + * Copyright 2012 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world @twitter by @mdo and @fat. + */.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;line-height:0;content:""}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{width:auto\9;height:auto;max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333;background-color:#fff}a{color:#08c;text-decoration:none}a:hover,a:focus{color:#005580;text-decoration:underline}.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1)}.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px}.row{margin-left:-20px;*zoom:1}.row:before,.row:after{display:table;line-height:0;content:""}.row:after{clear:both}[class*="span"]{float:left;min-height:1px;margin-left:20px}.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.span12{width:940px}.span11{width:860px}.span10{width:780px}.span9{width:700px}.span8{width:620px}.span7{width:540px}.span6{width:460px}.span5{width:380px}.span4{width:300px}.span3{width:220px}.span2{width:140px}.span1{width:60px}.offset12{margin-left:980px}.offset11{margin-left:900px}.offset10{margin-left:820px}.offset9{margin-left:740px}.offset8{margin-left:660px}.offset7{margin-left:580px}.offset6{margin-left:500px}.offset5{margin-left:420px}.offset4{margin-left:340px}.offset3{margin-left:260px}.offset2{margin-left:180px}.offset1{margin-left:100px}.row-fluid{width:100%;*zoom:1}.row-fluid:before,.row-fluid:after{display:table;line-height:0;content:""}.row-fluid:after{clear:both}.row-fluid [class*="span"]{display:block;float:left;width:100%;min-height:30px;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.row-fluid [class*="span"]:first-child{margin-left:0}.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%}.row-fluid .span12{width:100%;*width:99.94680851063829%}.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%}.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%}.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%}.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%}.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%}.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%}.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%}.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%}.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%}.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%}.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%}.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%}.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%}.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%}.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%}.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%}.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%}.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%}.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%}.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%}.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%}.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%}.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%}.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%}.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%}.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%}.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%}.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%}.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%}.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%}.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%}.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%}.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%}.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%}.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%}[class*="span"].hide,.row-fluid [class*="span"].hide{display:none}[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right}.container{margin-right:auto;margin-left:auto;*zoom:1}.container:before,.container:after{display:table;line-height:0;content:""}.container:after{clear:both}.container-fluid{padding-right:20px;padding-left:20px;*zoom:1}.container-fluid:before,.container-fluid:after{display:table;line-height:0;content:""}.container-fluid:after{clear:both}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px}small{font-size:85%}strong{font-weight:bold}em{font-style:italic}cite{font-style:normal}.muted{color:#999}a.muted:hover,a.muted:focus{color:#808080}.text-warning{color:#c09853}a.text-warning:hover,a.text-warning:focus{color:#a47e3c}.text-error{color:#b94a48}a.text-error:hover,a.text-error:focus{color:#953b39}.text-info{color:#3a87ad}a.text-info:hover,a.text-info:focus{color:#2d6987}.text-success{color:#468847}a.text-success:hover,a.text-success:focus{color:#356635}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{line-height:40px}h1{font-size:38.5px}h2{font-size:31.5px}h3{font-size:24.5px}h4{font-size:17.5px}h5{font-size:14px}h6{font-size:11.9px}h1 small{font-size:24.5px}h2 small{font-size:17.5px}h3 small{font-size:14px}h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eee}ul,ol{padding:0;margin:0 0 10px 25px}ul ul,ul ol,ol ol,ol ul{margin-bottom:0}li{line-height:20px}ul.unstyled,ol.unstyled{margin-left:0;list-style:none}ul.inline,ol.inline{margin-left:0;list-style:none}ul.inline>li,ol.inline>li{display:inline-block;*display:inline;padding-right:5px;padding-left:5px;*zoom:1}dl{margin-bottom:20px}dt,dd{line-height:20px}dt{font-weight:bold}dd{margin-left:10px}.dl-horizontal{*zoom:1}.dl-horizontal:before,.dl-horizontal:after{display:table;line-height:0;content:""}.dl-horizontal:after{clear:both}.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}hr{margin:20px 0;border:0;border-top:1px solid #eee;border-bottom:1px solid #fff}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{margin-bottom:0;font-size:17.5px;font-weight:300;line-height:1.25}blockquote small{display:block;line-height:20px;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:20px}code,pre{padding:0 3px 2px;font-family:Monaco,Menlo,Consolas,"Courier New",monospace;font-size:12px;color:#333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}code{padding:2px 4px;color:#d14;white-space:nowrap;background-color:#f7f7f9;border:1px solid #e1e1e8}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:20px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;color:inherit;white-space:pre;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}form{margin:0 0 20px}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:40px;color:#333;border:0;border-bottom:1px solid #e5e5e5}legend small{font-size:15px;color:#999}label,input,button,select,textarea{font-size:14px;font-weight:normal;line-height:20px}input,button,select,textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}label{display:block;margin-bottom:5px}select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{display:inline-block;height:20px;padding:4px 6px;margin-bottom:10px;font-size:14px;line-height:20px;color:#555;vertical-align:middle;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}input,textarea,.uneditable-input{width:206px}textarea{height:auto}textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"],input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"],input[type="search"],input[type="tel"],input[type="color"],.uneditable-input{background-color:#fff;border:1px solid #ccc;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus,.uneditable-input:focus{border-color:rgba(82,168,236,0.8);outline:0;outline:thin dotted \9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(82,168,236,0.6)}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;*margin-top:0;line-height:normal}input[type="file"],input[type="image"],input[type="submit"],input[type="reset"],input[type="button"],input[type="radio"],input[type="checkbox"]{width:auto}select,input[type="file"]{height:30px;*margin-top:4px;line-height:30px}select{width:220px;background-color:#fff;border:1px solid #ccc}select[multiple],select[size]{height:auto}select:focus,input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.uneditable-input,.uneditable-textarea{color:#999;cursor:not-allowed;background-color:#fcfcfc;border-color:#ccc;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.025);box-shadow:inset 0 1px 2px rgba(0,0,0,0.025)}.uneditable-input{overflow:hidden;white-space:nowrap}.uneditable-textarea{width:auto;height:auto}input:-moz-placeholder,textarea:-moz-placeholder{color:#999}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#999}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#999}.radio,.checkbox{min-height:20px;padding-left:20px}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-20px}.controls>.radio:first-child,.controls>.checkbox:first-child{padding-top:5px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}.input-mini{width:60px}.input-small{width:90px}.input-medium{width:150px}.input-large{width:210px}.input-xlarge{width:270px}.input-xxlarge{width:530px}input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"]{float:none;margin-left:0}.input-append input[class*="span"],.input-append .uneditable-input[class*="span"],.input-prepend input[class*="span"],.input-prepend .uneditable-input[class*="span"],.row-fluid input[class*="span"],.row-fluid select[class*="span"],.row-fluid textarea[class*="span"],.row-fluid .uneditable-input[class*="span"],.row-fluid .input-prepend [class*="span"],.row-fluid .input-append [class*="span"]{display:inline-block}input,textarea,.uneditable-input{margin-left:0}.controls-row [class*="span"]+[class*="span"]{margin-left:20px}input.span12,textarea.span12,.uneditable-input.span12{width:926px}input.span11,textarea.span11,.uneditable-input.span11{width:846px}input.span10,textarea.span10,.uneditable-input.span10{width:766px}input.span9,textarea.span9,.uneditable-input.span9{width:686px}input.span8,textarea.span8,.uneditable-input.span8{width:606px}input.span7,textarea.span7,.uneditable-input.span7{width:526px}input.span6,textarea.span6,.uneditable-input.span6{width:446px}input.span5,textarea.span5,.uneditable-input.span5{width:366px}input.span4,textarea.span4,.uneditable-input.span4{width:286px}input.span3,textarea.span3,.uneditable-input.span3{width:206px}input.span2,textarea.span2,.uneditable-input.span2{width:126px}input.span1,textarea.span1,.uneditable-input.span1{width:46px}.controls-row{*zoom:1}.controls-row:before,.controls-row:after{display:table;line-height:0;content:""}.controls-row:after{clear:both}.controls-row [class*="span"],.row-fluid .controls-row [class*="span"]{float:left}.controls-row .checkbox[class*="span"],.controls-row .radio[class*="span"]{padding-top:5px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#eee}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"][readonly],input[type="checkbox"][readonly]{background-color:transparent}.control-group.warning .control-label,.control-group.warning .help-block,.control-group.warning .help-inline{color:#c09853}.control-group.warning .checkbox,.control-group.warning .radio,.control-group.warning input,.control-group.warning select,.control-group.warning textarea{color:#c09853}.control-group.warning input,.control-group.warning select,.control-group.warning textarea{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.warning input:focus,.control-group.warning select:focus,.control-group.warning textarea:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.control-group.warning .input-prepend .add-on,.control-group.warning .input-append .add-on{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.control-group.error .control-label,.control-group.error .help-block,.control-group.error .help-inline{color:#b94a48}.control-group.error .checkbox,.control-group.error .radio,.control-group.error input,.control-group.error select,.control-group.error textarea{color:#b94a48}.control-group.error input,.control-group.error select,.control-group.error textarea{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.error input:focus,.control-group.error select:focus,.control-group.error textarea:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.control-group.error .input-prepend .add-on,.control-group.error .input-append .add-on{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.control-group.success .control-label,.control-group.success .help-block,.control-group.success .help-inline{color:#468847}.control-group.success .checkbox,.control-group.success .radio,.control-group.success input,.control-group.success select,.control-group.success textarea{color:#468847}.control-group.success input,.control-group.success select,.control-group.success textarea{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.success input:focus,.control-group.success select:focus,.control-group.success textarea:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.control-group.success .input-prepend .add-on,.control-group.success .input-append .add-on{color:#468847;background-color:#dff0d8;border-color:#468847}.control-group.info .control-label,.control-group.info .help-block,.control-group.info .help-inline{color:#3a87ad}.control-group.info .checkbox,.control-group.info .radio,.control-group.info input,.control-group.info select,.control-group.info textarea{color:#3a87ad}.control-group.info input,.control-group.info select,.control-group.info textarea{border-color:#3a87ad;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.control-group.info input:focus,.control-group.info select:focus,.control-group.info textarea:focus{border-color:#2d6987;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7ab5d3}.control-group.info .input-prepend .add-on,.control-group.info .input-append .add-on{color:#3a87ad;background-color:#d9edf7;border-color:#3a87ad}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#b94a48;border-color:#ee5f5b}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#e9322d;-webkit-box-shadow:0 0 6px #f8b9b7;-moz-box-shadow:0 0 6px #f8b9b7;box-shadow:0 0 6px #f8b9b7}.form-actions{padding:19px 20px 20px;margin-top:20px;margin-bottom:20px;background-color:#f5f5f5;border-top:1px solid #e5e5e5;*zoom:1}.form-actions:before,.form-actions:after{display:table;line-height:0;content:""}.form-actions:after{clear:both}.help-block,.help-inline{color:#595959}.help-block{display:block;margin-bottom:10px}.help-inline{display:inline-block;*display:inline;padding-left:5px;vertical-align:middle;*zoom:1}.input-append,.input-prepend{display:inline-block;margin-bottom:10px;font-size:0;white-space:nowrap;vertical-align:middle}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input,.input-append .dropdown-menu,.input-prepend .dropdown-menu,.input-append .popover,.input-prepend .popover{font-size:14px}.input-append input,.input-prepend input,.input-append select,.input-prepend select,.input-append .uneditable-input,.input-prepend .uneditable-input{position:relative;margin-bottom:0;*margin-left:0;vertical-align:top;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append input:focus,.input-prepend input:focus,.input-append select:focus,.input-prepend select:focus,.input-append .uneditable-input:focus,.input-prepend .uneditable-input:focus{z-index:2}.input-append .add-on,.input-prepend .add-on{display:inline-block;width:auto;height:20px;min-width:16px;padding:4px 5px;font-size:14px;font-weight:normal;line-height:20px;text-align:center;text-shadow:0 1px 0 #fff;background-color:#eee;border:1px solid #ccc}.input-append .add-on,.input-prepend .add-on,.input-append .btn,.input-prepend .btn,.input-append .btn-group>.dropdown-toggle,.input-prepend .btn-group>.dropdown-toggle{vertical-align:top;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-append .active,.input-prepend .active{background-color:#a9dba9;border-color:#46a546}.input-prepend .add-on,.input-prepend .btn{margin-right:-1px}.input-prepend .add-on:first-child,.input-prepend .btn:first-child{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input,.input-append select,.input-append .uneditable-input{-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-append input+.btn-group .btn:last-child,.input-append select+.btn-group .btn:last-child,.input-append .uneditable-input+.btn-group .btn:last-child{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-append .add-on,.input-append .btn,.input-append .btn-group{margin-left:-1px}.input-append .add-on:last-child,.input-append .btn:last-child,.input-append .btn-group:last-child>.dropdown-toggle{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append input,.input-prepend.input-append select,.input-prepend.input-append .uneditable-input{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.input-prepend.input-append input+.btn-group .btn,.input-prepend.input-append select+.btn-group .btn,.input-prepend.input-append .uneditable-input+.btn-group .btn{-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .add-on:first-child,.input-prepend.input-append .btn:first-child{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.input-prepend.input-append .add-on:last-child,.input-prepend.input-append .btn:last-child{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.input-prepend.input-append .btn-group:first-child{margin-left:0}input.search-query{padding-right:14px;padding-right:4px \9;padding-left:14px;padding-left:4px \9;margin-bottom:0;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.form-search .input-append .search-query,.form-search .input-prepend .search-query{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.form-search .input-append .search-query{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search .input-append .btn{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .search-query{-webkit-border-radius:0 14px 14px 0;-moz-border-radius:0 14px 14px 0;border-radius:0 14px 14px 0}.form-search .input-prepend .btn{-webkit-border-radius:14px 0 0 14px;-moz-border-radius:14px 0 0 14px;border-radius:14px 0 0 14px}.form-search input,.form-inline input,.form-horizontal input,.form-search textarea,.form-inline textarea,.form-horizontal textarea,.form-search select,.form-inline select,.form-horizontal select,.form-search .help-inline,.form-inline .help-inline,.form-horizontal .help-inline,.form-search .uneditable-input,.form-inline .uneditable-input,.form-horizontal .uneditable-input,.form-search .input-prepend,.form-inline .input-prepend,.form-horizontal .input-prepend,.form-search .input-append,.form-inline .input-append,.form-horizontal .input-append{display:inline-block;*display:inline;margin-bottom:0;vertical-align:middle;*zoom:1}.form-search .hide,.form-inline .hide,.form-horizontal .hide{display:none}.form-search label,.form-inline label,.form-search .btn-group,.form-inline .btn-group{display:inline-block}.form-search .input-append,.form-inline .input-append,.form-search .input-prepend,.form-inline .input-prepend{margin-bottom:0}.form-search .radio,.form-search .checkbox,.form-inline .radio,.form-inline .checkbox{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"],.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-right:3px;margin-left:0}.control-group{margin-bottom:10px}legend+.control-group{margin-top:20px;-webkit-margin-top-collapse:separate}.form-horizontal .control-group{margin-bottom:20px;*zoom:1}.form-horizontal .control-group:before,.form-horizontal .control-group:after{display:table;line-height:0;content:""}.form-horizontal .control-group:after{clear:both}.form-horizontal .control-label{float:left;width:160px;padding-top:5px;text-align:right}.form-horizontal .controls{*display:inline-block;*padding-left:20px;margin-left:180px;*margin-left:0}.form-horizontal .controls:first-child{*padding-left:180px}.form-horizontal .help-block{margin-bottom:0}.form-horizontal input+.help-block,.form-horizontal select+.help-block,.form-horizontal textarea+.help-block,.form-horizontal .uneditable-input+.help-block,.form-horizontal .input-prepend+.help-block,.form-horizontal .input-append+.help-block{margin-top:10px}.form-horizontal .form-actions{padding-left:180px}table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0}.table{width:100%;margin-bottom:20px}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #ddd}.table th{font-weight:bold}.table thead th{vertical-align:bottom}.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed th,.table-condensed td{padding:4px 5px}.table-bordered{border:1px solid #ddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.table-bordered th,.table-bordered td{border-left:1px solid #ddd}.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0}.table-bordered thead:first-child tr:first-child>th:first-child,.table-bordered tbody:first-child tr:first-child>td:first-child,.table-bordered tbody:first-child tr:first-child>th:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered thead:first-child tr:first-child>th:last-child,.table-bordered tbody:first-child tr:first-child>td:last-child,.table-bordered tbody:first-child tr:first-child>th:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-bordered thead:last-child tr:last-child>th:first-child,.table-bordered tbody:last-child tr:last-child>td:first-child,.table-bordered tbody:last-child tr:last-child>th:first-child,.table-bordered tfoot:last-child tr:last-child>td:first-child,.table-bordered tfoot:last-child tr:last-child>th:first-child{-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px}.table-bordered thead:last-child tr:last-child>th:last-child,.table-bordered tbody:last-child tr:last-child>td:last-child,.table-bordered tbody:last-child tr:last-child>th:last-child,.table-bordered tfoot:last-child tr:last-child>td:last-child,.table-bordered tfoot:last-child tr:last-child>th:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px}.table-bordered tfoot+tbody:last-child tr:last-child td:first-child{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-moz-border-radius-bottomleft:0}.table-bordered tfoot+tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-moz-border-radius-bottomright:0}.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px}.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px}.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover tbody tr:hover>td,.table-hover tbody tr:hover>th{background-color:#f5f5f5}table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0}.table td.span1,.table th.span1{float:none;width:44px;margin-left:0}.table td.span2,.table th.span2{float:none;width:124px;margin-left:0}.table td.span3,.table th.span3{float:none;width:204px;margin-left:0}.table td.span4,.table th.span4{float:none;width:284px;margin-left:0}.table td.span5,.table th.span5{float:none;width:364px;margin-left:0}.table td.span6,.table th.span6{float:none;width:444px;margin-left:0}.table td.span7,.table th.span7{float:none;width:524px;margin-left:0}.table td.span8,.table th.span8{float:none;width:604px;margin-left:0}.table td.span9,.table th.span9{float:none;width:684px;margin-left:0}.table td.span10,.table th.span10{float:none;width:764px;margin-left:0}.table td.span11,.table th.span11{float:none;width:844px;margin-left:0}.table td.span12,.table th.span12{float:none;width:924px;margin-left:0}.table tbody tr.success>td{background-color:#dff0d8}.table tbody tr.error>td{background-color:#f2dede}.table tbody tr.warning>td{background-color:#fcf8e3}.table tbody tr.info>td{background-color:#d9edf7}.table-hover tbody tr.success:hover>td{background-color:#d0e9c6}.table-hover tbody tr.error:hover>td{background-color:#ebcccc}.table-hover tbody tr.warning:hover>td{background-color:#faf2cc}.table-hover tbody tr.info:hover>td{background-color:#c4e3f3}[class^="icon-"],[class*=" icon-"]{display:inline-block;width:14px;height:14px;margin-top:1px;*margin-right:.3em;line-height:14px;vertical-align:text-top;background-image:url("../../images/bootstrap/glyphicons-halflings.png");background-position:14px 14px;background-repeat:no-repeat}.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:focus>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>li>a:focus>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:focus>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"],.dropdown-submenu:focus>a>[class*=" icon-"]{background-image:url("../../images/bootstrap/glyphicons-halflings-white.png")}.icon-glass{background-position:0 0}.icon-music{background-position:-24px 0}.icon-search{background-position:-48px 0}.icon-envelope{background-position:-72px 0}.icon-heart{background-position:-96px 0}.icon-star{background-position:-120px 0}.icon-star-empty{background-position:-144px 0}.icon-user{background-position:-168px 0}.icon-film{background-position:-192px 0}.icon-th-large{background-position:-216px 0}.icon-th{background-position:-240px 0}.icon-th-list{background-position:-264px 0}.icon-ok{background-position:-288px 0}.icon-remove{background-position:-312px 0}.icon-zoom-in{background-position:-336px 0}.icon-zoom-out{background-position:-360px 0}.icon-off{background-position:-384px 0}.icon-signal{background-position:-408px 0}.icon-cog{background-position:-432px 0}.icon-trash{background-position:-456px 0}.icon-home{background-position:0 -24px}.icon-file{background-position:-24px -24px}.icon-time{background-position:-48px -24px}.icon-road{background-position:-72px -24px}.icon-download-alt{background-position:-96px -24px}.icon-download{background-position:-120px -24px}.icon-upload{background-position:-144px -24px}.icon-inbox{background-position:-168px -24px}.icon-play-circle{background-position:-192px -24px}.icon-repeat{background-position:-216px -24px}.icon-refresh{background-position:-240px -24px}.icon-list-alt{background-position:-264px -24px}.icon-lock{background-position:-287px -24px}.icon-flag{background-position:-312px -24px}.icon-headphones{background-position:-336px -24px}.icon-volume-off{background-position:-360px -24px}.icon-volume-down{background-position:-384px -24px}.icon-volume-up{background-position:-408px -24px}.icon-qrcode{background-position:-432px -24px}.icon-barcode{background-position:-456px -24px}.icon-tag{background-position:0 -48px}.icon-tags{background-position:-25px -48px}.icon-book{background-position:-48px -48px}.icon-bookmark{background-position:-72px -48px}.icon-print{background-position:-96px -48px}.icon-camera{background-position:-120px -48px}.icon-font{background-position:-144px -48px}.icon-bold{background-position:-167px -48px}.icon-italic{background-position:-192px -48px}.icon-text-height{background-position:-216px -48px}.icon-text-width{background-position:-240px -48px}.icon-align-left{background-position:-264px -48px}.icon-align-center{background-position:-288px -48px}.icon-align-right{background-position:-312px -48px}.icon-align-justify{background-position:-336px -48px}.icon-list{background-position:-360px -48px}.icon-indent-left{background-position:-384px -48px}.icon-indent-right{background-position:-408px -48px}.icon-facetime-video{background-position:-432px -48px}.icon-picture{background-position:-456px -48px}.icon-pencil{background-position:0 -72px}.icon-map-marker{background-position:-24px -72px}.icon-adjust{background-position:-48px -72px}.icon-tint{background-position:-72px -72px}.icon-edit{background-position:-96px -72px}.icon-share{background-position:-120px -72px}.icon-check{background-position:-144px -72px}.icon-move{background-position:-168px -72px}.icon-step-backward{background-position:-192px -72px}.icon-fast-backward{background-position:-216px -72px}.icon-backward{background-position:-240px -72px}.icon-play{background-position:-264px -72px}.icon-pause{background-position:-288px -72px}.icon-stop{background-position:-312px -72px}.icon-forward{background-position:-336px -72px}.icon-fast-forward{background-position:-360px -72px}.icon-step-forward{background-position:-384px -72px}.icon-eject{background-position:-408px -72px}.icon-chevron-left{background-position:-432px -72px}.icon-chevron-right{background-position:-456px -72px}.icon-plus-sign{background-position:0 -96px}.icon-minus-sign{background-position:-24px -96px}.icon-remove-sign{background-position:-48px -96px}.icon-ok-sign{background-position:-72px -96px}.icon-question-sign{background-position:-96px -96px}.icon-info-sign{background-position:-120px -96px}.icon-screenshot{background-position:-144px -96px}.icon-remove-circle{background-position:-168px -96px}.icon-ok-circle{background-position:-192px -96px}.icon-ban-circle{background-position:-216px -96px}.icon-arrow-left{background-position:-240px -96px}.icon-arrow-right{background-position:-264px -96px}.icon-arrow-up{background-position:-289px -96px}.icon-arrow-down{background-position:-312px -96px}.icon-share-alt{background-position:-336px -96px}.icon-resize-full{background-position:-360px -96px}.icon-resize-small{background-position:-384px -96px}.icon-plus{background-position:-408px -96px}.icon-minus{background-position:-433px -96px}.icon-asterisk{background-position:-456px -96px}.icon-exclamation-sign{background-position:0 -120px}.icon-gift{background-position:-24px -120px}.icon-leaf{background-position:-48px -120px}.icon-fire{background-position:-72px -120px}.icon-eye-open{background-position:-96px -120px}.icon-eye-close{background-position:-120px -120px}.icon-warning-sign{background-position:-144px -120px}.icon-plane{background-position:-168px -120px}.icon-calendar{background-position:-192px -120px}.icon-random{width:16px;background-position:-216px -120px}.icon-comment{background-position:-240px -120px}.icon-magnet{background-position:-264px -120px}.icon-chevron-up{background-position:-288px -120px}.icon-chevron-down{background-position:-313px -119px}.icon-retweet{background-position:-336px -120px}.icon-shopping-cart{background-position:-360px -120px}.icon-folder-close{width:16px;background-position:-384px -120px}.icon-folder-open{width:16px;background-position:-408px -120px}.icon-resize-vertical{background-position:-432px -119px}.icon-resize-horizontal{background-position:-456px -118px}.icon-hdd{background-position:0 -144px}.icon-bullhorn{background-position:-24px -144px}.icon-bell{background-position:-48px -144px}.icon-certificate{background-position:-72px -144px}.icon-thumbs-up{background-position:-96px -144px}.icon-thumbs-down{background-position:-120px -144px}.icon-hand-right{background-position:-144px -144px}.icon-hand-left{background-position:-168px -144px}.icon-hand-up{background-position:-192px -144px}.icon-hand-down{background-position:-216px -144px}.icon-circle-arrow-right{background-position:-240px -144px}.icon-circle-arrow-left{background-position:-264px -144px}.icon-circle-arrow-up{background-position:-288px -144px}.icon-circle-arrow-down{background-position:-312px -144px}.icon-globe{background-position:-336px -144px}.icon-wrench{background-position:-360px -144px}.icon-tasks{background-position:-384px -144px}.icon-filter{background-position:-408px -144px}.icon-briefcase{background-position:-432px -144px}.icon-fullscreen{background-position:-456px -144px}.dropup,.dropdown{position:relative}.dropdown-toggle{*margin-bottom:-3px}.dropdown-toggle:active,.open .dropdown-toggle{outline:0}.caret{display:inline-block;width:0;height:0;vertical-align:top;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.dropdown .caret{margin-top:8px;margin-left:2px}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);*border-right-width:2px;*border-bottom-width:2px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus,.dropdown-submenu:hover>a,.dropdown-submenu:focus>a{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;outline:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:default;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open{*z-index:1000}.open>.dropdown-menu{display:block}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;-webkit-border-radius:0 6px 6px 6px;-moz-border-radius:0 6px 6px 6px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropup .dropdown-submenu>.dropdown-menu{top:auto;bottom:0;margin-top:0;margin-bottom:-2px;-webkit-border-radius:5px 5px 5px 0;-moz-border-radius:5px 5px 5px 0;border-radius:5px 5px 5px 0}.dropdown-submenu>a:after{display:block;float:right;width:0;height:0;margin-top:5px;margin-right:-10px;border-color:transparent;border-left-color:#ccc;border-style:solid;border-width:5px 0 5px 5px;content:" "}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.dropdown .dropdown-menu .nav-header{padding-right:20px;padding-left:20px}.typeahead{z-index:1051;margin-top:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-large{padding:24px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.well-small{padding:9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fade{opacity:0;-webkit-transition:opacity .15s linear;-moz-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-moz-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.collapse.in{height:auto}.close{float:right;font-size:20px;font-weight:bold;line-height:20px;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.4;filter:alpha(opacity=40)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.btn{display:inline-block;*display:inline;padding:4px 12px;margin-bottom:0;*margin-left:.3em;font-size:14px;line-height:20px;color:#333;text-align:center;text-shadow:0 1px 1px rgba(255,255,255,0.75);vertical-align:middle;cursor:pointer;background-color:#f5f5f5;*background-color:#e6e6e6;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border:1px solid #ccc;*border:0;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);border-bottom-color:#b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);*zoom:1;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn:hover,.btn:focus,.btn:active,.btn.active,.btn.disabled,.btn[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.btn:active,.btn.active{background-color:#ccc \9}.btn:first-child{*margin-left:0}.btn:hover,.btn:focus{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn.disabled,.btn[disabled]{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-large{padding:11px 19px;font-size:17.5px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.btn-large [class^="icon-"],.btn-large [class*=" icon-"]{margin-top:4px}.btn-small{padding:2px 10px;font-size:11.9px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-small [class^="icon-"],.btn-small [class*=" icon-"]{margin-top:0}.btn-mini [class^="icon-"],.btn-mini [class*=" icon-"]{margin-top:-1px}.btn-mini{padding:0 6px;font-size:10.5px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.btn-primary.active,.btn-warning.active,.btn-danger.active,.btn-success.active,.btn-info.active,.btn-inverse.active{color:rgba(255,255,255,0.75)}.btn-primary{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#006dcc;*background-color:#04c;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.btn-primary.disabled,.btn-primary[disabled]{color:#fff;background-color:#04c;*background-color:#003bb3}.btn-primary:active,.btn-primary.active{background-color:#039 \9}.btn-warning{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#faa732;*background-color:#f89406;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;border-color:#f89406 #f89406 #ad6704;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.btn-warning.disabled,.btn-warning[disabled]{color:#fff;background-color:#f89406;*background-color:#df8505}.btn-warning:active,.btn-warning.active{background-color:#c67605 \9}.btn-danger{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#da4f49;*background-color:#bd362f;background-image:-moz-linear-gradient(top,#ee5f5b,#bd362f);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#bd362f));background-image:-webkit-linear-gradient(top,#ee5f5b,#bd362f);background-image:-o-linear-gradient(top,#ee5f5b,#bd362f);background-image:linear-gradient(to bottom,#ee5f5b,#bd362f);background-repeat:repeat-x;border-color:#bd362f #bd362f #802420;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffbd362f',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.btn-danger.disabled,.btn-danger[disabled]{color:#fff;background-color:#bd362f;*background-color:#a9302a}.btn-danger:active,.btn-danger.active{background-color:#942a25 \9}.btn-success{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#5bb75b;*background-color:#51a351;background-image:-moz-linear-gradient(top,#62c462,#51a351);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#51a351));background-image:-webkit-linear-gradient(top,#62c462,#51a351);background-image:-o-linear-gradient(top,#62c462,#51a351);background-image:linear-gradient(to bottom,#62c462,#51a351);background-repeat:repeat-x;border-color:#51a351 #51a351 #387038;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff51a351',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.btn-success.disabled,.btn-success[disabled]{color:#fff;background-color:#51a351;*background-color:#499249}.btn-success:active,.btn-success.active{background-color:#408140 \9}.btn-info{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#49afcd;*background-color:#2f96b4;background-image:-moz-linear-gradient(top,#5bc0de,#2f96b4);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#2f96b4));background-image:-webkit-linear-gradient(top,#5bc0de,#2f96b4);background-image:-o-linear-gradient(top,#5bc0de,#2f96b4);background-image:linear-gradient(to bottom,#5bc0de,#2f96b4);background-repeat:repeat-x;border-color:#2f96b4 #2f96b4 #1f6377;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff2f96b4',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.btn-info.disabled,.btn-info[disabled]{color:#fff;background-color:#2f96b4;*background-color:#2a85a0}.btn-info:active,.btn-info.active{background-color:#24748c \9}.btn-inverse{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#363636;*background-color:#222;background-image:-moz-linear-gradient(top,#444,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#444),to(#222));background-image:-webkit-linear-gradient(top,#444,#222);background-image:-o-linear-gradient(top,#444,#222);background-image:linear-gradient(to bottom,#444,#222);background-repeat:repeat-x;border-color:#222 #222 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444',endColorstr='#ff222222',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.btn-inverse:hover,.btn-inverse:focus,.btn-inverse:active,.btn-inverse.active,.btn-inverse.disabled,.btn-inverse[disabled]{color:#fff;background-color:#222;*background-color:#151515}.btn-inverse:active,.btn-inverse.active{background-color:#080808 \9}button.btn,input[type="submit"].btn{*padding-top:3px;*padding-bottom:3px}button.btn::-moz-focus-inner,input[type="submit"].btn::-moz-focus-inner{padding:0;border:0}button.btn.btn-large,input[type="submit"].btn.btn-large{*padding-top:7px;*padding-bottom:7px}button.btn.btn-small,input[type="submit"].btn.btn-small{*padding-top:3px;*padding-bottom:3px}button.btn.btn-mini,input[type="submit"].btn.btn-mini{*padding-top:1px;*padding-bottom:1px}.btn-link,.btn-link:active,.btn-link[disabled]{background-color:transparent;background-image:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.btn-link{color:#08c;cursor:pointer;border-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-link:hover,.btn-link:focus{color:#005580;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,.btn-link[disabled]:focus{color:#333;text-decoration:none}.btn-group{position:relative;display:inline-block;*display:inline;*margin-left:.3em;font-size:0;white-space:nowrap;vertical-align:middle;*zoom:1}.btn-group:first-child{*margin-left:0}.btn-group+.btn-group{margin-left:5px}.btn-toolbar{margin-top:10px;margin-bottom:10px;font-size:0}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group{margin-left:5px}.btn-group>.btn{position:relative;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group>.btn+.btn{margin-left:-1px}.btn-group>.btn,.btn-group>.dropdown-menu,.btn-group>.popover{font-size:14px}.btn-group>.btn-mini{font-size:10.5px}.btn-group>.btn-small{font-size:11.9px}.btn-group>.btn-large{font-size:17.5px}.btn-group>.btn:first-child{margin-left:0;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.btn-group>.btn:last-child,.btn-group>.dropdown-toggle{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.btn-group>.btn.large:first-child{margin-left:0;-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.btn-group>.btn.large:last-child,.btn-group>.large.dropdown-toggle{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:2}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{*padding-top:5px;padding-right:8px;*padding-bottom:5px;padding-left:8px;-webkit-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 1px 0 0 rgba(255,255,255,0.125),inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05)}.btn-group>.btn-mini+.dropdown-toggle{*padding-top:2px;padding-right:5px;*padding-bottom:2px;padding-left:5px}.btn-group>.btn-small+.dropdown-toggle{*padding-top:5px;*padding-bottom:4px}.btn-group>.btn-large+.dropdown-toggle{*padding-top:7px;padding-right:12px;*padding-bottom:7px;padding-left:12px}.btn-group.open .dropdown-toggle{background-image:none;-webkit-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05);box-shadow:inset 0 2px 4px rgba(0,0,0,0.15),0 1px 2px rgba(0,0,0,0.05)}.btn-group.open .btn.dropdown-toggle{background-color:#e6e6e6}.btn-group.open .btn-primary.dropdown-toggle{background-color:#04c}.btn-group.open .btn-warning.dropdown-toggle{background-color:#f89406}.btn-group.open .btn-danger.dropdown-toggle{background-color:#bd362f}.btn-group.open .btn-success.dropdown-toggle{background-color:#51a351}.btn-group.open .btn-info.dropdown-toggle{background-color:#2f96b4}.btn-group.open .btn-inverse.dropdown-toggle{background-color:#222}.btn .caret{margin-top:8px;margin-left:0}.btn-large .caret{margin-top:6px}.btn-large .caret{border-top-width:5px;border-right-width:5px;border-left-width:5px}.btn-mini .caret,.btn-small .caret{margin-top:8px}.dropup .btn-large .caret{border-bottom-width:5px}.btn-primary .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret,.btn-success .caret,.btn-inverse .caret{border-top-color:#fff;border-bottom-color:#fff}.btn-group-vertical{display:inline-block;*display:inline;*zoom:1}.btn-group-vertical>.btn{display:block;float:none;max-width:100%;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.btn-group-vertical>.btn+.btn{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:first-child{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.btn-group-vertical>.btn:last-child{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.btn-group-vertical>.btn-large:first-child{-webkit-border-radius:6px 6px 0 0;-moz-border-radius:6px 6px 0 0;border-radius:6px 6px 0 0}.btn-group-vertical>.btn-large:last-child{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.alert{padding:8px 35px 8px 14px;margin-bottom:20px;text-shadow:0 1px 0 rgba(255,255,255,0.5);background-color:#fcf8e3;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.alert,.alert h4{color:#c09853}.alert h4{margin:0}.alert .close{position:relative;top:-2px;right:-21px;line-height:20px}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success h4{color:#468847}.alert-danger,.alert-error{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger h4,.alert-error h4{color:#b94a48}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-info h4{color:#3a87ad}.alert-block{padding-top:14px;padding-bottom:14px}.alert-block>p,.alert-block>ul{margin-bottom:0}.alert-block p+p{margin-top:5px}.nav{margin-bottom:20px;margin-left:0;list-style:none}.nav>li>a{display:block}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li>a>img{max-width:none}.nav>.pull-right{float:right}.nav-header{display:block;padding:3px 15px;font-size:11px;font-weight:bold;line-height:20px;color:#999;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.nav li+.nav-header{margin-top:9px}.nav-list{padding-right:15px;padding-left:15px;margin-bottom:0}.nav-list>li>a,.nav-list .nav-header{margin-right:-15px;margin-left:-15px;text-shadow:0 1px 0 rgba(255,255,255,0.5)}.nav-list>li>a{padding:3px 15px}.nav-list>.active>a,.nav-list>.active>a:hover,.nav-list>.active>a:focus{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.2);background-color:#08c}.nav-list [class^="icon-"],.nav-list [class*=" icon-"]{margin-right:2px}.nav-list .divider{*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff}.nav-tabs,.nav-pills{*zoom:1}.nav-tabs:before,.nav-pills:before,.nav-tabs:after,.nav-pills:after{display:table;line-height:0;content:""}.nav-tabs:after,.nav-pills:after{clear:both}.nav-tabs>li,.nav-pills>li{float:left}.nav-tabs>li>a,.nav-pills>li>a{padding-right:12px;padding-left:12px;margin-right:2px;line-height:14px}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{margin-bottom:-1px}.nav-tabs>li>a{padding-top:8px;padding-bottom:8px;line-height:20px;border:1px solid transparent;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover,.nav-tabs>li>a:focus{border-color:#eee #eee #ddd}.nav-tabs>.active>a,.nav-tabs>.active>a:hover,.nav-tabs>.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li>a{padding-top:8px;padding-bottom:8px;margin-top:2px;margin-bottom:2px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nav-pills>.active>a,.nav-pills>.active>a:hover,.nav-pills>.active>a:focus{color:#fff;background-color:#08c}.nav-stacked>li{float:none}.nav-stacked>li>a{margin-right:0}.nav-tabs.nav-stacked{border-bottom:0}.nav-tabs.nav-stacked>li>a{border:1px solid #ddd;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.nav-tabs.nav-stacked>li:first-child>a{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-topleft:4px}.nav-tabs.nav-stacked>li:last-child>a{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-moz-border-radius-bottomleft:4px}.nav-tabs.nav-stacked>li>a:hover,.nav-tabs.nav-stacked>li>a:focus{z-index:2;border-color:#ddd}.nav-pills.nav-stacked>li>a{margin-bottom:3px}.nav-pills.nav-stacked>li:last-child>a{margin-bottom:1px}.nav-tabs .dropdown-menu{-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px}.nav-pills .dropdown-menu{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.nav .dropdown-toggle .caret{margin-top:6px;border-top-color:#08c;border-bottom-color:#08c}.nav .dropdown-toggle:hover .caret,.nav .dropdown-toggle:focus .caret{border-top-color:#005580;border-bottom-color:#005580}.nav-tabs .dropdown-toggle .caret{margin-top:8px}.nav .active .dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.nav-tabs .active .dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.nav>.dropdown.active>a:hover,.nav>.dropdown.active>a:focus{cursor:pointer}.nav-tabs .open .dropdown-toggle,.nav-pills .open .dropdown-toggle,.nav>li.dropdown.open.active>a:hover,.nav>li.dropdown.open.active>a:focus{color:#fff;background-color:#999;border-color:#999}.nav li.dropdown.open .caret,.nav li.dropdown.open.active .caret,.nav li.dropdown.open a:hover .caret,.nav li.dropdown.open a:focus .caret{border-top-color:#fff;border-bottom-color:#fff;opacity:1;filter:alpha(opacity=100)}.tabs-stacked .open>a:hover,.tabs-stacked .open>a:focus{border-color:#999}.tabbable{*zoom:1}.tabbable:before,.tabbable:after{display:table;line-height:0;content:""}.tabbable:after{clear:both}.tab-content{overflow:auto}.tabs-below>.nav-tabs,.tabs-right>.nav-tabs,.tabs-left>.nav-tabs{border-bottom:0}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.tabs-below>.nav-tabs{border-top:1px solid #ddd}.tabs-below>.nav-tabs>li{margin-top:-1px;margin-bottom:0}.tabs-below>.nav-tabs>li>a{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.tabs-below>.nav-tabs>li>a:hover,.tabs-below>.nav-tabs>li>a:focus{border-top-color:#ddd;border-bottom-color:transparent}.tabs-below>.nav-tabs>.active>a,.tabs-below>.nav-tabs>.active>a:hover,.tabs-below>.nav-tabs>.active>a:focus{border-color:transparent #ddd #ddd #ddd}.tabs-left>.nav-tabs>li,.tabs-right>.nav-tabs>li{float:none}.tabs-left>.nav-tabs>li>a,.tabs-right>.nav-tabs>li>a{min-width:74px;margin-right:0;margin-bottom:3px}.tabs-left>.nav-tabs{float:left;margin-right:19px;border-right:1px solid #ddd}.tabs-left>.nav-tabs>li>a{margin-right:-1px;-webkit-border-radius:4px 0 0 4px;-moz-border-radius:4px 0 0 4px;border-radius:4px 0 0 4px}.tabs-left>.nav-tabs>li>a:hover,.tabs-left>.nav-tabs>li>a:focus{border-color:#eee #ddd #eee #eee}.tabs-left>.nav-tabs .active>a,.tabs-left>.nav-tabs .active>a:hover,.tabs-left>.nav-tabs .active>a:focus{border-color:#ddd transparent #ddd #ddd;*border-right-color:#fff}.tabs-right>.nav-tabs{float:right;margin-left:19px;border-left:1px solid #ddd}.tabs-right>.nav-tabs>li>a{margin-left:-1px;-webkit-border-radius:0 4px 4px 0;-moz-border-radius:0 4px 4px 0;border-radius:0 4px 4px 0}.tabs-right>.nav-tabs>li>a:hover,.tabs-right>.nav-tabs>li>a:focus{border-color:#eee #eee #eee #ddd}.tabs-right>.nav-tabs .active>a,.tabs-right>.nav-tabs .active>a:hover,.tabs-right>.nav-tabs .active>a:focus{border-color:#ddd #ddd #ddd transparent;*border-left-color:#fff}.nav>.disabled>a{color:#999}.nav>.disabled>a:hover,.nav>.disabled>a:focus{text-decoration:none;cursor:default;background-color:transparent}.navbar{*position:relative;*z-index:2;margin-bottom:20px;overflow:visible}.navbar-inner{min-height:40px;padding-right:20px;padding-left:20px;background-color:#fafafa;background-image:-moz-linear-gradient(top,#fff,#f2f2f2);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#f2f2f2));background-image:-webkit-linear-gradient(top,#fff,#f2f2f2);background-image:-o-linear-gradient(top,#fff,#f2f2f2);background-image:linear-gradient(to bottom,#fff,#f2f2f2);background-repeat:repeat-x;border:1px solid #d4d4d4;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#fff2f2f2',GradientType=0);*zoom:1;-webkit-box-shadow:0 1px 4px rgba(0,0,0,0.065);-moz-box-shadow:0 1px 4px rgba(0,0,0,0.065);box-shadow:0 1px 4px rgba(0,0,0,0.065)}.navbar-inner:before,.navbar-inner:after{display:table;line-height:0;content:""}.navbar-inner:after{clear:both}.navbar .container{width:auto}.nav-collapse.collapse{height:auto;overflow:visible}.navbar .brand{display:block;float:left;padding:10px 20px 10px;margin-left:-20px;font-size:20px;font-weight:200;color:#777;text-shadow:0 1px 0 #fff}.navbar .brand:hover,.navbar .brand:focus{text-decoration:none}.navbar-text{margin-bottom:0;line-height:40px;color:#777}.navbar-link{color:#777}.navbar-link:hover,.navbar-link:focus{color:#333}.navbar .divider-vertical{height:40px;margin:0 9px;border-right:1px solid #fff;border-left:1px solid #f2f2f2}.navbar .btn,.navbar .btn-group{margin-top:5px}.navbar .btn-group .btn,.navbar .input-prepend .btn,.navbar .input-append .btn,.navbar .input-prepend .btn-group,.navbar .input-append .btn-group{margin-top:0}.navbar-form{margin-bottom:0;*zoom:1}.navbar-form:before,.navbar-form:after{display:table;line-height:0;content:""}.navbar-form:after{clear:both}.navbar-form input,.navbar-form select,.navbar-form .radio,.navbar-form .checkbox{margin-top:5px}.navbar-form input,.navbar-form select,.navbar-form .btn{display:inline-block;margin-bottom:0}.navbar-form input[type="image"],.navbar-form input[type="checkbox"],.navbar-form input[type="radio"]{margin-top:3px}.navbar-form .input-append,.navbar-form .input-prepend{margin-top:5px;white-space:nowrap}.navbar-form .input-append input,.navbar-form .input-prepend input{margin-top:0}.navbar-search{position:relative;float:left;margin-top:5px;margin-bottom:0}.navbar-search .search-query{padding:4px 14px;margin-bottom:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;font-weight:normal;line-height:1;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.navbar-static-top{position:static;margin-bottom:0}.navbar-static-top .navbar-inner{-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;margin-bottom:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{border-width:0 0 1px}.navbar-fixed-bottom .navbar-inner{border-width:1px 0 0}.navbar-fixed-top .navbar-inner,.navbar-fixed-bottom .navbar-inner{padding-right:0;padding-left:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px}.navbar-fixed-top{top:0}.navbar-fixed-top .navbar-inner,.navbar-static-top .navbar-inner{-webkit-box-shadow:0 1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 10px rgba(0,0,0,0.1);box-shadow:0 1px 10px rgba(0,0,0,0.1)}.navbar-fixed-bottom{bottom:0}.navbar-fixed-bottom .navbar-inner{-webkit-box-shadow:0 -1px 10px rgba(0,0,0,0.1);-moz-box-shadow:0 -1px 10px rgba(0,0,0,0.1);box-shadow:0 -1px 10px rgba(0,0,0,0.1)}.navbar .nav{position:relative;left:0;display:block;float:left;margin:0 10px 0 0}.navbar .nav.pull-right{float:right;margin-right:0}.navbar .nav>li{float:left}.navbar .nav>li>a{float:none;padding:10px 15px 10px;color:#777;text-decoration:none;text-shadow:0 1px 0 #fff}.navbar .nav .dropdown-toggle .caret{margin-top:8px}.navbar .nav>li>a:focus,.navbar .nav>li>a:hover{color:#333;text-decoration:none;background-color:transparent}.navbar .nav>.active>a,.navbar .nav>.active>a:hover,.navbar .nav>.active>a:focus{color:#555;text-decoration:none;background-color:#e5e5e5;-webkit-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);-moz-box-shadow:inset 0 3px 8px rgba(0,0,0,0.125);box-shadow:inset 0 3px 8px rgba(0,0,0,0.125)}.navbar .btn-navbar{display:none;float:right;padding:7px 10px;margin-right:5px;margin-left:5px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#ededed;*background-color:#e5e5e5;background-image:-moz-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f2f2f2),to(#e5e5e5));background-image:-webkit-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:-o-linear-gradient(top,#f2f2f2,#e5e5e5);background-image:linear-gradient(to bottom,#f2f2f2,#e5e5e5);background-repeat:repeat-x;border-color:#e5e5e5 #e5e5e5 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2',endColorstr='#ffe5e5e5',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.075)}.navbar .btn-navbar:hover,.navbar .btn-navbar:focus,.navbar .btn-navbar:active,.navbar .btn-navbar.active,.navbar .btn-navbar.disabled,.navbar .btn-navbar[disabled]{color:#fff;background-color:#e5e5e5;*background-color:#d9d9d9}.navbar .btn-navbar:active,.navbar .btn-navbar.active{background-color:#ccc \9}.navbar .btn-navbar .icon-bar{display:block;width:18px;height:2px;background-color:#f5f5f5;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);-moz-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25)}.btn-navbar .icon-bar+.icon-bar{margin-top:3px}.navbar .nav>li>.dropdown-menu:before{position:absolute;top:-7px;left:9px;display:inline-block;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-left:7px solid transparent;border-bottom-color:rgba(0,0,0,0.2);content:''}.navbar .nav>li>.dropdown-menu:after{position:absolute;top:-6px;left:10px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.navbar-fixed-bottom .nav>li>.dropdown-menu:before{top:auto;bottom:-7px;border-top:7px solid #ccc;border-bottom:0;border-top-color:rgba(0,0,0,0.2)}.navbar-fixed-bottom .nav>li>.dropdown-menu:after{top:auto;bottom:-6px;border-top:6px solid #fff;border-bottom:0}.navbar .nav li.dropdown>a:hover .caret,.navbar .nav li.dropdown>a:focus .caret{border-top-color:#333;border-bottom-color:#333}.navbar .nav li.dropdown.open>.dropdown-toggle,.navbar .nav li.dropdown.active>.dropdown-toggle,.navbar .nav li.dropdown.open.active>.dropdown-toggle{color:#555;background-color:#e5e5e5}.navbar .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#777;border-bottom-color:#777}.navbar .nav li.dropdown.open>.dropdown-toggle .caret,.navbar .nav li.dropdown.active>.dropdown-toggle .caret,.navbar .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#555;border-bottom-color:#555}.navbar .pull-right>li>.dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar .pull-right>li>.dropdown-menu:before,.navbar .nav>li>.dropdown-menu.pull-right:before{right:12px;left:auto}.navbar .pull-right>li>.dropdown-menu:after,.navbar .nav>li>.dropdown-menu.pull-right:after{right:13px;left:auto}.navbar .pull-right>li>.dropdown-menu .dropdown-menu,.navbar .nav>li>.dropdown-menu.pull-right .dropdown-menu{right:100%;left:auto;margin-right:-1px;margin-left:0;-webkit-border-radius:6px 0 6px 6px;-moz-border-radius:6px 0 6px 6px;border-radius:6px 0 6px 6px}.navbar-inverse .navbar-inner{background-color:#1b1b1b;background-image:-moz-linear-gradient(top,#222,#111);background-image:-webkit-gradient(linear,0 0,0 100%,from(#222),to(#111));background-image:-webkit-linear-gradient(top,#222,#111);background-image:-o-linear-gradient(top,#222,#111);background-image:linear-gradient(to bottom,#222,#111);background-repeat:repeat-x;border-color:#252525;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222',endColorstr='#ff111111',GradientType=0)}.navbar-inverse .brand,.navbar-inverse .nav>li>a{color:#999;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.navbar-inverse .brand:hover,.navbar-inverse .nav>li>a:hover,.navbar-inverse .brand:focus,.navbar-inverse .nav>li>a:focus{color:#fff}.navbar-inverse .brand{color:#999}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .nav>li>a:focus,.navbar-inverse .nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .nav .active>a,.navbar-inverse .nav .active>a:hover,.navbar-inverse .nav .active>a:focus{color:#fff;background-color:#111}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover,.navbar-inverse .navbar-link:focus{color:#fff}.navbar-inverse .divider-vertical{border-right-color:#222;border-left-color:#111}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle{color:#fff;background-color:#111}.navbar-inverse .nav li.dropdown>a:hover .caret,.navbar-inverse .nav li.dropdown>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .nav li.dropdown>.dropdown-toggle .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .nav li.dropdown.open>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.active>.dropdown-toggle .caret,.navbar-inverse .nav li.dropdown.open.active>.dropdown-toggle .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-search .search-query{color:#fff;background-color:#515151;border-color:#111;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1),0 1px 0 rgba(255,255,255,0.15);-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.navbar-inverse .navbar-search .search-query:-moz-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:-ms-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder{color:#ccc}.navbar-inverse .navbar-search .search-query:focus,.navbar-inverse .navbar-search .search-query.focused{padding:5px 15px;color:#333;text-shadow:0 1px 0 #fff;background-color:#fff;border:0;outline:0;-webkit-box-shadow:0 0 3px rgba(0,0,0,0.15);-moz-box-shadow:0 0 3px rgba(0,0,0,0.15);box-shadow:0 0 3px rgba(0,0,0,0.15)}.navbar-inverse .btn-navbar{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e0e0e;*background-color:#040404;background-image:-moz-linear-gradient(top,#151515,#040404);background-image:-webkit-gradient(linear,0 0,0 100%,from(#151515),to(#040404));background-image:-webkit-linear-gradient(top,#151515,#040404);background-image:-o-linear-gradient(top,#151515,#040404);background-image:linear-gradient(to bottom,#151515,#040404);background-repeat:repeat-x;border-color:#040404 #040404 #000;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515',endColorstr='#ff040404',GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .btn-navbar:hover,.navbar-inverse .btn-navbar:focus,.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active,.navbar-inverse .btn-navbar.disabled,.navbar-inverse .btn-navbar[disabled]{color:#fff;background-color:#040404;*background-color:#000}.navbar-inverse .btn-navbar:active,.navbar-inverse .btn-navbar.active{background-color:#000 \9}.breadcrumb{padding:8px 15px;margin:0 0 20px;list-style:none;background-color:#f5f5f5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.breadcrumb>li{display:inline-block;*display:inline;text-shadow:0 1px 0 #fff;*zoom:1}.breadcrumb>li>.divider{padding:0 5px;color:#ccc}.breadcrumb>.active{color:#999}.pagination{margin:20px 0}.pagination ul{display:inline-block;*display:inline;margin-bottom:0;margin-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;*zoom:1;-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,0.05);box-shadow:0 1px 2px rgba(0,0,0,0.05)}.pagination ul>li{display:inline}.pagination ul>li>a,.pagination ul>li>span{float:left;padding:4px 12px;line-height:20px;text-decoration:none;background-color:#fff;border:1px solid #ddd;border-left-width:0}.pagination ul>li>a:hover,.pagination ul>li>a:focus,.pagination ul>.active>a,.pagination ul>.active>span{background-color:#f5f5f5}.pagination ul>.active>a,.pagination ul>.active>span{color:#999;cursor:default}.pagination ul>.disabled>span,.pagination ul>.disabled>a,.pagination ul>.disabled>a:hover,.pagination ul>.disabled>a:focus{color:#999;cursor:default;background-color:transparent}.pagination ul>li:first-child>a,.pagination ul>li:first-child>span{border-left-width:1px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius-topleft:4px}.pagination ul>li:last-child>a,.pagination ul>li:last-child>span{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-topright:4px;-moz-border-radius-bottomright:4px}.pagination-centered{text-align:center}.pagination-right{text-align:right}.pagination-large ul>li>a,.pagination-large ul>li>span{padding:11px 19px;font-size:17.5px}.pagination-large ul>li:first-child>a,.pagination-large ul>li:first-child>span{-webkit-border-bottom-left-radius:6px;border-bottom-left-radius:6px;-webkit-border-top-left-radius:6px;border-top-left-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-topleft:6px}.pagination-large ul>li:last-child>a,.pagination-large ul>li:last-child>span{-webkit-border-top-right-radius:6px;border-top-right-radius:6px;-webkit-border-bottom-right-radius:6px;border-bottom-right-radius:6px;-moz-border-radius-topright:6px;-moz-border-radius-bottomright:6px}.pagination-mini ul>li:first-child>a,.pagination-small ul>li:first-child>a,.pagination-mini ul>li:first-child>span,.pagination-small ul>li:first-child>span{-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-moz-border-radius-topleft:3px}.pagination-mini ul>li:last-child>a,.pagination-small ul>li:last-child>a,.pagination-mini ul>li:last-child>span,.pagination-small ul>li:last-child>span{-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-moz-border-radius-topright:3px;-moz-border-radius-bottomright:3px}.pagination-small ul>li>a,.pagination-small ul>li>span{padding:2px 10px;font-size:11.9px}.pagination-mini ul>li>a,.pagination-mini ul>li>span{padding:0 6px;font-size:10.5px}.pager{margin:20px 0;text-align:center;list-style:none;*zoom:1}.pager:before,.pager:after{display:table;line-height:0;content:""}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;-webkit-border-radius:15px;-moz-border-radius:15px;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#f5f5f5}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;cursor:default;background-color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop,.modal-backdrop.fade.in{opacity:.8;filter:alpha(opacity=80)}.modal{position:fixed;top:10%;left:50%;z-index:1050;width:560px;margin-left:-280px;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.3);*border:1px solid #999;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;outline:0;-webkit-box-shadow:0 3px 7px rgba(0,0,0,0.3);-moz-box-shadow:0 3px 7px rgba(0,0,0,0.3);box-shadow:0 3px 7px rgba(0,0,0,0.3);-webkit-background-clip:padding-box;-moz-background-clip:padding-box;background-clip:padding-box}.modal.fade{top:-25%;-webkit-transition:opacity .3s linear,top .3s ease-out;-moz-transition:opacity .3s linear,top .3s ease-out;-o-transition:opacity .3s linear,top .3s ease-out;transition:opacity .3s linear,top .3s ease-out}.modal.fade.in{top:10%}.modal-header{padding:9px 15px;border-bottom:1px solid #eee}.modal-header .close{margin-top:2px}.modal-header h3{margin:0;line-height:30px}.modal-body{position:relative;max-height:400px;padding:15px;overflow-y:auto}.modal-form{margin-bottom:0}.modal-footer{padding:14px 15px 15px;margin-bottom:0;text-align:right;background-color:#f5f5f5;border-top:1px solid #ddd;-webkit-border-radius:0 0 6px 6px;-moz-border-radius:0 0 6px 6px;border-radius:0 0 6px 6px;*zoom:1;-webkit-box-shadow:inset 0 1px 0 #fff;-moz-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.modal-footer:before,.modal-footer:after{display:table;line-height:0;content:""}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.tooltip{position:absolute;z-index:1030;display:block;font-size:11px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.8;filter:alpha(opacity=80)}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.popover-title:empty{display:none}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0}.thumbnails{margin-left:-20px;list-style:none;*zoom:1}.thumbnails:before,.thumbnails:after{display:table;line-height:0;content:""}.thumbnails:after{clear:both}.row-fluid .thumbnails{margin-left:0}.thumbnails>li{float:left;margin-bottom:20px;margin-left:20px}.thumbnail{display:block;padding:4px;line-height:20px;border:1px solid #ddd;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.055);-moz-box-shadow:0 1px 3px rgba(0,0,0,0.055);box-shadow:0 1px 3px rgba(0,0,0,0.055);-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}a.thumbnail:hover,a.thumbnail:focus{border-color:#08c;-webkit-box-shadow:0 1px 4px rgba(0,105,214,0.25);-moz-box-shadow:0 1px 4px rgba(0,105,214,0.25);box-shadow:0 1px 4px rgba(0,105,214,0.25)}.thumbnail>img{display:block;max-width:100%;margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#555}.media,.media-body{overflow:hidden;*overflow:visible;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{margin-left:0;list-style:none}.label,.badge{display:inline-block;padding:2px 4px;font-size:11.844px;font-weight:bold;line-height:14px;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25);white-space:nowrap;vertical-align:baseline;background-color:#999}.label{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.badge{padding-right:9px;padding-left:9px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px}.label:empty,.badge:empty{display:none}a.label:hover,a.label:focus,a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.label-important,.badge-important{background-color:#b94a48}.label-important[href],.badge-important[href]{background-color:#953b39}.label-warning,.badge-warning{background-color:#f89406}.label-warning[href],.badge-warning[href]{background-color:#c67605}.label-success,.badge-success{background-color:#468847}.label-success[href],.badge-success[href]{background-color:#356635}.label-info,.badge-info{background-color:#3a87ad}.label-info[href],.badge-info[href]{background-color:#2d6987}.label-inverse,.badge-inverse{background-color:#333}.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a}.btn .label,.btn .badge{position:relative;top:-1px}.btn-mini .label,.btn-mini .badge{top:0}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-ms-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f7f7f7;background-image:-moz-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f5f5f5),to(#f9f9f9));background-image:-webkit-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:-o-linear-gradient(top,#f5f5f5,#f9f9f9);background-image:linear-gradient(to bottom,#f5f5f5,#f9f9f9);background-repeat:repeat-x;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',endColorstr='#fff9f9f9',GradientType=0);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress .bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;text-shadow:0 -1px 0 rgba(0,0,0,0.25);background-color:#0e90d2;background-image:-moz-linear-gradient(top,#149bdf,#0480be);background-image:-webkit-gradient(linear,0 0,0 100%,from(#149bdf),to(#0480be));background-image:-webkit-linear-gradient(top,#149bdf,#0480be);background-image:-o-linear-gradient(top,#149bdf,#0480be);background-image:linear-gradient(to bottom,#149bdf,#0480be);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf',endColorstr='#ff0480be',GradientType=0);-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:width .6s ease;-moz-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress .bar+.bar{-webkit-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);-moz-box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 1px 0 0 rgba(0,0,0,0.15),inset 0 -1px 0 rgba(0,0,0,0.15)}.progress-striped .bar{background-color:#149bdf;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;-moz-background-size:40px 40px;-o-background-size:40px 40px;background-size:40px 40px}.progress.active .bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-danger .bar,.progress .bar-danger{background-color:#dd514c;background-image:-moz-linear-gradient(top,#ee5f5b,#c43c35);background-image:-webkit-gradient(linear,0 0,0 100%,from(#ee5f5b),to(#c43c35));background-image:-webkit-linear-gradient(top,#ee5f5b,#c43c35);background-image:-o-linear-gradient(top,#ee5f5b,#c43c35);background-image:linear-gradient(to bottom,#ee5f5b,#c43c35);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',endColorstr='#ffc43c35',GradientType=0)}.progress-danger.progress-striped .bar,.progress-striped .bar-danger{background-color:#ee5f5b;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-success .bar,.progress .bar-success{background-color:#5eb95e;background-image:-moz-linear-gradient(top,#62c462,#57a957);background-image:-webkit-gradient(linear,0 0,0 100%,from(#62c462),to(#57a957));background-image:-webkit-linear-gradient(top,#62c462,#57a957);background-image:-o-linear-gradient(top,#62c462,#57a957);background-image:linear-gradient(to bottom,#62c462,#57a957);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',endColorstr='#ff57a957',GradientType=0)}.progress-success.progress-striped .bar,.progress-striped .bar-success{background-color:#62c462;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-info .bar,.progress .bar-info{background-color:#4bb1cf;background-image:-moz-linear-gradient(top,#5bc0de,#339bb9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5bc0de),to(#339bb9));background-image:-webkit-linear-gradient(top,#5bc0de,#339bb9);background-image:-o-linear-gradient(top,#5bc0de,#339bb9);background-image:linear-gradient(to bottom,#5bc0de,#339bb9);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',endColorstr='#ff339bb9',GradientType=0)}.progress-info.progress-striped .bar,.progress-striped .bar-info{background-color:#5bc0de;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-warning .bar,.progress .bar-warning{background-color:#faa732;background-image:-moz-linear-gradient(top,#fbb450,#f89406);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fbb450),to(#f89406));background-image:-webkit-linear-gradient(top,#fbb450,#f89406);background-image:-o-linear-gradient(top,#fbb450,#f89406);background-image:linear-gradient(to bottom,#fbb450,#f89406);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',endColorstr='#fff89406',GradientType=0)}.progress-warning.progress-striped .bar,.progress-striped .bar-warning{background-color:#fbb450;background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.accordion{margin-bottom:20px}.accordion-group{margin-bottom:2px;border:1px solid #e5e5e5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.accordion-heading{border-bottom:0}.accordion-heading .accordion-toggle{display:block;padding:8px 15px}.accordion-toggle{cursor:pointer}.accordion-inner{padding:9px 15px;border-top:1px solid #e5e5e5}.carousel{position:relative;margin-bottom:20px;line-height:1}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-moz-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:40%;left:15px;width:40px;height:40px;margin-top:-20px;font-size:60px;font-weight:100;line-height:30px;color:#fff;text-align:center;background:#222;border:3px solid #fff;-webkit-border-radius:23px;-moz-border-radius:23px;border-radius:23px;opacity:.5;filter:alpha(opacity=50)}.carousel-control.right{right:15px;left:auto}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-indicators{position:absolute;top:15px;right:15px;z-index:5;margin:0;list-style:none}.carousel-indicators li{display:block;float:left;width:10px;height:10px;margin-left:5px;text-indent:-999px;background-color:#ccc;background-color:rgba(255,255,255,0.25);border-radius:5px}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:0;bottom:0;left:0;padding:15px;background:#333;background:rgba(0,0,0,0.75)}.carousel-caption h4,.carousel-caption p{line-height:20px;color:#fff}.carousel-caption h4{margin:0 0 5px}.carousel-caption p{margin-bottom:0}.hero-unit{padding:60px;margin-bottom:30px;font-size:18px;font-weight:200;line-height:30px;color:inherit;background-color:#eee;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.hero-unit h1{margin-bottom:0;font-size:60px;line-height:1;letter-spacing:-1px;color:inherit}.hero-unit li{line-height:30px}.pull-right{float:right}.pull-left{float:left}.hide{display:none}.show{display:block}.invisible{visibility:hidden}.affix{position:fixed} diff --git a/packages/phocadownload/media/com_phocadownload/css/main/button.css b/packages/phocadownload/media/com_phocadownload/css/main/button.css new file mode 100644 index 00000000..5afc4698 --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/css/main/button.css @@ -0,0 +1,110 @@ +/* +Phoca Download +http://www.phoca.cz/ +http://www.phoca.cz/phocadownload +*/ + +#phoca-dl-category-box .pd-button-mirror1 a, +#phoca-dl-category-box .pd-button-mirror2 a, +#phoca-dl-file-box .pd-button-mirror1 a, +#phoca-dl-file-box .pd-button-mirror2 a, +#phoca-dl-file-box .pd-button-download, +#phoca-dl-category-box .pd-button-play a, +#phoca-dl-category-box .pd-button-preview a, +#phoca-dl-category-box .pd-button-download a, +#phoca-dl-category-box .pd-button-details a, +#phoca-dl-download-box .pd-button-download a { + background: url(../../images/btn.png) repeat-x; + display: inline-block; + padding: 7px 12px 8px; + text-decoration: none; + box-shadow: 0 1px 2px rgba(0,0,0,0.6); + -moz-box-shadow: 0 1px 2px rgba(0,0,0,0.6); + -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.6); + + border-bottom: 1px solid rgba(0,0,0,0.25); + position: relative; + cursor: pointer; + text-shadow: 0 -1px 1px rgba(0,0,0,0.25); + font-weight: bold; + font-size: 110%; + padding-left: 28px; + color: #fff; +} + +#phoca-dl-category-box .pd-button-play a { + background: url(../../images/btn.png) repeat-x, url(../../images/icon-play.png) 6px center no-repeat; + background-color: #b8301e; +} +#phoca-dl-category-box .pd-button-preview a { + + background: url(../../images/btn.png) repeat-x, url(../../images/icon-preview.png) 6px center no-repeat; + background-color: #bf8e2f; +} + +#phoca-dl-file-box .pd-button-download { + background: url(../../images/btn.png) repeat-x, url(../../images/icon-download.png) 6px center no-repeat; + background-color: #269926; +} +#phoca-dl-download-box .pd-button-download a, +#phoca-dl-category-box .pd-button-download a { + background: url(../../images/btn.png) repeat-x, url(../../images/icon-download.png) 6px center no-repeat; + background-color: #269926; +} +#phoca-dl-category-box .pd-button-details a { + background: url(../../images/btn.png) repeat-x, url(../../images/icon-details.png) 6px center no-repeat; + background-color: #294580; +} + +#phoca-dl-file-box .pd-button-mirror1 a, +#phoca-dl-category-box .pd-button-mirror1 a { + background: url(../../images/btn.png) repeat-x, url(../../images/icon-extlink1.png) 6px center no-repeat; + background-color: #1d786c; +} +#phoca-dl-file-box .pd-button-mirror2 a, +#phoca-dl-category-box .pd-button-mirror2 a { + background: url(../../images/btn.png) repeat-x, url(../../images/icon-extlink2.png) 6px center no-repeat; + background-color: #aabb2d; +} + +#phoca-dl-category-box .pd-button-play a:hover { + background: url(../../images/btn.png) repeat-x, url(../../images/icon-play.png) 6px center no-repeat; + background-color: #78160a; +} +#phoca-dl-category-box .pd-button-preview a:hover { + background: url(../../images/btn.png) repeat-x, url(../../images/icon-preview.png) 6px center no-repeat; + background-color: #7c570f; +} +#phoca-dl-download-box .pd-button-download a:hover, +#phoca-dl-category-box .pd-button-download a:hover { + background: url(../../images/btn.png) repeat-x, url(../../images/icon-download.png) 6px center no-repeat; + background-color: #0c630c; +} +#phoca-dl-category-box .pd-button-details a:hover { + + background: url(../../images/btn.png) repeat-x, url(../../images/icon-details.png) 6px center no-repeat; + background-color: #0d2453; +} +#phoca-dl-category-box .pd-button-mirror1 a:hover { + background: url(../../images/btn.png) repeat-x, url(../../images/icon-extlink1.png) 6px center no-repeat; + background-color: #094e45; +} +#phoca-dl-category-box .pd-button-mirror2 a:hover { + background: url(../../images/btn.png) repeat-x, url(../../images/icon-extlink2.png) 6px center no-repeat; + background-color: #6d7a0f; +} + +#phoca-dl-download-box .pd-button-download a, +#phoca-dl-category-box .pd-button-mirror1 a, +#phoca-dl-category-box .pd-button-mirror2 a, +#phoca-dl-file-box .pd-button-mirror1 a, +#phoca-dl-file-box .pd-button-mirror2 a, +#phoca-dl-category-box .pd-button-play a, +#phoca-dl-category-box .pd-button-preview a, +#phoca-dl-category-box .pd-button-download a, +#phoca-dl-category-box .pd-button-details a { + border-radius: 0px; + -moz-border-radius: 0px; + -webkit-border-radius: 0px; +} + diff --git a/packages/phocadownload/media/com_phocadownload/css/main/buttonrc.css b/packages/phocadownload/media/com_phocadownload/css/main/buttonrc.css new file mode 100644 index 00000000..37e80985 --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/css/main/buttonrc.css @@ -0,0 +1,18 @@ +/* +Phoca Download +http://www.phoca.cz/ +http://www.phoca.cz/phocadownload +*/ +#phoca-dl-download-box .pd-button-download a, +#phoca-dl-category-box .pd-button-mirror1 a, +#phoca-dl-category-box .pd-button-mirror2 a, +#phoca-dl-file-box .pd-button-mirror1 a, +#phoca-dl-file-box .pd-button-mirror2 a, +#phoca-dl-category-box .pd-button-play a, +#phoca-dl-category-box .pd-button-preview a, +#phoca-dl-category-box .pd-button-download a, +#phoca-dl-category-box .pd-button-details a { + border-radius: 6px; + -moz-border-radius: 6px; + -webkit-border-radius: 6px; +} diff --git a/packages/phocadownload/media/com_phocadownload/css/main/index.html b/packages/phocadownload/media/com_phocadownload/css/main/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/css/main/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/media/com_phocadownload/css/main/phocadownload.css b/packages/phocadownload/media/com_phocadownload/css/main/phocadownload.css new file mode 100644 index 00000000..d994edb1 --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/css/main/phocadownload.css @@ -0,0 +1,819 @@ +/* Phoca Download http://www.phoca.cz/ http://www.phoca.cz/phocadownload */ + +/* Main */ +.pd-hr-cb { + border-bottom: 3px solid #e9e9e9; + margin-bottom: 10px; + clear:both; +} +.pd-hr { + border-bottom: 3px solid #e9e9e9; + margin-bottom: 10px; +} +.pd-fl { + position: relative; + float: left; +} +.pd-fl-m { + position: relative; + float: left; + margin: 5px 0; +} +.pd-fr { + position: relative; + float: right; +} +.pd-cb { + clear:both; +} +.pd-cl { + clear:left; +} + +.pd-cr-m { + clear: right; + margin-top: 20px; +} + +.pd-not-found { + text-align: center; + font-weight: bold; +} +.pd-center { + text-align:center; + vertical-align:middle; +} +.pd-inline { + margin:0 10px 0 10px; + display:inline; +} + +/* Top */ +#phoca-dl-category-box .pd-category h3.pd-ctitle, +#phoca-dl-file-box .pd-file h3.pd-ctitle, +#phoca-dl-download-box .pd-file h3.pd-ctitle{ + margin: 0; + padding: 5px; + background: #fafafa; + border: 1px solid #e9e9e9; + margin-bottom: 7px; +} + +#phoca-dl-category-box .pd-category div.pdtop, +#phoca-dl-file-box .pd-file div.pdtop, +#phoca-dl-download-box .pd-file div.pdtop { + float: right; + position: relative; + width: 16px; + margin-top: 5px; + margin-right: 7px; + padding-top: 2px; +} + + +/* Category, File, Overlib */ +#phoca-dl-category-box .pd-filesize-txt, +#phoca-dl-file-box .pd-filesize-txt, +#phoca-dl-category-box .pd-version-txt, +#phoca-dl-file-box .pd-version-txt, +#phoca-dl-category-box .pd-license-txt, +#phoca-dl-file-box .pd-license-txt, +#phoca-dl-category-box .pd-author-txt, +#phoca-dl-file-box .pd-author-txt, +#phoca-dl-category-box .pd-email-txt, +#phoca-dl-file-box .pd-email-txt, +#phoca-dl-category-box .pd-date-txt, +#phoca-dl-file-box .pd-date-txt, +#phoca-dl-category-box .pd-downloads-txt, +#phoca-dl-file-box .pd-downloads-txt{ + font-weight: bold; + clear:left; + margin:5px 0; + float:left; + width: 100px; +} + +#phoca-dl-category-box .pd-notes-txt, +#phoca-dl-file-box .pd-notes-txt, +#phoca-dl-category-box .pd-features-txt, +#phoca-dl-file-box .pd-features-txt, +#phoca-dl-category-box .pd-changelog-txt, +#phoca-dl-file-box .pd-changelog-txt { + margin: 7px 0; + font-weight: bold; + clear:left; +} + +#overDiv .pd-filesize-txt, +#overDiv .pd-version-txt, +#overDiv .pd-license-txt, +#overDiv .pd-author-txt, +#overDiv .pd-email-txt, +#overDiv .pd-date-txt, +#overDiv .pd-downloads-txt{ + font-weight: bold; + clear:left; + margin:5px 0; + float:left; + width: 80px; +} + +#overDiv .pd-title, +#phoca-dl-category-box .pd-title, +#phoca-dl-file-box .pd-title, +#phoca-dl-download-box .pd-title { + font-weight: bold; +} + +#overDiv .pd-image, +#phoca-dl-category-box .pd-image, +#phoca-dl-file-box .pd-image, +#phoca-dl-download-box .pd-image { + position:relative; + float:right; + margin:10px; +} + +#overDiv .pd-textonly, +#overDiv .pd-cdesc, +#phoca-dl-category-box .pd-textonly, +#phoca-dl-category-box .pd-cdesc, +#phoca-dl-file-box .pd-cdesc, +#phoca-dl-download-box .pd-cdesc { + margin: 10px 0px; + padding: 5px 0px; + clear:both; +} +#overDiv .pd-fdesc, +#phoca-dl-category-box .pd-fdesc, +#phoca-dl-file-box .pd-fdesc, +#phoca-dl-download-box .pd-fdesc { + padding: 5px 0px; + clear:both; +} + +#phoca-dl-category-box .pd-buttons, +#phoca-dl-file-box .pd-buttons, +#phoca-dl-download-box .pd-buttons { + position: relative; + float: right; + margin: 5px; +} +#phoca-dl-download-box .pd-filenamebox, +#phoca-dl-category-box .pd-filenamebox { + position: relative; + float: left; + margin: 5px; +} + +#phoca-dl-file-box .pd-filenamebox { + position: relative; + float: left; + margin: 5px 0px; +} + + + +#phoca-dl-download-box .pd-downloadbox-direct { + margin: 0 auto; + margin-top: 20px; + background: #f5f5f5; + border: 1px solid #d9d9d9; + -webkit-border-radius: 3px; + border-radius: 3px; + padding: 10px; +} + +#phoca-dl-category-box .pd-filebox { + margin-top: 10px; + margin-bottom: 10px; + padding-bottom: 10px; + border-bottom: 1px solid #f0f0f0; +} + +#phoca-dl-download-box .pd-filebox, +#phoca-dl-file-box .pd-filebox { + padding: 5px; +} + +#phoca-dl-category-box .pd-title, +#phoca-dl-file-box .pd-title, +#phoca-dl-download-box .pd-title { + margin-bottom: 3px; +} + + +#phoca-dl-category-box .pd-mirrors, +#phoca-dl-file-box .pd-mirrors { + position: relative; + float: right; + clear: right; + margin-top: 0px; +} + +#phoca-dl-category-box .pd-rating, +#phoca-dl-file-box .pd-rating { + position: relative; + float: left; + clear: both; + margin-top: 15px; +} + +#phoca-dl-category-box .pd-tags, +#phoca-dl-category-box .pd-report, +#phoca-dl-file-box .pd-tags, +#phoca-dl-file-box .pd-report { + position: relative; + float: right; + clear: right; + margin-top: 15px; +} + +#phoca-dl-download-box, +#phoca-dl-file-box { + text-align: left; +} +#phoca-dl-download-box .pd-file, +#phoca-dl-file-box .pd-file { + + margin:5px 0; +} + +/* Categories */ +#phoca-dl-categories-box a img { + border: 0px; + padding: 0; + margin: 0; +} + +#phoca-dl-categories-box div.pd-desc { + margin: 10px 0 10px 0; +} +#phoca-dl-categories-box div.pd-categoriesbox { + width: 28%; + position: relative; + float: left; + margin: 1%; + padding: 1%; +} + +#phoca-dl-categories-box div.pd-title{ + font-weight:bold; + font-size: 120%; + margin: 5px 0px 8px 0px; +} + +#phoca-dl-category-box .pagination, +#phoca-dl-category-box .pagination div ul { + text-align: center; + margin: auto; + margin: 5px; + border: none; + +} + +#phoca-dl-category-box .pd-subcategory, +#phoca-dl-file-box .pd-file { + margin: 5px; +} + +#phoca-dl-download-box .pd-file-details, +#phoca-dl-file-box .pd-file-details { + border: 0; +} + +#phoca-dl-categories-box .pd-subcategory, +#phoca-dl-category-box .pd-subcategory { + padding-left: 20px; + background: transparent url('../../images/folder.png') 0 center no-repeat; +} + +#phoca-dl-category-box .pd-category div.pdtop, +#phoca-dl-file-box .pd-file div.pdtop, +#phoca-dl-download-box .pd-file div.pdtop { + float: right; + position: relative; + width: 16px; + margin-top: 5px; + margin-right: 7px; +} + +#phoca-dl-categories-box a img, +#phoca-dl-category-box a img, +#phoca-dl-file-box a img, +#phoca-dl-download-box a img { + border: none; +} + +/* Icons - icon next to file*/ +.phoca-dl-file-box-mod .pd-document16, +#phoca-dl-file-box .pd-document16, +#phoca-dl-category-box .pd-document16, +#phoca-dl-download-box .pd-document16 { + padding-left: 20px; + background: url('../../images/icon-document-16.png') 0px center no-repeat; + height: 16px; + line-height: 16px; +} +#phoca-dl-most-viewed-box .pd-document16 { + padding-left: 20px; + background: url('../../images/icon-document-16.png') 0px center no-repeat; +} +.phoca-dl-file-box-mod .pd-document32, +#phoca-dl-file-box .pd-document32, +#phoca-dl-category-box .pd-document32, +#phoca-dl-most-viewed-box .pd-document32, +#phoca-dl-download-box .pd-document32 { + background: url('../../images/icon-document-32.png') 0px center no-repeat; + height: 32px; + line-height: 32px; + padding-left: 36px; +} +.phoca-dl-file-box-mod .pd-document48, +#phoca-dl-file-box .pd-document48, +#phoca-dl-category-box .pd-document48, +#phoca-dl-most-viewed-box .pd-document48, +#phoca-dl-download-box .pd-document48 { + background: url('../../images/icon-document-48.png') 0px center no-repeat; + height: 48px; + line-height: 48px; + padding-left: 52px; +} +.phoca-dl-file-box-mod .pd-document64, +#phoca-dl-file-box .pd-document64, +#phoca-dl-category-box .pd-document64, +#phoca-dl-most-viewed-box .pd-document64, +#phoca-dl-download-box .pd-document64 { + background: url('../../images/icon-document-64.png') 0px center no-repeat; + height: 64px; + line-height: 64px; + padding-left: 70px; +} + +/* Plugin */ +#phoca-dl-category-box-plugin .pd-document { + padding-left: 20px; + background: url('../../images/document.png') 0 center no-repeat; + text-align: left; + padding-top: 4px; + padding-bottom: 4px; + +} + +/* Module */ +.phoca-dl-categories-box-module .pd-categories { + color: #BF6070; +} + +.phocadownload-navigation { + padding: 2px; + border: 1px dotted #D6D6D6; + width: 6em; + position: relative; + float: right; + text-align: center; + margin-left: 5px; +} + +.phocadownload-navigation .navigation-text { + color: #BF6070; + background-color: #D6D6D6; + padding: 2px; + margin-bottom: 3px; + font-size: 10px; + text-align: center; +} + +#phoca-dl-license { + border: 1px solid #ccc; + background: #f5f5f5; + overflow: auto; + margin-top: 10px; + margin-bottom: 10px; +} + +.pd-pagination { + margin-top: 20px; +} + +.pd-float { + position: relative; + float: left; + margin: 0px 3px; +} + +#phocadownload-upload .comment-input{ + width: 98%; +} + +#phocadownload-upload .comment-input2 { + width: 40px; + border: 0px; + font-weight: bold; + +} + +/* tabs */ +form { + margin: 0; + padding: 0; +} + +dl.tabs { + float: left; + margin: 10px 0 -1px 2px; + z-index: 50; + +} + +dl.tabs dt { + float: left; + padding: 4px 10px; + border-left: 1px solid #ccc; + border-right: 1px solid #ccc; + border-top: 1px solid #ccc; + margin-left: 3px; + background: #f0f0f0; + color: #666; + +} + +dl.tabs dt.open { + background: #ffffff; + border-bottom: 1px solid #ffffff; + z-index: 100; + color: #000; + +} + +dl.tabs a { + text-decoration: none; + font-weight: normal; +} +dl.tabs a:hover { + background: transparent !important; +} + +div.current { + clear: both; + border: 1px solid #ccc; + padding: 10px 10px; + background: #ffffff; + +} + +div.current dd { + padding: 0; + margin: 0; +} + +#loading-label-file{ + text-align: center; + display: none; +} + +/** Table styles **/ +#phocadownload-upload table.adminlist { + width: 100%; + border-spacing: 1px; + background-color: #e7e7e7; + color: #666; +} + +#phocadownload-upload .pagination { + margin: 0; + padding: 0; + display: inline; +} + +#phocadownload-upload table.adminlist td, +#phocadownload-upload table.adminlist th { + padding: 4px; +} + +#phocadownload-upload table.adminlist thead th { + text-align: center; + background: #f0f0f0; + color: #666; + border-bottom: 1px solid #999; + border-left: 1px solid #fff; +} + +#phocadownload-upload table.adminlist thead a:hover { text-decoration: none; } +#phocadownload-upload table.adminlist thead th img { vertical-align: middle; } +#phocadownload-upload table.adminlist tbody th { font-weight: bold; } +#phocadownload-upload table.adminlist tbody tr { background-color: #fff; text-align: left; } +#phocadownload-upload table.adminlist tbody tr.row1 { background: #f9f9f9; border-top: 1px solid #fff; } +#phocadownload-upload table.adminlist tbody tr.row0:hover td, +#phocadownload-upload table.adminlist tbody tr.row1:hover td { background-color: #ffd ; } +#phocadownload-upload table.adminlist tbody tr td { height: 25px; background: #fff; border: 1px solid #fff; } +#phocadownload-upload table.adminlist tbody tr.row1 td { background: #f9f9f9; border-top: 1px solid #FFF; } +#phocadownload-upload table.adminlist tfoot tr { text-align: center; color: #333; } +#phocadownload-upload table.adminlist tfoot td, +#phocadownload-upload table.adminlist tfoot th { background-color: #f3f3f3; border-top: 1px solid #999; text-align: center; } +#phocadownload-upload table.adminlist td.order { text-align: center; white-space: nowrap; } +#phocadownload-upload table.adminlist td.order span { float: left; display: block; width: 20px; text-align: center; } + +#phocadownload-upload .error, +#phoca-dl-file-box .error, +#phoca-dl-category-box .pd-error, +#phoca-dl-category-box .error { + background: #FFC2C2; + border: 1px solid #bf3030; + color: #a60000; + padding: 10px; + margin-top: 5px; + margin-bottom: 5px; +} + +#phoca-dl-categories-box .pd-no-subcat { + margin-left: 5px; +} + +/* not conflict with beez */ +#phocadownload-upload table, +#phocadownload-upload table tr, +#phocadownload-upload table tr td, +#phoca-dl-file-box table, +#phoca-dl-file-box table tr, +#phoca-dl-file-box table tr td, +#phoca-dl-download-box table, +#phoca-dl-download-box table tr, +#phoca-dl-download-box table tr td, +#phoca-dl-category-box table, +#phoca-dl-category-box table tr, +#phoca-dl-category-box table tr td { + border: none; +} +#overDiv table, +#overDiv table tr, +#overDiv table tr td{ + border: none; + padding:5px; + +} + +#phoca-dl-category-box .pagination.pd-pagination { + border: none; +} +/* +#phocadownload-pane div.current, +#phocadownload-pane div.current dd, +#phocadownload-pane .tabs, +#phocadownload-pane #pane { + width: 100%; +} +*/ +#phoca-dl-category-box .pdtop a:hover, +#phoca-dl-category-box .pdtop a:active, +#phoca-dl-category-box .pdtop a:focus, +#phoca-dl-category-box .pdfile a:hover, +#phoca-dl-category-box .pdfile a:active, +#phoca-dl-category-box .pdfile a:focus, +#phoca-dl-file-box .pdtop a:hover, +#phoca-dl-file-box .pdtop a:active, +#phoca-dl-file-box .pdtop a:focus, +#phoca-dl-download-box .pdtop a:hover, +#phoca-dl-download-box .pdtop a:active, +#phoca-dl-download-box .pdtop a:focus { + background: transparent; +} + +/* overlib */ +#overDiv table, +#overDiv table tr, +#overDiv table tr td { + border: 0px +} + +#overDiv .fontPhocaPDClass { + color: #999; + margin:0;padding:0; +} + +#overDiv .fgPhocaPDClass { + background-color: #f0f0f0; + margin:0;padding:0; +} +#overDiv .bgPhocaPDClass { + background-color: #f0f0f0; + margin:0;padding:0; + border: 1px solid #999; +} +#overDiv .capfontPhocaPDClass { + color: #999; + margin:0;padding:0; +} +#overDiv .capfontclosePhocaPDClass, +#overDiv .capfontclosePhocaPDClass a { + color: #999; + text-decoration: underline; + text-align: right; + margin:0;padding:0; +} + +#phoca-dl-category-box .pagination #pg-pagination ul { + margin: 10px auto; + text-align: center; +} + +.pd-mirror, +.pd-report { + margin: 0px 0px 5px 5px; + float:right; +} + +.pd-mirror-file, +.pd-report-file { + margin: 0px 5px 5px 0px; + float:right; +} + +.pd-fbcomments { + margin-top: 10px; + margin-bottom: 10px; +} + +/* + * If Beez template is not used, the following code + * can be removed + * Because of using !important methods in Beez + */ + +#phocadownload table, +#phocadownload-pane table, +#phocadownload-pane table tr, +#phocadownload-pane table tr td{ + border-style: none !important; +} + +#phocadownload-pane table tr td { + padding:3px; +} +#phocadownload-multipleupload form fieldset { + text-align:left; + padding:5px; +} + +#phocadownload-pane .actions { + text-align:left; + width: auto; + padding:10px 5px !important; + margin:10px 0 !important; +} + +#phocadownload-pane ul#flash_uploader_filelist { + margin:0px; +} + +.label { + border-radius: 3px 3px 3px 3px; + padding: 1px 4px 2px; + color: #FFFFFF; + font-size: 10.998px; + font-weight: bold; + line-height: 14px; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + vertical-align: baseline; + white-space: nowrap; +} + +.label-warning { + background-color: #f89406; +} +.label-important { + background-color: #b94a48; +} + +.ph-cb { + clear:both +} + + +/* Bootstrap */ +#phoca-dl-category-box .pd-rating { + position: relative; + float: left; + clear: both; + margin-top: 5px; + margin-left: 5px; +} + +#phoca-dl-category-box .pd-tags-bp, +#phoca-dl-file-box .pd-tags-bp { + position: relative; + margin: 0px 5px 0px 5px; + float: right; + clear: right; +} +#phoca-dl-category-box .pd-mirror-bp { + margin: 0px 5px 0px 5px; + float:right; +} + +#phoca-dl-file-box .pd-mirror-bp { + margin: 0px 0px 0px 5px; + float:right; +} +#phoca-dl-category-box .pd-report-bp, +#phoca-dl-file-box .pd-report-bp { + margin: 0px 5px 0px 5px; + clear: right; + float:right; +} + +#phoca-dl-category-box .pd-video { +margin-left: 5px; +} + +#phoca-dl-file-box .pd-video { + padding-top: 10px; + clear:both; + padding: 10px; +} + +.pd-row2-bp { + border-bottom: 1px solid #e9e9e9; + margin: 0px 0px 8px 0px; + padding-bottom:5px; +} + + +#phoca-dl-file-box .pd-buttons-bp { + position: relative; + float: right; + margin: 0px 0px 0px 5px; +} +.ph-right { + text-align:right; +} + +.btn-file { + position: relative; + overflow: hidden; +} +.btn-file input[type=file] { + position: absolute; + top: 0; + right: 0; + min-width: 100%; + min-height: 100%; + font-size: 100px; + text-align: right; + filter: alpha(opacity=0); + opacity: 0; + outline: none; + background: white; + cursor: inherit; + display: block; +} +.pd-input-small { + width: 15em !important; +} +.pd-comment-input { + width: 100%; +} +.pd-user-upload-table tr td { + padding: 5px; +} + +#phocadownload-upload .footer { + text-align: center; +} +#phocadownload-upload .pd-file-upload-form { + padding-right: 10px; +} + +.ph-th-50 { + width: 50%; +} +.ph-th-3 { + width: 3%; +} +.ph-td-center { + text-align: center; +} + +.pd-button-box-bt a.btn { + float: right; + margin: 5px; +} + +#phoca-dl-download-box .pd-filenamebox-bt, +#phoca-dl-category-box .pd-filenamebox-bt { + position: relative; + float: left; + margin: 5px 0px; +} + +/* Specific colors for string tags */ +.pd-j-15 {background-color: #559d22;} +.pd-j-17 {background-color: #f25c14;} +.pd-j-25 {background-color: #6a379b;} +.pd-j-3x {background-color: #bc8b02;} +.pd-j-35 {background-color: #bc8b02;} + +#phoca-dl-license pre { + border: 0px; + border-radius:0px; +} \ No newline at end of file diff --git a/packages/phocadownload/media/com_phocadownload/css/main/rating.css b/packages/phocadownload/media/com_phocadownload/css/main/rating.css new file mode 100644 index 00000000..7e3a9d52 --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/css/main/rating.css @@ -0,0 +1,268 @@ +/* Rating */ +/* Voting - style by http://www.jluvip.com/works/css/starvote/index2-1.html*/ +#phoca-dl-category-box ul.star-rating li, +#phoca-dl-category-box ul.star-rating-small li, +#phoca-dl-file-box ul.star-rating li, +#phoca-dl-file-box ul.star-rating-small li{ + background: none; + list-style-type:none; +} + +#phoca-dl-file-box .star-rating, +#phoca-dl-category-box .star-rating, +.star-rating{ + list-style:none; + margin: 0px; + margin-bottom:5px; + padding:0px; + width: 110px; + height: 22px; + position: relative; + background: url(../../images/icon-voting.png) top left repeat-x; +} + +#phoca-dl-file-box .star-rating li, +#phoca-dl-category-box .star-rating li, +.star-rating li{ + list-style-type:none; + padding:0px; + margin:0px; + /*\*/ + float: left; + /* */ +} + +#phoca-dl-file-box .star-rating li a, +#phoca-dl-category-box .star-rating li a, +.star-rating li a{ + display:block; + width:22px; + height: 22px; + text-decoration: none; + text-indent: -9000px; + z-index: 20; + position: absolute; + padding: 0px; +} + +#phoca-dl-file-box .star-rating li a:hover, +#phoca-dl-category-box .star-rating li a:hover, +.star-rating li a:hover{ + background: url(../../images/icon-voting.png) left center; + z-index: 2; + left: 0px; +} + +#phoca-dl-file-box .star-rating a.star1, +#phoca-dl-category-box .star-rating a.star1, +.star-rating a.star1{ + left: 0px; +} + +#phoca-dl-file-box .star-rating a.star1:hover, +#phoca-dl-category-box .star-rating a.star1:hover, +.star-rating a.star1:hover{ + width:22px; +} + +#phoca-dl-file-box .star-rating a.stars2, +#phoca-dl-category-box .star-rating a.stars2, +.star-rating a.stars2{ + left:22px; +} + +#phoca-dl-file-box .star-rating a.stars2:hover, +#phoca-dl-category-box .star-rating a.stars2:hover, +.star-rating a.stars2:hover{ + width: 44px; +} + +#phoca-dl-file-box .star-rating a.stars3, +#phoca-dl-category-box .star-rating a.stars3, +.star-rating a.stars3{ + left: 44px; +} + +#phoca-dl-file-box .star-rating a.stars3:hover, +#phoca-dl-category-box .star-rating a.stars3:hover, +.star-rating a.stars3:hover{ + width: 66px; +} + +#phoca-dl-file-box .star-rating a.stars4, +#phoca-dl-category-box .star-rating a.stars4, +.star-rating a.stars4{ + left: 66px; +} + +#phoca-dl-file-box .star-rating a.stars4:hover, +#phoca-dl-category-box .star-rating a.stars4:hover, +.star-rating a.stars4:hover{ + width: 88px; +} + +#phoca-dl-file-box .star-rating a.stars5, +#phoca-dl-category-box .star-rating a.stars5, +.star-rating a.stars5{ + left: 88px; +} + +#phoca-dl-file-box .star-rating a.stars5:hover, +#phoca-dl-category-box .star-rating a.stars5:hover, +.star-rating a.stars5:hover{ + width: 110px; +} + +#phoca-dl-file-box .star-rating li.current-rating, +#phoca-dl-category-box .star-rating li.current-rating, +.star-rating li.current-rating{ + background: url(../../images/icon-voting.png) left bottom; + position: absolute; + height: 22px; + /*width:77px;*/ + display: block; + text-indent: -9000px; + z-index: 1; +} + + +/* Voting small */ +#phoca-dl-file-box .star-rating-small, +#phoca-dl-category-box .star-rating-small, +.star-rating-small{ + list-style:none; + margin: 0px; + margin-bottom:5px; + padding:0px; + width: 90px; + height: 18px; + position: relative; + background: url(../../images/icon-voting-small.png) top left repeat-x; +} + +#phoca-dl-file-box .star-rating-small li, +#phoca-dl-category-box .star-rating-small li, +.star-rating-small li{ + list-style-type:none; + padding:0px; + margin:0px; + /*\*/ + float: left; + /* */ +} + +#phoca-dl-file-box .star-rating-small li a, +#phoca-dl-category-box .star-rating-small li a, +.star-rating-small li a{ + display:block; + width:18px; + height: 18px; + text-decoration: none; + text-indent: -9000px; + z-index: 20; + position: absolute; + padding: 0px; +} + +#phoca-dl-file-box .star-rating-small li a:hover, +#phoca-dl-category-box .star-rating-small li a:hover, +.star-rating-small li a:hover{ + background: url(../../images/icon-voting-small.png) left center; + z-index: 2; + left: 0px; +} + +#phoca-dl-file-box .star-rating-small a.star1, +#phoca-dl-category-box .star-rating-small a.star1, +.star-rating-small a.star1{ + left: 0px; +} + +#phoca-dl-file-box .star-rating-small a.star1:hover, +#phoca-dl-category-box .star-rating-small a.star1:hover, +.star-rating-small a.star1:hover{ + width:18px; +} + +#phoca-dl-file-box .star-rating-small a.stars2, +#phoca-dl-category-box .star-rating-small a.stars2, +.star-rating-small a.stars2{ + left:18px; +} + +#phoca-dl-file-box .star-rating-small a.stars2:hover, +#phoca-dl-category-box .star-rating-small a.stars2:hover, +.star-rating-small a.stars2:hover{ + width: 36px; +} + +#phoca-dl-file-box .star-rating-small a.stars3, +#phoca-dl-category-box .star-rating-small a.stars3, +.star-rating-small a.stars3{ + left: 36px; +} + +#phoca-dl-file-box .star-rating-small a.stars3:hover, +#phoca-dl-category-box .star-rating-small a.stars3:hover, +.star-rating-small a.stars3:hover{ + width: 54px; +} + +#phoca-dl-file-box .star-rating-small a.stars4, +#phoca-dl-category-box .star-rating-small a.stars4, +.star-rating-small a.stars4{ + left: 54px; +} + +#phoca-dl-file-box .star-rating-small a.stars4:hover, +#phoca-dl-category-box .star-rating-small a.stars4:hover, +.star-rating-small a.stars4:hover{ + width: 72px; +} + +#phoca-dl-file-box .star-rating-small a.stars5, +#phoca-dl-category-box .star-rating-small a.stars5, +.star-rating-small a.stars5{ + left: 72px; +} + +#phoca-dl-file-box .star-rating-small a.stars5:hover, +#phoca-dl-category-box .star-rating-small a.stars5:hover, +.star-rating-small a.stars5:hover{ + width: 90px; +} + +#phoca-dl-file-box .star-rating-small li.current-rating, +#phoca-dl-category-box .star-rating-small li.current-rating, +.star-rating-small li.current-rating{ + background: url(../../images/icon-voting-small.png) left bottom; + position: absolute; + height: 18px; + /*width:77px;*/ + display: block; + text-indent: -9000px; + z-index: 1; +} + + + +.pd-small, +.pd-result, +#phoca-dl-file-box .pd-small, +#phoca-dl-file-box .pd-result, +#phoca-dl-category-box .pd-small, +#phoca-dl-category-box .pd-result { + font-size: x-small; +} + + +#phoca-dl-file-box ul.star-rating-small, +#phoca-dl-category-box ul.star-rating-small, +#phoca-dl-file-box ul.star-rating-small li, +#phoca-dl-category-box ul.star-rating-small li, +#phoca-dl-file-box ul.star-rating, +#phoca-dl-category-box ul.star-rating, +#phoca-dl-file-box ul.star-rating li, +#phoca-dl-category-box ul.star-rating li { + list-style: none !important; +} \ No newline at end of file diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/b-prm.png b/packages/phocadownload/media/com_phocadownload/images/administrator/b-prm.png new file mode 100644 index 00000000..c83f0a8a Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/b-prm.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/bg-install.png b/packages/phocadownload/media/com_phocadownload/images/administrator/bg-install.png new file mode 100644 index 00000000..5e77919f Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/bg-install.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/bg-upgrade.png b/packages/phocadownload/media/com_phocadownload/images/administrator/bg-upgrade.png new file mode 100644 index 00000000..d8fc39f8 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/bg-upgrade.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/btn.png b/packages/phocadownload/media/com_phocadownload/images/administrator/btn.png new file mode 100644 index 00000000..222cdc91 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/btn.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-12-approve.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-12-approve.png new file mode 100644 index 00000000..c6f9bb87 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-12-approve.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-12-authorizeall.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-12-authorizeall.png new file mode 100644 index 00000000..627e99d2 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-12-authorizeall.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-12-back.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-12-back.png new file mode 100644 index 00000000..f5cf6650 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-12-back.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-12-disapprove.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-12-disapprove.png new file mode 100644 index 00000000..b1d951c5 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-12-disapprove.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-12-multiple.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-12-multiple.png new file mode 100644 index 00000000..d72e3c78 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-12-multiple.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-12-reset.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-12-reset.png new file mode 100644 index 00000000..04c24037 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-12-reset.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-edb-back.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-edb-back.png new file mode 100644 index 00000000..b20f7071 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-edb-back.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-edb-categories.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-edb-categories.png new file mode 100644 index 00000000..ccd2a461 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-edb-categories.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-edb-category.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-edb-category.png new file mode 100644 index 00000000..c6e10556 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-edb-category.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-edb-file.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-edb-file.png new file mode 100644 index 00000000..1f365b7b Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-edb-file.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-edb-play.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-edb-play.png new file mode 100644 index 00000000..861a4e90 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-edb-play.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-edb-preview.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-edb-preview.png new file mode 100644 index 00000000..196323c2 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-edb-preview.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-edb-section.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-edb-section.png new file mode 100644 index 00000000..fb110933 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-edb-section.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-edb-sections.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-edb-sections.png new file mode 100644 index 00000000..a0fcb9cc Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-edb-sections.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-folder-small.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-folder-small.png new file mode 100644 index 00000000..7c613e05 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-folder-small.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-folder.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-folder.png new file mode 100644 index 00000000..784e8fa4 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-folder.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-control-panel.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-control-panel.png new file mode 100644 index 00000000..45bd09e2 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-control-panel.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-category.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-category.png new file mode 100644 index 00000000..c6e10556 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-category.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-downloads.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-downloads.png new file mode 100644 index 00000000..40ccc212 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-downloads.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-files.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-files.png new file mode 100644 index 00000000..1f365b7b Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-files.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-info.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-info.png new file mode 100644 index 00000000..7193ca41 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-info.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-layout.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-layout.png new file mode 100644 index 00000000..95d14061 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-layout.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-lic.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-lic.png new file mode 100644 index 00000000..221d83b0 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-lic.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-section.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-section.png new file mode 100644 index 00000000..fb110933 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-section.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-settings.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-settings.png new file mode 100644 index 00000000..3f1e2b3f Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-settings.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-stat.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-stat.png new file mode 100644 index 00000000..fac766d2 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-stat.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-styles.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-styles.png new file mode 100644 index 00000000..abb33c91 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-styles.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-tags.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-tags.png new file mode 100644 index 00000000..30f5ee0b Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-tags.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-upload.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-upload.png new file mode 100644 index 00000000..2d2f538d Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-upload.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-users.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-users.png new file mode 100644 index 00000000..87d85acb Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-users.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-vote-file.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-vote-file.png new file mode 100644 index 00000000..2840b083 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu-vote-file.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu.png new file mode 100644 index 00000000..9afbbc9a Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-pdl-menu.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-up.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-up.png new file mode 100644 index 00000000..e797bb8d Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-up.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-upload-multiple.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-upload-multiple.png new file mode 100644 index 00000000..18a78a6f Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-upload-multiple.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-upload.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-upload.png new file mode 100644 index 00000000..c39e98df Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-upload.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-user-stat.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-user-stat.png new file mode 100644 index 00000000..aa8be3cc Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-16-user-stat.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-32-approve.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-32-approve.png new file mode 100644 index 00000000..87c5a705 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-32-approve.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-32-authorizeall.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-32-authorizeall.png new file mode 100644 index 00000000..62edcf81 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-32-authorizeall.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-32-disapprove.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-32-disapprove.png new file mode 100644 index 00000000..f62c7b39 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-32-disapprove.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-32-multiple.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-32-multiple.png new file mode 100644 index 00000000..ef9c339a Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-32-multiple.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-32-reset.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-32-reset.png new file mode 100644 index 00000000..530d6414 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-32-reset.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-cat.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-cat.png new file mode 100644 index 00000000..b1e66a41 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-cat.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-cats.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-cats.png new file mode 100644 index 00000000..b1e66a41 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-cats.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-downloads.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-downloads.png new file mode 100644 index 00000000..c9b55152 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-downloads.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-file.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-file.png new file mode 100644 index 00000000..41469113 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-file.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-files.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-files.png new file mode 100644 index 00000000..41469113 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-files.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-info.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-info.png new file mode 100644 index 00000000..77ebfe26 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-info.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-layouts.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-layouts.png new file mode 100644 index 00000000..d49a4e14 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-layouts.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-lic.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-lic.png new file mode 100644 index 00000000..49525552 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-lic.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-lics.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-lics.png new file mode 100644 index 00000000..49525552 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-lics.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-logs.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-logs.png new file mode 100644 index 00000000..955a19f9 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-logs.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-pd-multiple.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-pd-multiple.png new file mode 100644 index 00000000..8056d9e6 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-pd-multiple.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-phoca.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-phoca.png new file mode 100644 index 00000000..7a35e909 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-phoca.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-phocadownload.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-phocadownload.png new file mode 100644 index 00000000..440c05e9 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-phocadownload.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-rafile.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-rafile.png new file mode 100644 index 00000000..60aa0171 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-rafile.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-sec.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-sec.png new file mode 100644 index 00000000..57d09dfa Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-sec.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-set.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-set.png new file mode 100644 index 00000000..59b92065 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-set.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-stat.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-stat.png new file mode 100644 index 00000000..9e14ab06 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-stat.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-styles.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-styles.png new file mode 100644 index 00000000..26c5327e Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-styles.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-tags.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-tags.png new file mode 100644 index 00000000..5a800692 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-tags.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-uploads.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-uploads.png new file mode 100644 index 00000000..f2dde80f Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-uploads.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-user-stat.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-user-stat.png new file mode 100644 index 00000000..dd6cc156 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-user-stat.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-users.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-users.png new file mode 100644 index 00000000..173f4af0 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-users.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-vote-file.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-vote-file.png new file mode 100644 index 00000000..60aa0171 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-48-vote-file.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pc.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pc.png new file mode 100644 index 00000000..43222480 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pc.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pcm.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pcm.png new file mode 100644 index 00000000..26f3e87c Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pcm.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pd.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pd.png new file mode 100644 index 00000000..24c454eb Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pd.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pdc.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pdc.png new file mode 100644 index 00000000..4851e752 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pdc.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pe.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pe.png new file mode 100644 index 00000000..429e6824 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pe.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pf.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pf.png new file mode 100644 index 00000000..c2d84788 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pf.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pfv.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pfv.png new file mode 100644 index 00000000..a674f6e5 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pfv.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pg.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pg.png new file mode 100644 index 00000000..f85d8632 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pg.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pgb.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pgb.png new file mode 100644 index 00000000..82eb733f Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pgb.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-ph.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-ph.png new file mode 100644 index 00000000..96026da9 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-ph.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pi.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pi.png new file mode 100644 index 00000000..a2877e99 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pi.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pm.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pm.png new file mode 100644 index 00000000..71642abc Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pm.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pp.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pp.png new file mode 100644 index 00000000..23895d01 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pp.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-ppdf.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-ppdf.png new file mode 100644 index 00000000..f730e23f Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-ppdf.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-prm.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-prm.png new file mode 100644 index 00000000..04119cf9 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-prm.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-psef.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-psef.png new file mode 100644 index 00000000..e723f51c Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-psef.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pt.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pt.png new file mode 100644 index 00000000..b88551db Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-box-pt.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-file.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-file.png new file mode 100644 index 00000000..e6881fa2 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-file.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-folder.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-folder.png new file mode 100644 index 00000000..f64befae Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-folder.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-phoca-logo.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-phoca-logo.png new file mode 100644 index 00000000..5e88a39a Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-phoca-logo.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-up.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-up.png new file mode 100644 index 00000000..f82c02d2 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-up.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-voting-small.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-voting-small.png new file mode 100644 index 00000000..eb33bbc8 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-voting-small.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/icon-voting.png b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-voting.png new file mode 100644 index 00000000..0463f483 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/icon-voting.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/index.html b/packages/phocadownload/media/com_phocadownload/images/administrator/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/images/administrator/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/line.png b/packages/phocadownload/media/com_phocadownload/images/administrator/line.png new file mode 100644 index 00000000..df9aed4e Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/line.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/logo-phoca.png b/packages/phocadownload/media/com_phocadownload/images/administrator/logo-phoca.png new file mode 100644 index 00000000..5f90a58a Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/logo-phoca.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/logo.png b/packages/phocadownload/media/com_phocadownload/images/administrator/logo.png new file mode 100644 index 00000000..f5f5b79a Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/logo.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/spacer.gif b/packages/phocadownload/media/com_phocadownload/images/administrator/spacer.gif new file mode 100644 index 00000000..6964168b Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/spacer.gif differ diff --git a/packages/phocadownload/media/com_phocadownload/images/administrator/white-space.png b/packages/phocadownload/media/com_phocadownload/images/administrator/white-space.png new file mode 100644 index 00000000..b4319bd1 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/administrator/white-space.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/bg-details.png b/packages/phocadownload/media/com_phocadownload/images/bg-details.png new file mode 100644 index 00000000..2d81c5a2 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/bg-details.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/bg-download.png b/packages/phocadownload/media/com_phocadownload/images/bg-download.png new file mode 100644 index 00000000..1bda5471 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/bg-download.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/bg-play.png b/packages/phocadownload/media/com_phocadownload/images/bg-play.png new file mode 100644 index 00000000..c70bbdd5 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/bg-play.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/bg-preview.png b/packages/phocadownload/media/com_phocadownload/images/bg-preview.png new file mode 100644 index 00000000..002bf7bb Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/bg-preview.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/bl.png b/packages/phocadownload/media/com_phocadownload/images/bl.png new file mode 100644 index 00000000..e5b5fc69 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/bl.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/blue-bg.png b/packages/phocadownload/media/com_phocadownload/images/blue-bg.png new file mode 100644 index 00000000..345993f3 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/blue-bg.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/br.png b/packages/phocadownload/media/com_phocadownload/images/br.png new file mode 100644 index 00000000..87775c7f Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/br.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/btn.png b/packages/phocadownload/media/com_phocadownload/images/btn.png new file mode 100644 index 00000000..222cdc91 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/btn.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/button-detail-l.png b/packages/phocadownload/media/com_phocadownload/images/button-detail-l.png new file mode 100644 index 00000000..d5a11a2a Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/button-detail-l.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/button-detail-r.png b/packages/phocadownload/media/com_phocadownload/images/button-detail-r.png new file mode 100644 index 00000000..afaa6533 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/button-detail-r.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/button-download-l.png b/packages/phocadownload/media/com_phocadownload/images/button-download-l.png new file mode 100644 index 00000000..2ddd15fa Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/button-download-l.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/button-download-r.png b/packages/phocadownload/media/com_phocadownload/images/button-download-r.png new file mode 100644 index 00000000..d53a5611 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/button-download-r.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/button-play-l.png b/packages/phocadownload/media/com_phocadownload/images/button-play-l.png new file mode 100644 index 00000000..27c0de30 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/button-play-l.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/button-play-r.png b/packages/phocadownload/media/com_phocadownload/images/button-play-r.png new file mode 100644 index 00000000..b60f73e8 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/button-play-r.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/button-preview-l.png b/packages/phocadownload/media/com_phocadownload/images/button-preview-l.png new file mode 100644 index 00000000..4b11b707 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/button-preview-l.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/button-preview-r.png b/packages/phocadownload/media/com_phocadownload/images/button-preview-r.png new file mode 100644 index 00000000..d3859d05 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/button-preview-r.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/category.png b/packages/phocadownload/media/com_phocadownload/images/category.png new file mode 100644 index 00000000..e6703af0 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/category.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/document.png b/packages/phocadownload/media/com_phocadownload/images/document.png new file mode 100644 index 00000000..934313f4 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/document.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/folder.png b/packages/phocadownload/media/com_phocadownload/images/folder.png new file mode 100644 index 00000000..7c613e05 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/folder.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/grey-bg.png b/packages/phocadownload/media/com_phocadownload/images/grey-bg.png new file mode 100644 index 00000000..42ef5155 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/grey-bg.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/htl.png b/packages/phocadownload/media/com_phocadownload/images/htl.png new file mode 100644 index 00000000..b4f2d59b Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/htl.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/htr.png b/packages/phocadownload/media/com_phocadownload/images/htr.png new file mode 100644 index 00000000..6e5819ea Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/htr.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/icon-details.png b/packages/phocadownload/media/com_phocadownload/images/icon-details.png new file mode 100644 index 00000000..f6b74cc4 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/icon-details.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/icon-document-16.png b/packages/phocadownload/media/com_phocadownload/images/icon-document-16.png new file mode 100644 index 00000000..e654b77a Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/icon-document-16.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/icon-document-32.png b/packages/phocadownload/media/com_phocadownload/images/icon-document-32.png new file mode 100644 index 00000000..52b7f2de Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/icon-document-32.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/icon-document-48.png b/packages/phocadownload/media/com_phocadownload/images/icon-document-48.png new file mode 100644 index 00000000..414ddedc Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/icon-document-48.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/icon-document-64.png b/packages/phocadownload/media/com_phocadownload/images/icon-document-64.png new file mode 100644 index 00000000..a9e527c9 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/icon-document-64.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/icon-download.png b/packages/phocadownload/media/com_phocadownload/images/icon-download.png new file mode 100644 index 00000000..6906e3a8 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/icon-download.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/icon-extlink1.png b/packages/phocadownload/media/com_phocadownload/images/icon-extlink1.png new file mode 100644 index 00000000..ee892b53 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/icon-extlink1.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/icon-extlink2.png b/packages/phocadownload/media/com_phocadownload/images/icon-extlink2.png new file mode 100644 index 00000000..c3d1610d Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/icon-extlink2.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/icon-hot.png b/packages/phocadownload/media/com_phocadownload/images/icon-hot.png new file mode 100644 index 00000000..bfc0c02d Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/icon-hot.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/icon-loading.gif b/packages/phocadownload/media/com_phocadownload/images/icon-loading.gif new file mode 100644 index 00000000..bcb59f00 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/icon-loading.gif differ diff --git a/packages/phocadownload/media/com_phocadownload/images/icon-loading2.gif b/packages/phocadownload/media/com_phocadownload/images/icon-loading2.gif new file mode 100644 index 00000000..88fac73d Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/icon-loading2.gif differ diff --git a/packages/phocadownload/media/com_phocadownload/images/icon-new.png b/packages/phocadownload/media/com_phocadownload/images/icon-new.png new file mode 100644 index 00000000..c82158c4 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/icon-new.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/icon-phoca-logo.png b/packages/phocadownload/media/com_phocadownload/images/icon-phoca-logo.png new file mode 100644 index 00000000..5e88a39a Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/icon-phoca-logo.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/icon-play.png b/packages/phocadownload/media/com_phocadownload/images/icon-play.png new file mode 100644 index 00000000..6cddac2f Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/icon-play.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/icon-preview.png b/packages/phocadownload/media/com_phocadownload/images/icon-preview.png new file mode 100644 index 00000000..d6f6739e Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/icon-preview.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/icon-publish-g.png b/packages/phocadownload/media/com_phocadownload/images/icon-publish-g.png new file mode 100644 index 00000000..ef7799ce Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/icon-publish-g.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/icon-publish.png b/packages/phocadownload/media/com_phocadownload/images/icon-publish.png new file mode 100644 index 00000000..82e6ae7b Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/icon-publish.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/icon-trash-g.png b/packages/phocadownload/media/com_phocadownload/images/icon-trash-g.png new file mode 100644 index 00000000..676ab180 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/icon-trash-g.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/icon-trash.png b/packages/phocadownload/media/com_phocadownload/images/icon-trash.png new file mode 100644 index 00000000..70938c99 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/icon-trash.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/icon-unpublish-g.png b/packages/phocadownload/media/com_phocadownload/images/icon-unpublish-g.png new file mode 100644 index 00000000..6a0e6366 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/icon-unpublish-g.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/icon-unpublish.png b/packages/phocadownload/media/com_phocadownload/images/icon-unpublish.png new file mode 100644 index 00000000..4594826a Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/icon-unpublish.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/icon-voting-small.png b/packages/phocadownload/media/com_phocadownload/images/icon-voting-small.png new file mode 100644 index 00000000..6ded95bf Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/icon-voting-small.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/icon-voting.png b/packages/phocadownload/media/com_phocadownload/images/icon-voting.png new file mode 100644 index 00000000..4ec6df65 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/icon-voting.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/index.html b/packages/phocadownload/media/com_phocadownload/images/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/images/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-7zip.png b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-7zip.png new file mode 100644 index 00000000..99ae6fc6 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-7zip.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-audio.png b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-audio.png new file mode 100644 index 00000000..a67618d1 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-audio.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-document.png b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-document.png new file mode 100644 index 00000000..5732f9b2 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-document.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-drawing.png b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-drawing.png new file mode 100644 index 00000000..8f1da5c3 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-drawing.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-empty.png b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-empty.png new file mode 100644 index 00000000..69972298 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-empty.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-folder-open.png b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-folder-open.png new file mode 100644 index 00000000..2aa5cc75 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-folder-open.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-folder.png b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-folder.png new file mode 100644 index 00000000..7c613e05 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-folder.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-gzip.png b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-gzip.png new file mode 100644 index 00000000..99ae6fc6 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-gzip.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-html.png b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-html.png new file mode 100644 index 00000000..2f94a784 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-html.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-img.png b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-img.png new file mode 100644 index 00000000..add1c591 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-img.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-jar.png b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-jar.png new file mode 100644 index 00000000..99ae6fc6 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-jar.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-pdf.png b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-pdf.png new file mode 100644 index 00000000..7408d8d6 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-pdf.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-php.png b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-php.png new file mode 100644 index 00000000..22c4df63 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-php.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-presentation.png b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-presentation.png new file mode 100644 index 00000000..db195e92 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-presentation.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-rar.png b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-rar.png new file mode 100644 index 00000000..8a0ff54f Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-rar.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-source.png b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-source.png new file mode 100644 index 00000000..5bef9207 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-source.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-spreadsheet.png b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-spreadsheet.png new file mode 100644 index 00000000..a0343673 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-spreadsheet.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-sql.png b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-sql.png new file mode 100644 index 00000000..b3b1467b Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-sql.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-tar.png b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-tar.png new file mode 100644 index 00000000..bab3b6ad Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-tar.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-txt.png b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-txt.png new file mode 100644 index 00000000..1d48677c Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-txt.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-video.png b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-video.png new file mode 100644 index 00000000..f92f7e1e Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-video.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-xml.png b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-xml.png new file mode 100644 index 00000000..83a83df9 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-xml.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-zip.png b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-zip.png new file mode 100644 index 00000000..cc196c1e Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/16/icon-zip.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/16/index.html b/packages/phocadownload/media/com_phocadownload/images/mime/16/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/images/mime/16/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-7zip.png b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-7zip.png new file mode 100644 index 00000000..a59b8fe6 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-7zip.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-audio.png b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-audio.png new file mode 100644 index 00000000..7e7c120d Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-audio.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-document.png b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-document.png new file mode 100644 index 00000000..715f64e8 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-document.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-drawing.png b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-drawing.png new file mode 100644 index 00000000..7e6beb5c Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-drawing.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-empty.png b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-empty.png new file mode 100644 index 00000000..75fe5e16 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-empty.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-folder-open.png b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-folder-open.png new file mode 100644 index 00000000..75e71d94 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-folder-open.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-folder.png b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-folder.png new file mode 100644 index 00000000..ec739795 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-folder.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-gzip.png b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-gzip.png new file mode 100644 index 00000000..afe15a38 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-gzip.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-html.png b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-html.png new file mode 100644 index 00000000..b01d1416 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-html.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-img.png b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-img.png new file mode 100644 index 00000000..a5a2ce06 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-img.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-jar.png b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-jar.png new file mode 100644 index 00000000..21edaa55 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-jar.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-pdf.png b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-pdf.png new file mode 100644 index 00000000..8cdc3d06 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-pdf.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-php.png b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-php.png new file mode 100644 index 00000000..e7638cdd Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-php.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-presentation.png b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-presentation.png new file mode 100644 index 00000000..a7b9827e Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-presentation.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-rar.png b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-rar.png new file mode 100644 index 00000000..21f751aa Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-rar.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-source.png b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-source.png new file mode 100644 index 00000000..81a2a766 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-source.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-spreadsheet.png b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-spreadsheet.png new file mode 100644 index 00000000..287251a0 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-spreadsheet.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-sql.png b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-sql.png new file mode 100644 index 00000000..57dd5719 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-sql.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-tar.png b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-tar.png new file mode 100644 index 00000000..13b04bb5 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-tar.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-txt.png b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-txt.png new file mode 100644 index 00000000..411ee08c Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-txt.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-video.png b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-video.png new file mode 100644 index 00000000..63e416ba Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-video.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-xml.png b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-xml.png new file mode 100644 index 00000000..8de9233e Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-xml.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-zip.png b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-zip.png new file mode 100644 index 00000000..db69ba5f Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/32/icon-zip.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/32/index.html b/packages/phocadownload/media/com_phocadownload/images/mime/32/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/images/mime/32/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-7zip.png b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-7zip.png new file mode 100644 index 00000000..16a6f5a2 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-7zip.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-audio.png b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-audio.png new file mode 100644 index 00000000..20c14897 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-audio.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-document.png b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-document.png new file mode 100644 index 00000000..da782123 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-document.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-drawing.png b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-drawing.png new file mode 100644 index 00000000..60c4836c Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-drawing.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-empty.png b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-empty.png new file mode 100644 index 00000000..ec5c158d Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-empty.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-folder-open.png b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-folder-open.png new file mode 100644 index 00000000..41ebd8cf Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-folder-open.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-folder.png b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-folder.png new file mode 100644 index 00000000..f47e7e13 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-folder.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-gzip.png b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-gzip.png new file mode 100644 index 00000000..6048579e Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-gzip.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-html.png b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-html.png new file mode 100644 index 00000000..36a1338c Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-html.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-img.png b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-img.png new file mode 100644 index 00000000..69bd44e7 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-img.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-jar.png b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-jar.png new file mode 100644 index 00000000..e765c394 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-jar.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-pdf.png b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-pdf.png new file mode 100644 index 00000000..6bb7ab28 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-pdf.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-php.png b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-php.png new file mode 100644 index 00000000..1bac2ec1 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-php.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-presentation.png b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-presentation.png new file mode 100644 index 00000000..d08d1b17 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-presentation.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-rar.png b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-rar.png new file mode 100644 index 00000000..a9b49d1f Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-rar.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-source.png b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-source.png new file mode 100644 index 00000000..c7bf4344 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-source.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-spreadsheet.png b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-spreadsheet.png new file mode 100644 index 00000000..af88f835 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-spreadsheet.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-sql.png b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-sql.png new file mode 100644 index 00000000..ca3fa0e5 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-sql.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-tar.png b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-tar.png new file mode 100644 index 00000000..ba2a7738 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-tar.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-txt.png b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-txt.png new file mode 100644 index 00000000..fefa360d Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-txt.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-video.png b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-video.png new file mode 100644 index 00000000..6b8f79c0 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-video.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-xml.png b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-xml.png new file mode 100644 index 00000000..5cda3e62 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-xml.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-zip.png b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-zip.png new file mode 100644 index 00000000..4d2c42ba Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/48/icon-zip.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/48/index.html b/packages/phocadownload/media/com_phocadownload/images/mime/48/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/images/mime/48/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-7zip.png b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-7zip.png new file mode 100644 index 00000000..b87d6deb Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-7zip.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-audio.png b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-audio.png new file mode 100644 index 00000000..10bb7002 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-audio.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-document.png b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-document.png new file mode 100644 index 00000000..b5b5e6aa Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-document.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-drawing.png b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-drawing.png new file mode 100644 index 00000000..be8b60f9 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-drawing.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-empty.png b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-empty.png new file mode 100644 index 00000000..3ce90f86 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-empty.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-folder-open.png b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-folder-open.png new file mode 100644 index 00000000..914976fc Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-folder-open.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-folder.png b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-folder.png new file mode 100644 index 00000000..0b10f4f8 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-folder.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-gzip.png b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-gzip.png new file mode 100644 index 00000000..46d82bfc Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-gzip.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-html.png b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-html.png new file mode 100644 index 00000000..12aea69d Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-html.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-img.png b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-img.png new file mode 100644 index 00000000..dc1355d3 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-img.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-jar.png b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-jar.png new file mode 100644 index 00000000..f75d9978 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-jar.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-pdf.png b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-pdf.png new file mode 100644 index 00000000..bb2086ff Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-pdf.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-php.png b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-php.png new file mode 100644 index 00000000..71e9321b Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-php.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-presentation.png b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-presentation.png new file mode 100644 index 00000000..215aa309 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-presentation.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-rar.png b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-rar.png new file mode 100644 index 00000000..7be75d6b Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-rar.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-source.png b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-source.png new file mode 100644 index 00000000..9e7bda44 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-source.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-spreadsheet.png b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-spreadsheet.png new file mode 100644 index 00000000..c0f0d989 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-spreadsheet.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-sql.png b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-sql.png new file mode 100644 index 00000000..02935c6e Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-sql.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-tar.png b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-tar.png new file mode 100644 index 00000000..817cf092 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-tar.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-txt.png b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-txt.png new file mode 100644 index 00000000..84919192 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-txt.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-video.png b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-video.png new file mode 100644 index 00000000..78b9cd57 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-video.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-xml.png b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-xml.png new file mode 100644 index 00000000..fa15f0d3 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-xml.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-zip.png b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-zip.png new file mode 100644 index 00000000..e27c2eb2 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/mime/64/icon-zip.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/64/index.html b/packages/phocadownload/media/com_phocadownload/images/mime/64/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/images/mime/64/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/AUTHORS b/packages/phocadownload/media/com_phocadownload/images/mime/AUTHORS new file mode 100644 index 00000000..bb7475c4 --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/images/mime/AUTHORS @@ -0,0 +1,5 @@ +Faenza is designed and developed by Matthieu James . + +Faenza icons are all licensed under the GPL. + +Thanks to Holger Seelig and clemyeats for their help for having some text preview inside icons in Nautilus. diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/COPYING b/packages/phocadownload/media/com_phocadownload/images/mime/COPYING new file mode 100644 index 00000000..94a9ed02 --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/images/mime/COPYING @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/packages/phocadownload/media/com_phocadownload/images/mime/index.html b/packages/phocadownload/media/com_phocadownload/images/mime/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/images/mime/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/media/com_phocadownload/images/next-grey.png b/packages/phocadownload/media/com_phocadownload/images/next-grey.png new file mode 100644 index 00000000..557822a9 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/next-grey.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/next.png b/packages/phocadownload/media/com_phocadownload/images/next.png new file mode 100644 index 00000000..b125123e Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/next.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/phoca-download.png b/packages/phocadownload/media/com_phocadownload/images/phoca-download.png new file mode 100644 index 00000000..3bf92fb7 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/phoca-download.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/prev-grey.png b/packages/phocadownload/media/com_phocadownload/images/prev-grey.png new file mode 100644 index 00000000..f75a8350 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/prev-grey.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/prev.png b/packages/phocadownload/media/com_phocadownload/images/prev.png new file mode 100644 index 00000000..6a1e73c4 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/prev.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/tl.png b/packages/phocadownload/media/com_phocadownload/images/tl.png new file mode 100644 index 00000000..fa793028 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/tl.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/tr.png b/packages/phocadownload/media/com_phocadownload/images/tr.png new file mode 100644 index 00000000..60f3a25b Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/tr.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/up.png b/packages/phocadownload/media/com_phocadownload/images/up.png new file mode 100644 index 00000000..953884aa Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/up.png differ diff --git a/packages/phocadownload/media/com_phocadownload/images/white-space.png b/packages/phocadownload/media/com_phocadownload/images/white-space.png new file mode 100644 index 00000000..b4319bd1 Binary files /dev/null and b/packages/phocadownload/media/com_phocadownload/images/white-space.png differ diff --git a/packages/phocadownload/media/com_phocadownload/index.html b/packages/phocadownload/media/com_phocadownload/index.html new file mode 100644 index 00000000..ea9e94c1 --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/media/com_phocadownload/js/index.html b/packages/phocadownload/media/com_phocadownload/js/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/js/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/media/com_phocadownload/js/jquery.equalheights.min.js b/packages/phocadownload/media/com_phocadownload/js/jquery.equalheights.min.js new file mode 100644 index 00000000..6bba224c --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/js/jquery.equalheights.min.js @@ -0,0 +1,11 @@ +/*! + * Simple jQuery Equal Heights + * + * Copyright (c) 2013 Matt Banks + * Dual licensed under the MIT and GPL licenses. + * Uses the same license as jQuery, see: + * http://docs.jquery.com/License + * + * @version 1.5.1 + */ +!function(a){a.fn.equalHeights=function(){var b=0,c=a(this);return c.each(function(){var c=a(this).innerHeight();c>b&&(b=c)}),c.css("height",b)},a("[data-equal]").each(function(){var b=a(this),c=b.data("equal");b.find(c).equalHeights()})}(jQuery); \ No newline at end of file diff --git a/packages/phocadownload/media/com_phocadownload/js/jquery.matchHeight.js b/packages/phocadownload/media/com_phocadownload/js/jquery.matchHeight.js new file mode 100644 index 00000000..ab24d45c --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/js/jquery.matchHeight.js @@ -0,0 +1,385 @@ +/** +* jquery-match-height master by @liabru +* http://brm.io/jquery-match-height/ +* License: MIT +*/ + +;(function(factory) { // eslint-disable-line no-extra-semi + 'use strict'; + if (typeof define === 'function' && define.amd) { + // AMD + define(['jquery'], factory); + } else if (typeof module !== 'undefined' && module.exports) { + // CommonJS + module.exports = factory(require('jquery')); + } else { + // Global + factory(jQuery); + } +})(function($) { + /* + * internal + */ + + var _previousResizeWidth = -1, + _updateTimeout = -1; + + /* + * _parse + * value parse utility function + */ + + var _parse = function(value) { + // parse value and convert NaN to 0 + return parseFloat(value) || 0; + }; + + /* + * _rows + * utility function returns array of jQuery selections representing each row + * (as displayed after float wrapping applied by browser) + */ + + var _rows = function(elements) { + var tolerance = 1, + $elements = $(elements), + lastTop = null, + rows = []; + + // group elements by their top position + $elements.each(function(){ + var $that = $(this), + top = $that.offset().top - _parse($that.css('margin-top')), + lastRow = rows.length > 0 ? rows[rows.length - 1] : null; + + if (lastRow === null) { + // first item on the row, so just push it + rows.push($that); + } else { + // if the row top is the same, add to the row group + if (Math.floor(Math.abs(lastTop - top)) <= tolerance) { + rows[rows.length - 1] = lastRow.add($that); + } else { + // otherwise start a new row group + rows.push($that); + } + } + + // keep track of the last row top + lastTop = top; + }); + + return rows; + }; + + /* + * _parseOptions + * handle plugin options + */ + + var _parseOptions = function(options) { + var opts = { + byRow: true, + property: 'height', + target: null, + remove: false + }; + + if (typeof options === 'object') { + return $.extend(opts, options); + } + + if (typeof options === 'boolean') { + opts.byRow = options; + } else if (options === 'remove') { + opts.remove = true; + } + + return opts; + }; + + /* + * matchHeight + * plugin definition + */ + + var matchHeight = $.fn.matchHeight = function(options) { + var opts = _parseOptions(options); + + // handle remove + if (opts.remove) { + var that = this; + + // remove fixed height from all selected elements + this.css(opts.property, ''); + + // remove selected elements from all groups + $.each(matchHeight._groups, function(key, group) { + group.elements = group.elements.not(that); + }); + + // TODO: cleanup empty groups + + return this; + } + + if (this.length <= 1 && !opts.target) { + return this; + } + + // keep track of this group so we can re-apply later on load and resize events + matchHeight._groups.push({ + elements: this, + options: opts + }); + + // match each element's height to the tallest element in the selection + matchHeight._apply(this, opts); + + return this; + }; + + /* + * plugin global options + */ + + matchHeight.version = 'master'; + matchHeight._groups = []; + matchHeight._throttle = 80; + matchHeight._maintainScroll = false; + matchHeight._beforeUpdate = null; + matchHeight._afterUpdate = null; + matchHeight._rows = _rows; + matchHeight._parse = _parse; + matchHeight._parseOptions = _parseOptions; + + /* + * matchHeight._apply + * apply matchHeight to given elements + */ + + matchHeight._apply = function(elements, options) { + var opts = _parseOptions(options), + $elements = $(elements), + rows = [$elements]; + + // take note of scroll position + var scrollTop = $(window).scrollTop(), + htmlHeight = $('html').outerHeight(true); + + // get hidden parents + var $hiddenParents = $elements.parents().filter(':hidden'); + + // cache the original inline style + $hiddenParents.each(function() { + var $that = $(this); + $that.data('style-cache', $that.attr('style')); + }); + + // temporarily must force hidden parents visible + $hiddenParents.css('display', 'block'); + + // get rows if using byRow, otherwise assume one row + if (opts.byRow && !opts.target) { + + // must first force an arbitrary equal height so floating elements break evenly + $elements.each(function() { + var $that = $(this), + display = $that.css('display'); + + // temporarily force a usable display value + if (display !== 'inline-block' && display !== 'flex' && display !== 'inline-flex') { + display = 'block'; + } + + // cache the original inline style + $that.data('style-cache', $that.attr('style')); + + $that.css({ + 'display': display, + 'padding-top': '0', + 'padding-bottom': '0', + 'margin-top': '0', + 'margin-bottom': '0', + 'border-top-width': '0', + 'border-bottom-width': '0', + 'height': '100px', + 'overflow': 'hidden' + }); + }); + + // get the array of rows (based on element top position) + rows = _rows($elements); + + // revert original inline styles + $elements.each(function() { + var $that = $(this); + $that.attr('style', $that.data('style-cache') || ''); + }); + } + + $.each(rows, function(key, row) { + var $row = $(row), + targetHeight = 0; + + if (!opts.target) { + // skip apply to rows with only one item + if (opts.byRow && $row.length <= 1) { + $row.css(opts.property, ''); + return; + } + + // iterate the row and find the max height + $row.each(function(){ + var $that = $(this), + style = $that.attr('style'), + display = $that.css('display'); + + // temporarily force a usable display value + if (display !== 'inline-block' && display !== 'flex' && display !== 'inline-flex') { + display = 'block'; + } + + // ensure we get the correct actual height (and not a previously set height value) + var css = { 'display': display }; + css[opts.property] = ''; + $that.css(css); + + // find the max height (including padding, but not margin) + if ($that.outerHeight(false) > targetHeight) { + targetHeight = $that.outerHeight(false); + } + + // revert styles + if (style) { + $that.attr('style', style); + } else { + $that.css('display', ''); + } + }); + } else { + // if target set, use the height of the target element + targetHeight = opts.target.outerHeight(false); + } + + // iterate the row and apply the height to all elements + $row.each(function(){ + var $that = $(this), + verticalPadding = 0; + + // don't apply to a target + if (opts.target && $that.is(opts.target)) { + return; + } + + // handle padding and border correctly (required when not using border-box) + if ($that.css('box-sizing') !== 'border-box') { + verticalPadding += _parse($that.css('border-top-width')) + _parse($that.css('border-bottom-width')); + verticalPadding += _parse($that.css('padding-top')) + _parse($that.css('padding-bottom')); + } + + // set the height (accounting for padding and border) + $that.css(opts.property, (targetHeight - verticalPadding) + 'px'); + }); + }); + + // revert hidden parents + $hiddenParents.each(function() { + var $that = $(this); + $that.attr('style', $that.data('style-cache') || null); + }); + + // restore scroll position if enabled + if (matchHeight._maintainScroll) { + $(window).scrollTop((scrollTop / htmlHeight) * $('html').outerHeight(true)); + } + + return this; + }; + + /* + * matchHeight._applyDataApi + * applies matchHeight to all elements with a data-match-height attribute + */ + + matchHeight._applyDataApi = function() { + var groups = {}; + + // generate groups by their groupId set by elements using data-match-height + $('[data-match-height], [data-mh]').each(function() { + var $this = $(this), + groupId = $this.attr('data-mh') || $this.attr('data-match-height'); + + if (groupId in groups) { + groups[groupId] = groups[groupId].add($this); + } else { + groups[groupId] = $this; + } + }); + + // apply matchHeight to each group + $.each(groups, function() { + this.matchHeight(true); + }); + }; + + /* + * matchHeight._update + * updates matchHeight on all current groups with their correct options + */ + + var _update = function(event) { + if (matchHeight._beforeUpdate) { + matchHeight._beforeUpdate(event, matchHeight._groups); + } + + $.each(matchHeight._groups, function() { + matchHeight._apply(this.elements, this.options); + }); + + if (matchHeight._afterUpdate) { + matchHeight._afterUpdate(event, matchHeight._groups); + } + }; + + matchHeight._update = function(throttle, event) { + // prevent update if fired from a resize event + // where the viewport width hasn't actually changed + // fixes an event looping bug in IE8 + if (event && event.type === 'resize') { + var windowWidth = $(window).width(); + if (windowWidth === _previousResizeWidth) { + return; + } + _previousResizeWidth = windowWidth; + } + + // throttle updates + if (!throttle) { + _update(event); + } else if (_updateTimeout === -1) { + _updateTimeout = setTimeout(function() { + _update(event); + _updateTimeout = -1; + }, matchHeight._throttle); + } + }; + + /* + * bind events + */ + + // apply on DOM ready event + $(matchHeight._applyDataApi); + + // update heights on load and resize events + $(window).bind('load', function(event) { + matchHeight._update(false, event); + }); + + // throttled update heights on resize events + $(window).bind('resize orientationchange', function(event) { + matchHeight._update(true, event); + }); + +}); diff --git a/packages/phocadownload/media/com_phocadownload/js/jquery.matchHeight.min.js b/packages/phocadownload/media/com_phocadownload/js/jquery.matchHeight.min.js new file mode 100644 index 00000000..0ff8a9e8 --- /dev/null +++ b/packages/phocadownload/media/com_phocadownload/js/jquery.matchHeight.min.js @@ -0,0 +1 @@ +!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):"undefined"!=typeof module&&module.exports?module.exports=t(require("jquery")):t(jQuery)}(function(t){var e=-1,o=-1,a=function(t){return parseFloat(t)||0},i=function(e){var o=1,i=t(e),n=null,r=[];return i.each(function(){var e=t(this),i=e.offset().top-a(e.css("margin-top")),s=r.length>0?r[r.length-1]:null;null===s?r.push(e):Math.floor(Math.abs(n-i))<=o?r[r.length-1]=s.add(e):r.push(e),n=i}),r},n=function(e){var o={byRow:!0,property:"height",target:null,remove:!1};return"object"==typeof e?t.extend(o,e):("boolean"==typeof e?o.byRow=e:"remove"===e&&(o.remove=!0),o)},r=t.fn.matchHeight=function(e){var o=n(e);if(o.remove){var a=this;return this.css(o.property,""),t.each(r._groups,function(t,e){e.elements=e.elements.not(a)}),this}return this.length<=1&&!o.target?this:(r._groups.push({elements:this,options:o}),r._apply(this,o),this)};r.version="master",r._groups=[],r._throttle=80,r._maintainScroll=!1,r._beforeUpdate=null,r._afterUpdate=null,r._rows=i,r._parse=a,r._parseOptions=n,r._apply=function(e,o){var s=n(o),h=t(e),l=[h],c=t(window).scrollTop(),p=t("html").outerHeight(!0),d=h.parents().filter(":hidden");return d.each(function(){var e=t(this);e.data("style-cache",e.attr("style"))}),d.css("display","block"),s.byRow&&!s.target&&(h.each(function(){var e=t(this),o=e.css("display");"inline-block"!==o&&"flex"!==o&&"inline-flex"!==o&&(o="block"),e.data("style-cache",e.attr("style")),e.css({display:o,"padding-top":"0","padding-bottom":"0","margin-top":"0","margin-bottom":"0","border-top-width":"0","border-bottom-width":"0",height:"100px",overflow:"hidden"})}),l=i(h),h.each(function(){var e=t(this);e.attr("style",e.data("style-cache")||"")})),t.each(l,function(e,o){var i=t(o),n=0;if(s.target)n=s.target.outerHeight(!1);else{if(s.byRow&&i.length<=1)return void i.css(s.property,"");i.each(function(){var e=t(this),o=e.attr("style"),a=e.css("display");"inline-block"!==a&&"flex"!==a&&"inline-flex"!==a&&(a="block");var i={display:a};i[s.property]="",e.css(i),e.outerHeight(!1)>n&&(n=e.outerHeight(!1)),o?e.attr("style",o):e.css("display","")})}i.each(function(){var e=t(this),o=0;s.target&&e.is(s.target)||("border-box"!==e.css("box-sizing")&&(o+=a(e.css("border-top-width"))+a(e.css("border-bottom-width")),o+=a(e.css("padding-top"))+a(e.css("padding-bottom"))),e.css(s.property,n-o+"px"))})}),d.each(function(){var e=t(this);e.attr("style",e.data("style-cache")||null)}),r._maintainScroll&&t(window).scrollTop(c/p*t("html").outerHeight(!0)),this},r._applyDataApi=function(){var e={};t("[data-match-height], [data-mh]").each(function(){var o=t(this),a=o.attr("data-mh")||o.attr("data-match-height");a in e?e[a]=e[a].add(o):e[a]=o}),t.each(e,function(){this.matchHeight(!0)})};var s=function(e){r._beforeUpdate&&r._beforeUpdate(e,r._groups),t.each(r._groups,function(){r._apply(this.elements,this.options)}),r._afterUpdate&&r._afterUpdate(e,r._groups)};r._update=function(a,i){if(i&&"resize"===i.type){var n=t(window).width();if(n===e)return;e=n}a?-1===o&&(o=setTimeout(function(){s(i),o=-1},r._throttle)):s(i)},t(r._applyDataApi),t(window).bind("load",function(t){r._update(!1,t)}),t(window).bind("resize orientationchange",function(t){r._update(!0,t)})}); \ No newline at end of file diff --git a/packages/phocadownload/plugins/content/phocadownload/index.html b/packages/phocadownload/plugins/content/phocadownload/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/plugins/content/phocadownload/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/plugins/content/phocadownload/phocadownload.php b/packages/phocadownload/plugins/content/phocadownload/phocadownload.php new file mode 100644 index 00000000..bdca6aef --- /dev/null +++ b/packages/phocadownload/plugins/content/phocadownload/phocadownload.php @@ -0,0 +1,640 @@ +loadLanguage(); + } + + public function onContentPrepare($context, &$article, &$params, $page = 0) { + + $document = JFactory::getDocument(); + $db = JFactory::getDBO(); + $iSize = $this->params->get('icon_size', 32); + $iMime = $this->params->get('file_icon_mime', 0); + $component = 'com_phocadownload'; + $paramsC = JComponentHelper::getParams($component) ; + $ordering = $paramsC->get( 'file_ordering', 1 ); + + + // Start Plugin + $regex_one = '/({phocadownload\s*)(.*?)(})/si'; + $regex_all = '/{phocadownload\s*.*?}/si'; + $matches = array(); + $count_matches = preg_match_all($regex_all,$article->text,$matches,PREG_OFFSET_CAPTURE | PREG_PATTERN_ORDER); + + JHTML::stylesheet( 'media/com_phocadownload/css/main/phocadownload.css' ); + JHTML::stylesheet( 'media/plg_content_phocadownload/css/phocadownload.css' ); + + + // Start if count_matches + if ($count_matches != 0) { + + $l = new PhocaDownloadLayout(); + + // Start CSS + for($i = 0; $i < $count_matches; $i++) { + + $view = ''; + $id = ''; + $text = ''; + $target = ''; + $playerwidth = $paramsC->get( 'player_width', 328 ); + $playerheight = $paramsC->get( 'player_height', 200 ); + $previewwidth = $paramsC->get( 'preview_width', 640 ); + $previewheight = $paramsC->get( 'preview_height', 480 ); + $playerheightmp3 = $paramsC->get( 'player_mp3_height', 30 ); + $url = ''; + $youtubewidth = 448; + $youtubeheight = 336; + $fileView = $paramsC->get( 'display_file_view', 0 ); + $previewWindow = $paramsC->get( 'preview_popup_window', 0 ); + $playWindow = $paramsC->get( 'play_popup_window', 0 ); + $limit = 5; + + + // Get plugin parameters + $phocadownload = $matches[0][$i][0]; + preg_match($regex_one,$phocadownload,$phocadownload_parts); + $parts = explode("|", $phocadownload_parts[2]); + $values_replace = array ("/^'/", "/'$/", "/^'/", "/'$/", "/
      /"); + + + foreach($parts as $key => $value) { + $values = explode("=", $value, 2); + + foreach ($values_replace as $key2 => $values2) { + $values = preg_replace($values2, '', $values); + } + + // Get plugin parameters from article + if($values[0]=='view') {$view = $values[1];} + else if($values[0]=='id') {$id = $values[1];} + else if($values[0]=='text') {$text = $values[1];} + else if($values[0]=='target') {$target = $values[1];} + else if($values[0]=='playerwidth') {$playerwidth = (int)$values[1];} + else if($values[0]=='playerheight') {$playerheight = (int)$values[1];} + else if($values[0]=='playerheightmp3') {$playerheightmp3 = (int)$values[1];} + + else if($values[0]=='previewwidth') {$previewwidth = (int)$values[1];} + else if($values[0]=='previewheight') {$previewheight = (int)$values[1];} + + else if($values[0]=='youtubewidth') {$youtubewidth = (int)$values[1];} + else if($values[0]=='youtubeheight') {$youtubeheight = (int)$values[1];} + + else if($values[0]=='previewwindow') {$previewWindow = (int)$values[1];} + else if($values[0]=='playwindow') {$playWindow = (int)$values[1];} + else if($values[0]=='limit') {$limit = (int)$values[1];} + + else if($values[0]=='url') {$url = $values[1];} + + } + + switch($target) { + case 'b': + $targetOutput = 'target="_blank" '; + break; + case 't': + $targetOutput = 'target="_top" '; + break; + case 'p': + $targetOutput = 'target="_parent" '; + break; + case 's': + $targetOutput = 'target="_self" '; + break; + default: + $targetOutput = ''; + break; + } + + $output = ''; + /* + //Itemid + $menu =& JSite::getMenu(); + $itemSection= $menu->getItems('link', 'index.php?option=com_phocadownload&view=sections'); + if(isset($itemSection[0])) { + $itemId = $itemSection[0]->id; + } else { + $itemId = JRequest::getVar('Itemid', 1, 'get', 'int'); + } + */ + switch($view) { + /* + // - - - - - - - - - - - - - - - - + // SECTIONS + // - - - - - - - - - - - - - - - - + case 'sections': + if ($text !='') { + $textOutput = $text; + } else { + $textOutput = JText::_('PLG_CONTENT_PHOCADOWNLOAD_DOWNLOAD_SECTIONS'); + } + + $link = PhocaDownloadRoute::getSectionsRoute(); + + $output .= ''; + break; + + // - - - - - - - - - - - - - - - - + // SECTION + // - - - - - - - - - - - - - - - - + case 'section': + if ((int)$id > 0) { + $query = 'SELECT a.id, a.title, a.alias,' + . ' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(\':\', a.id, a.alias) ELSE a.id END as slug' + . ' FROM #__phocadownload_sections AS a' + . ' WHERE a.id = '.(int)$id; + + $db->setQuery($query); + $item = $db->loadObject(); + + if (isset($item->id) && isset($item->slug)) { + + if ($text !='') { + $textOutput = $text; + } else if (isset($item->title) && $item->title != '') { + $textOutput = $item->title; + } else { + $textOutput = JText::_('PLG_CONTENT_PHOCADOWNLOAD_DOWNLOAD_SECTION'); + } + $link = PhocaDownloadRoute::getSectionRoute($item->id, $item->alias); + // 'index.php?option=com_phocadownload&view=section&id='.$item->slug.'&Itemid='. $itemId + + $output .= ''; + } + } + break; + */ + + // - - - - - - - - - - - - - - - - + // CATEGORIES + // - - - - - - - - - - - - - - - - + case 'categories': + if ($text !='') { + $textOutput = $text; + } else { + $textOutput = JText::_('PLG_CONTENT_PHOCADOWNLOAD_DOWNLOAD_CATEGORIES'); + } + + $link = PhocaDownloadRoute::getCategoriesRoute(); + + $output .= ''; + break; + + // - - - - - - - - - - - - - - - - + // CATEGORY + // - - - - - - - - - - - - - - - - + case 'category': + if ((int)$id > 0) { + $query = 'SELECT a.id, a.title, a.alias,' + . ' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(\':\', a.id, a.alias) ELSE a.id END as slug' + . ' FROM #__phocadownload_categories AS a' + . ' WHERE a.id = '.(int)$id; + + $db->setQuery($query); + $item = $db->loadObject(); + + if (isset($item->id) && isset($item->slug)) { + + if ($text !='') { + $textOutput = $text; + } else if (isset($item->title) && $item->title != '') { + $textOutput = $item->title; + } else { + $textOutput = JText::_('PLG_CONTENT_PHOCADOWNLOAD_DOWNLOAD_CATEGORY'); + } + $link = PhocaDownloadRoute::getCategoryRoute($item->id, $item->alias); + //'index.php?option=com_phocadownload&view=category&id='.$item->slug.'&Itemid='. $itemId + $output .= ''; + } + + } + break; + + + // - - - - - - - - - - - - - - - - + // FILELIST + // - - - - - - - - - - - - - - - - + case 'filelist': + + $fileOrdering = PhocaDownloadOrdering::getOrderingText($ordering); + + $query = 'SELECT a.id, a.title, a.alias, a.filename_play, a.filename_preview, a.link_external, a.image_filename, a.filename, c.id as catid, a.confirm_license, c.title as cattitle, c.alias as catalias,' + . ' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(\':\', a.id, a.alias) ELSE a.id END as slug,' + . ' CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(\':\', c.id, c.alias) ELSE c.id END as catslug' + . ' FROM #__phocadownload AS a' + . ' LEFT JOIN #__phocadownload_categories AS c ON a.catid = c.id'; + + if ((int)$id > 0) { + $query .= ' WHERE c.id = '.(int)$id; + //$query .= ' WHERE c.id = '.(int)$id . ' AND a.published = 1 AND a.approved = 1'; + } else { + //$query .= ' WHERE a.published = 1 AND a.approved = 1'; + } + + $query .= ' ORDER BY a.'.$fileOrdering; + $query .= ' LIMIT 0, '.(int)$limit; + + $db->setQuery($query); + $items = $db->loadObjectList(); + + if (!empty($items)) { + $output .= '
      '; + foreach ($items as $item) { + $imageFileName = $l->getImageFileName($item->image_filename, $item->filename, 3, (int)$iSize); + + if (isset($item->id) && isset($item->slug) && isset($item->catid) && isset($item->catslug)) { + + if ($text !='') { + $textOutput = $text; + } else if (isset($item->title) && $item->title != '') { + $textOutput = $item->title; + } else { + $textOutput = JText::_('PLG_CONTENT_PHOCADOWNLOAD_DOWNLOAD_FILE'); + } + + if ((isset($item->confirm_license) && $item->confirm_license > 0) || $fileView == 1) { + $link = PhocaDownloadRoute::getFileRoute($item->id,$item->catid,$item->alias, $item->catalias,0, 'file'); + + if ($iMime == 1) { + $output .= '
      '. $imageFileName['filenamethumb']. '
      '; + } else { + $output .= ''; + } + + } else { + if ($item->link_external != '') { + $link = $item->link_external; + } else { + $link = PhocaDownloadRoute::getFileRoute($item->id,$item->catid,$item->alias,$item->catalias, 0, 'download'); + } + + if ($iMime == 1) { + $output .= '
      '. $imageFileName['filenamethumb']. '
      '; + } else { + $output .= ''; + } + + } + + } + } + $output .= '
      '; + + } + break; + + + + + + // - - - - - - - - - - - - - - - - + // FILE + // - - - - - - - - - - - - - - - - + case 'file': + case 'fileplay': + case 'fileplaylink': + case 'filepreviewlink': + if ((int)$id > 0) { + $query = 'SELECT a.id, a.title, a.alias, a.filename_play, a.filename_preview, a.link_external, a.image_filename, a.filename, c.id as catid, a.confirm_license, c.title as cattitle, c.alias as catalias,' + . ' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(\':\', a.id, a.alias) ELSE a.id END as slug,' + . ' CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(\':\', c.id, c.alias) ELSE c.id END as catslug' + . ' FROM #__phocadownload AS a' + . ' LEFT JOIN #__phocadownload_categories AS c ON a.catid = c.id' + . ' WHERE a.id = '.(int)$id; + + $db->setQuery($query); + $item = $db->loadObject(); + + if (isset($item->id) && isset($item->slug) && isset($item->catid) && isset($item->catslug)) { + + if ($text !='') { + $textOutput = $text; + } else if (isset($item->title) && $item->title != '') { + $textOutput = $item->title; + } else { + if ($view == 'fileplay') { + $textOutput = JText::_('PLG_CONTENT_PHOCADOWNLOAD_PLAY_FILE'); + } else { + $textOutput = JText::_('PLG_CONTENT_PHOCADOWNLOAD_DOWNLOAD_FILE'); + } + } + + $imageFileName = $l->getImageFileName($item->image_filename, $item->filename, 3, (int)$iSize); + + // - - - - - + // PLAY + // - - - - - + if ($view == 'fileplay') { + $play = 1; + $fileExt = ''; + $filePath = PhocaDownloadPath::getPathSet('fileplay'); + + $filePath = str_replace ( '../', JURI::base(true).'/', $filePath['orig_rel_ds']); + if (isset($item->filename_play) && $item->filename_play != '') { + $fileExt = PhocaDownloadFile::getExtension($item->filename_play); + $canPlay = PhocaDownloadFile::canPlay($item->filename_play); + if ($canPlay) { + $tmpl['playfilewithpath'] = $filePath . $item->filename_play; + $tmpl['playerpath'] = JURI::base().'components/com_phocadownload/assets/flowplayer/'; + } else { + $output .= JText::_('PLG_CONTENT_PHOCADOWNLOAD_NO_CORRECT_FILE_FOR_PLAYING_FOUND'); + $play = 0; + } + } else { + $output .= JText::_('PLG_CONTENT_PHOCADOWNLOAD_NO_FILE_FOR_PLAYING_FOUND'); + $play = 0; + } + + if ($play == 1) { + + //Correct MP3 + $tmpl['filetype'] = ''; + if ($fileExt == 'mp3') { + $tmpl['filetype'] = 'mp3'; + $playerheight = $playerheightmp3; + } + $versionFLP = '3.2.2'; + $versionFLPJS = '3.2.2'; + + //Flow Player + + $document->addScript($tmpl['playerpath'].'flowplayer-'.$versionFLPJS.'.min.js'); + + $output .= '
      '. "\n" + .'
      '. "\n"; + + if ($tmpl['filetype'] == 'mp3') { + $output .= ''. "\n"; + } else { + + $output .= ''. "\n"; + } + + $output .= '
      '. "\n"; + } + + } else if ($view == 'fileplaylink') { + + // PLAY - - - - - - - - - - - - + $windowWidthPl = (int)$playerwidth + 30; + $windowHeightPl = (int)$playerheight + 30; + $windowHeightPlMP3 = (int)$playerheightmp3 + 30; + //$playWindow = $paramsC->get( 'play_popup_window', 0 ); + if ($playWindow == 1) { + $buttonPl = new JObject(); + $buttonPl->set('methodname', 'js-button'); + $buttonPl->set('options', "window.open(this.href,'win2','width=".$windowWidthPl.",height=".$windowHeightPl.",scrollbars=yes,menubar=no,resizable=yes'); return false;"); + $buttonPl->set('optionsmp3', "window.open(this.href,'win2','width=".$windowWidthPl.",height=".$windowHeightPlMP3.",scrollbars=yes,menubar=no,resizable=yes'); return false;"); + } else { + JHTML::_('behavior.modal', 'a.modal-button'); + $document->addCustomTag( " \n"); + $buttonPl = new JObject(); + $buttonPl->set('name', 'image'); + $buttonPl->set('modal', true); + $buttonPl->set('methodname', 'modal-button'); + $buttonPl->set('options', "{handler: 'iframe', size: {x: ".$windowWidthPl.", y: ".$windowHeightPl."}, overlayOpacity: 0.7, classWindow: 'phocadownloadplaywindow', classOverlay: 'phocadownloadplayoverlay'}"); + $buttonPl->set('optionsmp3', "{handler: 'iframe', size: {x: ".$windowWidthPl.", y: ".$windowHeightPlMP3."}, overlayOpacity: 0.7, classWindow: 'phocadownloadplaywindow', classOverlay: 'phocadownloadplayoverlay'}"); + } + // - - - - - - - - - - - - - - - + + $fileExt = ''; + $filePath = PhocaDownloadPath::getPathSet('fileplay'); + + $filePath = str_replace ( '../', JURI::base(true).'/', $filePath['orig_rel_ds']); + if (isset($item->filename_play) && $item->filename_play != '') { + $fileExt = PhocaDownloadFile::getExtension($item->filename_play); + + + $canPlay = PhocaDownloadFile::canPlay($item->filename_play); + if ($canPlay) { + // Special height for music only + $buttonPlOptions = $buttonPl->options; + if ($fileExt == 'mp3') { + $buttonPlOptions = $buttonPl->optionsmp3; + } + /*if ($text == '') { + $text = JText::_('PLG_CONTENT_PHOCADOWNLOAD_PLAY'); + }*/ + + if ($text !='') { + $textOutput = $text; + //} else if (isset($item->title) && $item->title != '') { + // $textOutput = $item->title; + } else { + $textOutput = JText::_('PLG_CONTENT_PHOCADOWNLOAD_PLAY'); + } + + $playLink = JRoute::_(PhocaDownloadRoute::getFileRoute($item->id,$item->catid,$item->alias, $item->catalias,0, 'play')); + + + if ($iMime == 1) { + $output .= '
      '. $imageFileName['filenamethumb']. '
      '; + } else { + $output .= '
      '; + } + + if ($playWindow == 1) { + $output .= ''. $textOutput.''; + } else { + $output .= ''. $textOutput.''; + } + $output .= '
      '; + } + } else { + $output .= JText::_('PLG_CONTENT_PHOCADOWNLOAD_NO_FILE_FOR_PLAYING_FOUND'); + } + + + + + } else if ($view == 'filepreviewlink') { + + + if (isset($item->filename_preview) && $item->filename_preview != '') { + $fileExt = PhocaDownloadFile::getExtension($item->filename_preview); + if ($fileExt == 'pdf' || $fileExt == 'jpeg' || $fileExt == 'jpg' || $fileExt == 'png' || $fileExt == 'gif') { + + $filePath = PhocaDownloadPath::getPathSet('filepreview'); + $filePath = str_replace ( '../', JURI::base(true).'/', $filePath['orig_rel_ds']); + $previewLink = $filePath . $item->filename_preview; + //$previewWindow = $paramsC->get( 'preview_popup_window', 0 ); + + // PREVIEW - - - - - - - - - - - - + $windowWidthPr = (int)$previewwidth + 20; + $windowHeightPr = (int)$previewheight + 20; + if ($previewWindow == 1) { + $buttonPr = new JObject(); + $buttonPr->set('methodname', 'js-button'); + $buttonPr->set('options', "window.open(this.href,'win2','width=".$windowWidthPr.",height=".$windowHeightPr.",scrollbars=yes,menubar=no,resizable=yes'); return false;"); + } else { + JHTML::_('behavior.modal', 'a.modal-button'); + $document->addCustomTag( " \n"); + $buttonPr = new JObject(); + $buttonPr->set('name', 'image'); + $buttonPr->set('modal', true); + $buttonPr->set('methodname', 'modal-button'); + $buttonPr->set('options', "{handler: 'iframe', size: {x: ".$windowWidthPr.", y: ".$windowHeightPr."}, overlayOpacity: 0.7, classWindow: 'phocadownloadpreviewwindow', classOverlay: 'phocadownloadpreviewoverlay'}"); + $buttonPr->set('optionsimg', "{handler: 'image', size: {x: 200, y: 150}, overlayOpacity: 0.7, classWindow: 'phocadownloadpreviewwindow', classOverlay: 'phocadownloadpreviewoverlay'}"); + } + // - - - - - - - - - - - - - - - + + + + /*if ($text == '') { + $text = JText::_('PLG_CONTENT_PHOCADOWNLOAD_PREVIEW'); + }*/ + + if ($text !='') { + $textOutput = $text; + //} else if (isset($item->title) && $item->title != '') { + // $textOutput = $item->title; + } else { + $textOutput = JText::_('PLG_CONTENT_PHOCADOWNLOAD_PREVIEW'); + } + if ($iMime == 1) { + $output .= '
      '. $imageFileName['filenamethumb']. '
      '; + } else { + $output .= '
      '; + } + + if ($previewWindow == 1) { + $output .= ''. $text.''; + } else { + if ($fileExt == 'pdf') { + // Iframe - modal + $output .= ''. $textOutput.''; + } else { + // Image - modal + $output .= ''. $textOutput.''; + } + } + $output .= '
      '; + } + } else { + $output .= JText::_('PLG_CONTENT_PHOCADOWNLOAD_NO_FILE_FOR_PREVIEWING_FOUND'); + } + + } else { + if ((isset($item->confirm_license) && $item->confirm_license > 0) || $fileView == 1) { + $link = PhocaDownloadRoute::getFileRoute($item->id,$item->catid,$item->alias, $item->catalias,0, 'file'); + //'index.php?option=com_phocadownload&view=file&id='.$item->slug.'&Itemid='.$itemId + + if ($iMime == 1) { + $output .= '
      '. $imageFileName['filenamethumb']. '
      '; + } else { + $output .= ''; + } + + } else { + if ($item->link_external != '') { + $link = $item->link_external; + } else { + $link = PhocaDownloadRoute::getFileRoute($item->id,$item->catid,$item->alias,$item->catalias,0, 'download'); + } + //$link = PhocaDownloadRoute::getCategoryRoute($item->catid,$item->catalias,$item->sectionid); + + //'index.php?option=com_phocadownload&view=category&id='. $item->catslug. '&download='. $item->slug. '&Itemid=' . $itemId + + if ($iMime == 1) { + $output .= '
      '. $imageFileName['filenamethumb']. '
      '; + } else { + $output .= ''; + } + } + } + } + + } + break; + + // - - - - - - - - - - - - - - - - + // YOUTUBE + // - - - - - - - - - - - - - - - - + case 'youtube': + + if ($url != '' && PhocaDownloadUtils::isURLAddress($url) ) { + $l = new PhocaDownloadLayout(); + $pdVideo = $l->displayVideo($url, 0, $youtubewidth, $youtubeheight); + $output .= $pdVideo; + } else { + $output .= JText::_('PLG_CONTENT_PHOCADOWNLOAD_WRONG_YOUTUBE_URL'); + } + break; + + + } + $article->text = preg_replace($regex_all, $output, $article->text, 1); + } + }// end if count_matches + return true; + } +} +?> \ No newline at end of file diff --git a/packages/phocadownload/plugins/content/phocadownload/phocadownload.xml b/packages/phocadownload/plugins/content/phocadownload/phocadownload.xml new file mode 100644 index 00000000..248ea93e --- /dev/null +++ b/packages/phocadownload/plugins/content/phocadownload/phocadownload.xml @@ -0,0 +1,64 @@ + + + plg_content_phocadownload + 19/07/2014 + Jan Pavelka (www.phoca.cz) + + www.phoca.cz + Jan Pavelka + GNU/GPL + 3.0.2 + + PLG_CONTENT_PHOCADOWNLOAD_DESCRIPTION + + + phocadownload.php + index.html + + + + index.html + css + images + + + + language/en-GB/en-GB.plg_content_phocadownload.ini + language/en-GB/en-GB.plg_content_phocadownload.sys.ini + + + + + language/en-GB/en-GB.plg_content_phocadownload.ini + language/en-GB/en-GB.plg_content_phocadownload.sys.ini + + + + + + + +
      + + + + + + + + + + + + + + + + +
      +
      +
      + + + +
      \ No newline at end of file diff --git a/packages/phocadownload/plugins/editors-xtd/phocadownload/assets/css/index.html b/packages/phocadownload/plugins/editors-xtd/phocadownload/assets/css/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/plugins/editors-xtd/phocadownload/assets/css/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/plugins/editors-xtd/phocadownload/assets/css/phocadownload.css b/packages/phocadownload/plugins/editors-xtd/phocadownload/assets/css/phocadownload.css new file mode 100644 index 00000000..aae05332 --- /dev/null +++ b/packages/phocadownload/plugins/editors-xtd/phocadownload/assets/css/phocadownload.css @@ -0,0 +1,4 @@ + +.button2-left .phocadownload { + background: url(../images/icon-button.png) 100% 0 no-repeat; +} \ No newline at end of file diff --git a/packages/phocadownload/plugins/editors-xtd/phocadownload/assets/images/icon-button.png b/packages/phocadownload/plugins/editors-xtd/phocadownload/assets/images/icon-button.png new file mode 100644 index 00000000..fba8aa07 Binary files /dev/null and b/packages/phocadownload/plugins/editors-xtd/phocadownload/assets/images/icon-button.png differ diff --git a/packages/phocadownload/plugins/editors-xtd/phocadownload/assets/images/index.html b/packages/phocadownload/plugins/editors-xtd/phocadownload/assets/images/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/plugins/editors-xtd/phocadownload/assets/images/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/plugins/editors-xtd/phocadownload/assets/index.html b/packages/phocadownload/plugins/editors-xtd/phocadownload/assets/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/plugins/editors-xtd/phocadownload/assets/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/plugins/editors-xtd/phocadownload/index.html b/packages/phocadownload/plugins/editors-xtd/phocadownload/index.html new file mode 100644 index 00000000..fa6d84e8 --- /dev/null +++ b/packages/phocadownload/plugins/editors-xtd/phocadownload/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/phocadownload/plugins/editors-xtd/phocadownload/phocadownload.php b/packages/phocadownload/plugins/editors-xtd/phocadownload/phocadownload.php new file mode 100644 index 00000000..d9ec5ffe --- /dev/null +++ b/packages/phocadownload/plugins/editors-xtd/phocadownload/phocadownload.php @@ -0,0 +1,57 @@ +loadLanguage(); + } + + function onDisplay($name, $asset, $author) { + + $app = JFactory::getApplication(); + + $document = & JFactory::getDocument(); + $template = $app->getTemplate(); + + $enableFrontend = $this->params->get('enable_frontend', 0); + + if ($template != 'beez_20') { + JHTML::stylesheet( 'plugins/editors-xtd/phocadownload/assets/css/phocadownload.css' ); + } + + $link = 'index.php?option=com_phocadownload&view=phocadownloadlinks&tmpl=component&e_name='.$name; + + JHTML::_('behavior.modal'); + + + + $button = new JObject; + $button->modal = true; + $button->class = 'btn'; + $button->link = $link; + $button->text = JText::_('PLG_EDITORS-XTD_PHOCADOWNLOAD_FILE'); + $button->name = 'file'; + $button->options = "{handler: 'iframe', size: {x: 800, y: 500}}"; + + if ($enableFrontend == 0) { + if (!$app->isAdmin()) { + $button = null; + } + } + + return $button; + } +} \ No newline at end of file diff --git a/packages/phocadownload/plugins/editors-xtd/phocadownload/phocadownload.xml b/packages/phocadownload/plugins/editors-xtd/phocadownload/phocadownload.xml new file mode 100644 index 00000000..72179a30 --- /dev/null +++ b/packages/phocadownload/plugins/editors-xtd/phocadownload/phocadownload.xml @@ -0,0 +1,42 @@ + + + plg_editors-xtd_phocadownload + 17/08/2013 + Jan Pavelka (www.phoca.cz) + + www.phoca.cz + Jan Pavelka + GNU/GPL + 3.0.1 + + PLG_EDITORS-XTD_PHOCADOWNLOAD_DESCRIPTION + + + phocadownload.php + index.html + assets + + + + language/en-GB/en-GB.plg_editors-xtd_phocadownload.ini + language/en-GB/en-GB.plg_editors-xtd_phocadownload.sys.ini + + + + + language/en-GB/en-GB.plg_editors-xtd_phocadownload.ini + language/en-GB/en-GB.plg_editors-xtd_phocadownload.sys.ini + + + + + +
      + + + + +
      +
      +
      +
      diff --git a/packages/phocadownload/plugins/search/phocadownload/index.html b/packages/phocadownload/plugins/search/phocadownload/index.html new file mode 100644 index 00000000..6bfc7988 --- /dev/null +++ b/packages/phocadownload/plugins/search/phocadownload/index.html @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/packages/phocadownload/plugins/search/phocadownload/phocadownload.php b/packages/phocadownload/plugins/search/phocadownload/phocadownload.php new file mode 100644 index 00000000..c4fc3226 --- /dev/null +++ b/packages/phocadownload/plugins/search/phocadownload/phocadownload.php @@ -0,0 +1,290 @@ +loadLanguage(); + } + + function onContentSearchAreas() { + static $areas = array( + 'phocadownload' => 'PLG_SEARCH_PHOCADOWNLOAD_PHOCADOWNLOAD' + ); + return $areas; + } + + + + function onContentSearch( $text, $phrase = '', $ordering = '', $areas = null ) { + + $db = JFactory::getDbo(); + $app = JFactory::getApplication(); + $user = JFactory::getUser(); + $groups = implode(',', $user->getAuthorisedViewLevels()); + + $component = 'com_phocadownload'; + $paramsC = JComponentHelper::getParams($component) ; + + $display_access_category = $paramsC->get( 'display_access_category', 1 ); + if (is_array( $areas )) { + if (!array_intersect( $areas, array_keys( $this->onContentSearchAreas() ) )) { + return array(); + } + } + + $limit = $this->params->get('search_limit', 20); + + $text = trim( $text ); + if ($text == '') { + return array(); + } + + $section = JText::_( 'PLG_SEARCH_PHOCADOWNLOAD_PHOCADOWNLOAD'); + + + switch ($ordering) + { + case 'oldest': + $order = 'a.created ASC'; + break; + + case 'popular': + $order = 'a.hits DESC'; + break; + + case 'alpha': + $order = 'a.title ASC'; + break; + + case 'category': + $order = 'c.title ASC, a.title ASC'; + break; + + case 'newest': + default: + $order = 'a.date DESC'; + } + + // Date in Where + $jnow =& JFactory::getDate(); + $now = $jnow->toMySQL(); + $nullDate = $db->getNullDate(); + + $wheres = array(); + switch ($phrase) + { + case 'exact': + $text = $db->Quote('%'.$db->getEscaped($text, true).'%', false); + $wheres2 = array(); + $wheres2[] = 'a.title LIKE '.$text; + $wheres2[] = 'a.alias LIKE '.$text; + //$wheres2[] = 'a.name LIKE '.$text; + $wheres2[] = 'a.metakey LIKE '.$text; + $wheres2[] = 'a.metadesc LIKE '.$text; + $wheres2[] = 'a.description LIKE '.$text; + $where = '(' . implode(') OR (', $wheres2) . ')'; + break; + + case 'all': + case 'any': + default: + $words = explode(' ', $text); + $wheres = array(); + foreach ($words as $word) + { + $word = $db->Quote('%'.$db->getEscaped($word, true).'%', false); + $wheres2 = array(); + $wheres2[] = 'a.title LIKE '.$word; + $wheres2[] = 'a.alias LIKE '.$word; + //$wheres2[] = 'a.name LIKE '.$word; + $wheres2[] = 'a.metakey LIKE '.$word; + $wheres2[] = 'a.metadesc LIKE '.$word; + $wheres2[] = 'a.description LIKE '.$word; + $wheres[] = implode(' OR ', $wheres2); + } + $where = '(' . implode(($phrase == 'all' ? ') AND (' : ') OR ('), $wheres) . ')'; + break; + } + + $rows = array(); + // - - - - - - + // Categories + // - - - - - - + $query = $db->getQuery(true); + $query->select('a.id, a.title AS title, a.alias, a.date AS created, a.access, a.accessuserid,' + . ' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(\':\', a.id, a.alias) ELSE a.id END as slug,' + . ' a.description AS text,' + . ' CONCAT_WS( " / ", '.$db->Quote($section).', a.title ) AS section,' + . ' "2" AS browsernav'); + $query->from('#__phocadownload_categories AS a'); + //$query->innerJoin('#__categories AS c ON c.id = a.catid'); + //$query->where('('.$where.')' . ' AND a.state in ('.implode(',',$state).') AND a.published = 1 AND a.approved = 1 AND a.access IN ('.$groups.')'); + $query->where('('.$where.')' . ' AND a.published = 1 AND a.access IN ('.$groups.')'); + $query->group('a.id'); + $query->order($order); + + // Filter by language + if ($app->isSite() && $app->getLanguageFilter()) { + $tag = JFactory::getLanguage()->getTag(); + $query->where('a.language in (' . $db->Quote($tag) . ',' . $db->Quote('*') . ')'); + //$query->where('c.language in (' . $db->Quote($tag) . ',' . $db->Quote('*') . ')'); + } + + $db->setQuery( $query, 0, $limit ); + $listCategories = $db->loadObjectList(); + $limit -= count($listCategories); + + + + if(isset($listCategories)) { + foreach($listCategories as $key => $value) { + + // USER RIGHT - ACCESS - - - - - - - - - - - + $rightDisplay = 1;//default is set to 1 (all users can see the category) + + if (!empty($value)) { + $rightDisplay = PhocaDownloadHelper::getUserRight('accessuserid', $value->accessuserid, $value->access, $user->authorisedLevels(), $user->get('id', 0), $display_access_category); + } + if ($rightDisplay == 0) { + unset($listCategories[$key]); + } else { + $listCategories[$key]->href = $link = JRoute::_(PhocaDownloadHelperRoute::getCategoryRoute($value->id, $value->alias)); + } + // - - - - - - - - - - - - - - - - - - - - - + } + } + $rows[] = $listCategories; + + // Files + $wheres = array(); + $wheres3 = array(); + switch ($phrase) + { + case 'exact': + $text = $db->Quote('%'.$db->getEscaped($text, true).'%', false); + $wheres2 = array(); + $wheres2[] = 'a.title LIKE '.$text; + $wheres2[] = 'a.alias LIKE '.$text; + $wheres2[] = 'a.filename LIKE '.$text; + $wheres2[] = 'a.metakey LIKE '.$text; + $wheres2[] = 'a.metadesc LIKE '.$text; + $wheres2[] = 'a.description LIKE '.$text; + + $wheres3[] = '(' . implode(') OR (', $wheres2) . ')'; + break; + + case 'all': + case 'any': + default: + $words = explode(' ', $text); + $wheres = array(); + foreach ($words as $word) + { + $word = $db->Quote('%'.$db->getEscaped($word, true).'%', false); + $wheres2 = array(); + $wheres2[] = 'a.title LIKE '.$word; + $wheres2[] = 'a.alias LIKE '.$word; + $wheres2[] = 'a.filename LIKE '.$word; + $wheres2[] = 'a.metakey LIKE '.$word; + $wheres2[] = 'a.metadesc LIKE '.$word; + $wheres2[] = 'a.description LIKE '.$word; + + $wheres[] = implode(' OR ', $wheres2); + } + $wheres3[] = '(' . implode(($phrase == 'all' ? ') AND (' : ') OR ('), $wheres) . ')'; + break; + } + + $wheres3[] = '( (unaccessible_file = 1 ) OR (unaccessible_file = 0 AND a.access IN ('.$groups.') ) )'; + $wheres3[] = '( (unaccessible_file = 1 ) OR (unaccessible_file = 0 AND c.access IN ('.$groups.') ) )'; + $wheres3[] = ' ( a.publish_up = '.$db->Quote($nullDate).' OR a.publish_up <= '.$db->Quote($now).' )'; + $wheres3[] = ' ( a.publish_down = '.$db->Quote($nullDate).' OR a.publish_down >= '.$db->Quote($now).' )'; + + $where = implode(' AND ', $wheres3); + + if ( $limit > 0 ) { + + // - - - - - - + // Files + // - - - - - - + $query = $db->getQuery(true); + $query->select(' CASE WHEN CHAR_LENGTH(a.title) THEN CONCAT_WS(\': \', c.title, a.title) + ELSE c.title END AS title, ' + . ' CASE WHEN CHAR_LENGTH(a.description) THEN CONCAT_WS(\': \', a.title, + a.description) ELSE a.title END AS text, ' + . ' a.id, a.date AS created, c.accessuserid as accessuserid, c.access as cataccess,' + . ' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(\':\', a.id, a.alias) ELSE a.id END as slug, ' + . ' CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(\':\', c.id, c.alias) ELSE c.id END AS catslug, ' + . ' CONCAT_WS( " / ", '.$db->Quote($section).', a.title ) AS section,' + . ' "2" AS browsernav, c.id as catid, c.alias as catalias'); + $query->from('#__phocadownload AS a'); + $query->innerJoin('#__phocadownload_categories AS c ON c.id = a.catid'); + //$query->where('('.$where.')' . ' AND a.state in ('.implode(',',$state).') AND a.published = 1 AND a.approved = 1 AND c.published = 1 AND c.approved = 1 AND c.access IN ('.$groups.')'); + $query->where('('.$where.')' . ' AND a.published = 1 AND a.approved = 1 AND c.published = 1 AND c.access IN ('.$groups.')'); + //$query->group('a.id'); + $query->order($order); + + // Filter by language + if ($app->isSite() && $app->getLanguageFilter()) { + $tag = JFactory::getLanguage()->getTag(); + $query->where('a.language in (' . $db->Quote($tag) . ',' . $db->Quote('*') . ')'); + $query->where('c.language in (' . $db->Quote($tag) . ',' . $db->Quote('*') . ')'); + } + + $db->setQuery( $query, 0, $limit ); + $listFiles = $db->loadObjectList(); + + + if(isset($listFiles)) { + foreach($listFiles as $key => $value) { + // USER RIGHT - ACCESS - - - - - - - - - - - + $rightDisplay = 1;//default is set to 1 (all users can see the category) + + if (!empty($value)) { + $rightDisplay = PhocaDownloadHelper::getUserRight('accessuserid', $value->accessuserid, $value->cataccess, $user->authorisedLevels(), $user->get('id', 0), $display_access_category); + } + if ($rightDisplay == 0) { + unset($listFiles[$key]); + } else { + $listFiles[$key]->href = JRoute::_(PhocaDownloadHelperRoute::getCategoryRoute($value->catid, $value->catalias)); + } + // - - - - - - - - - - - - - - - - - - - - - + } + } + $rows[] = $listFiles; + } + + $results = array(); + if(count($rows)) { + foreach($rows as $row) { + $results = array_merge($results, (array) $row); + } + } + + return $results; + } +} diff --git a/packages/phocadownload/plugins/search/phocadownload/phocadownload.xml b/packages/phocadownload/plugins/search/phocadownload/phocadownload.xml new file mode 100644 index 00000000..9f2ef416 --- /dev/null +++ b/packages/phocadownload/plugins/search/phocadownload/phocadownload.xml @@ -0,0 +1,38 @@ + + + plg_search_phocadownload + 23/05/2011 + Jan Pavelka (www.phoca.cz) + + www.phoca.cz + Jan Pavelka + GNU/GPL + 2.0.1 + + PLG_SEARCH_PHOCADOWNLOAD_DESCRIPTION + + + phocadownload.php + index.html + + + + language/en-GB/en-GB.plg_search_phocadownload.ini + language/en-GB/en-GB.plg_search_phocadownload.sys.ini + + + + + language/en-GB/en-GB.plg_search_phocadownload.ini + language/en-GB/en-GB.plg_search_phocadownload.sys.ini + + + + + +
      + +
      +
      +
      +
      \ No newline at end of file