feat(pkg): add Phoca Commander 3.0.2 (vetted live, stock)

Phoca Commander 3.0.2 (github.com/PhocaCz/PhocaCommander @3.0.2), vetted clean, stock admin file-manager; live deployed files.

Signed-off-by: LÁZÁR Imre <imre@illusion.hu>
Assisted-by: claude-code@claude-opus-4-8
This commit is contained in:
LÁZÁR Imre AI Agent 2026-07-16 11:30:03 +02:00
parent 79ad04f644
commit 47853a8fe6
217 changed files with 22497 additions and 0 deletions

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<access component="com_phocacommander">
<section name="component">
<action name="core.admin" title="JAction_Admin" description="JAction_Admin_Component_Desc" />
<action name="core.manage" title="JAction_Manage" description="JAction_Manage_Component_Desc" />
<action name="core.create" title="JAction_Create" description="JAction_Create_Component_Desc" />
<action name="core.delete" title="JAction_Delete" description="JAction_Delete_Component_Desc" />
<action name="core.edit" title="JAction_Edit" description="JAction_Edit_Component_Desc" />
<action name="core.edit.state" title="JACTION_EDITSTATE" description="JAction_EditState_Component_Desc" />
</section>
</access>

View File

@ -0,0 +1,197 @@
<?xml version="1.0" encoding="utf-8"?>
<config>
<fields addfieldpath="/administrator/components/com_phocacommander/models/fields">
<fieldset name="general" description="" label="COM_PHOCACOMMANDER_GENERAL_OPTIONS_LABEL">
<field name="f_keys"
type="radio"
class="btn-group"
default="1"
label="COM_PHOCACOMMANDER_FIELD_F_KEYS_LABEL"
description="COM_PHOCACOMMANDER_FIELD_F_KEYS_DESC">
<option value="1">COM_PHOCACOMMANDER_WITH_TITLES</option>
<option value="0">COM_PHOCACOMMANDER_WITHOUT_TITLES</option>
</field>
<field name="box_height"
type="text"
default="350"
size="3"
label="COM_PHOCACOMMANDER_FIELD_BOX_HEIGHT_LABEL"
description="COM_PHOCACOMMANDER_FIELD_BOX_HEIGHT_DESC" />
<field name="upload_maxsize" type="phocatext" size="20" default="3145728" label="COM_PHOCACOMMANDER_FIELD_UPLOAD_MAX_SIZE_ADMIN_LABEL" description="COM_PHOCACOMMANDER_FIELD_UPLOAD_MAX_SIZE_ADMIN_DESC" />
<field name="overwrite_existing_files" default="0" type="radio" class="btn-group" label="COM_PHOCACOMMANDER_FIELD_OVERWRITE_EXISTING_FILES_LABEL" description="COM_PHOCACOMMANDER_FIELD_OVERWRITE_EXISTING_FILES_DESC" >
<option value="1">COM_PHOCACOMMANDER_YES</option>
<option value="0">COM_PHOCACOMMANDER_NO</option>
</field>
<field name="allowed_file_types_upload" default="{csv=text/x-comma-separated-values}
{lha=application/octet-stream}
{lzh=application/octet-stream}
{class=application/octet-stream}
{psd=application/x-photoshop}
{oda=application/oda}
{pdf=application/pdf}
{ai=application/postscript}
{eps=application/postscript}
{ps=application/postscript}
{xls=application/vnd.ms-excel}
{ppt=application/powerpoint}
{wbxml=application/wbxml}
{wmlc=application/wmlc}
{dvi=application/x-dvi}
{gtar=application/x-gtar}
{gz=application/x-gzip}
{tar=application/x-tar}
{tgz=application/x-tar}
{xhtml=application/xhtml+xml}
{xht=application/xhtml+xml}
{zip=application/x-zip}
{mid=audio/midi}
{midi=audio/midi}
{mpga=audio/mpeg}
{mp2=audio/mpeg}
{mp3=audio/mpeg}
{aif=audio/x-aiff}
{aiff=audio/x-aiff}
{aifc=audio/x-aiff}
{ram=audio/x-pn-realaudio}
{rm=audio/x-pn-realaudio}
{rpm=audio/x-pn-realaudio-plugin}
{ra=audio/x-realaudio}
{rv=video/vnd.rn-realvideo}
{wav=audio/x-wav}
{bmp=image/bmp}
{gif=image/gif}
{jpeg=image/jpeg}
{jpg=image/jpeg}
{jpe=image/jpeg}
{png=image/png}
{tiff=image/tiff}
{tif=image/tiff}
{css=text/css}
{html=text/html}
{htm=text/html}
{shtml=text/html}
{txt=text/plain}
{text=text/plain}
{log=text/plain}
{rtx=text/richtext}
{rtf=text/rtf}
{xml=text/xml}
{xsl=text/xml}
{mpeg=video/mpeg}
{mpg=video/mpeg}
{mpe=video/mpeg}
{qt=video/quicktime}
{mov=video/quicktime}
{avi=video/x-msvideo}
{flv=video/x-flv}
{movie=video/x-sgi-movie}
{doc=application/msword}
{xl=application/excel}
{eml=message/rfc822}
{pptx=application/vnd.openxmlformats-officedocument.presentationml.presentation}
{xlsx=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet}
{docx=application/vnd.openxmlformats-officedocument.wordprocessingml.document}
{rar=application/x-rar-compressed}
{odb=application/vnd.oasis.opendocument.database}
{odc=application/vnd.oasis.opendocument.chart}
{odf=application/vnd.oasis.opendocument.formula}
{odg=application/vnd.oasis.opendocument.graphics}
{odi=application/vnd.oasis.opendocument.image}
{odm=application/vnd.oasis.opendocument.text-master}
{odp=application/vnd.oasis.opendocument.presentation}
{ods=application/vnd.oasis.opendocument.spreadsheet}
{odt=application/vnd.oasis.opendocument.text}
{sxc=application/vnd.sun.xml.calc}
{sxd=application/vnd.sun.xml.draw}
{sxg=application/vnd.sun.xml.writer.global}
{sxi=application/vnd.sun.xml.impress}
{sxm=application/vnd.sun.xml.math}
{sxw=application/vnd.sun.xml.writer}
{ogv=video/ogg}
{ogg=audio/ogg}" rows="8" cols="35" type="textarea" label="COM_PHOCACOMMANDER_FIELD_ALLOWED_FILE_TYPES_UPLOAD_LABEL" description="COM_PHOCACOMMANDER_FIELD_ALLOWED_FILE_TYPES_UPLOAD_DESC" />
<field name="disallowed_file_types_upload" default="" rows="2" cols="35" type="phocatextarea" label="COM_PHOCACOMMANDER_FIELD_DISALLOWED_FILE_TYPES_UPLOAD_LABEL" description="COM_PHOCACOMMANDER_FIELD_DISALLOWED_FILE_TYPES_UPLOAD_DESC" />
<field name="ignore_file_types_check" default="0" type="radio" class="btn-group" label="COM_PHOCACOMMANDER_IGNORE_FILE_TYPES_CHECK_LABEL" description="COM_PHOCACOMMANDER_IGNORE_FILE_TYPES_CHECK_DESC" >
<option value="1">COM_PHOCACOMMANDER_YES</option>
<option value="0">COM_PHOCACOMMANDER_NO</option>
</field>
<field name="edit_not_writable"
type="radio"
class="btn-group"
default="0"
label="COM_PHOCACOMMANDER_FIELD_EDIT_NOT_WRITABLE_FILES_LABEL"
description="COM_PHOCACOMMANDER_FIELD_EDIT_NOT_WRITABLE_FILES_DESC">
<option value="1">COM_PHOCACOMMANDER_YES</option>
<option value="0">COM_PHOCACOMMANDER_NO</option>
</field>
<field name="create_index"
type="radio"
class="btn-group"
default="1"
label="COM_PHOCACOMMANDER_FIELD_CREATE_INDEX_FILE_LABEL"
description="COM_PHOCACOMMANDER_FIELD_CREATE_INDEX_FILE_DESC">
<option value="1">COM_PHOCACOMMANDER_YES</option>
<option value="0">COM_PHOCACOMMANDER_NO</option>
</field>
<field name="display_upload_button" default="1" type="radio" class="btn-group" label="COM_PHOCACOMMANDER_DISPLAY_UPLOAD_BUTTON_LABEL" description="COM_PHOCACOMMANDER_DISPLAY_UPLOAD_BUTTON_DESC" >
<option value="1">COM_PHOCACOMMANDER_YES</option>
<option value="0">COM_PHOCACOMMANDER_NO</option>
</field>
<field name="display_download_button" default="0" type="radio" class="btn-group" label="COM_PHOCACOMMANDER_DISPLAY_DOWNLOAD_BUTTON_LABEL" description="COM_PHOCACOMMANDER_DISPLAY_DOWNLOAD_BUTTON_DESC" >
<option value="1">COM_PHOCACOMMANDER_YES</option>
<option value="0">COM_PHOCACOMMANDER_NO</option>
</field>
<field name="phocahead1" type="phocahead" default="COM_PHOCACOMMANDER_CONFIG_INLINE_ACTIONS_LABEL" label="" description=""/>
<field name="display_inline_view" default="0" type="radio" class="btn-group" label="COM_PHOCACOMMANDER_DISPLAY_INLINE_VIEW_LABEL" description="COM_PHOCACOMMANDER_DISPLAY_INLINE_VIEW_DESC" >
<option value="1">COM_PHOCACOMMANDER_YES</option>
<option value="0">COM_PHOCACOMMANDER_NO</option>
</field>
<field name="display_inline_edit" default="0" type="radio" class="btn-group" label="COM_PHOCACOMMANDER_DISPLAY_INLINE_EDIT_LABEL" description="COM_PHOCACOMMANDER_DISPLAY_INLINE_EDIT_DESC" >
<option value="1">COM_PHOCACOMMANDER_YES</option>
<option value="0">COM_PHOCACOMMANDER_NO</option>
</field>
<field name="display_inline_download" default="0" type="radio" class="btn-group" label="COM_PHOCACOMMANDER_DISPLAY_INLINE_DOWNLOAD_LABEL" description="COM_PHOCACOMMANDER_DISPLAY_INLINE_DOWNLOAD_DESC" >
<option value="1">COM_PHOCACOMMANDER_YES</option>
<option value="0">COM_PHOCACOMMANDER_NO</option>
</field>
</fieldset>
<fieldset name="experimental" description="COM_PHOCADOWNLOAD_EXPERIMENATAL_FEATURES_DESC" label="COM_PHOCADOWNLOAD_EXPERIMENATAL_FEATURES_LABEL">
<field name="phocaheadexpert1" type="phocaheadexpert" default="COM_PHOCACOMMANDER_EXPERTS_ONLY_LABEL" label="" description=""/>
<field name="experimental_zip" default="0" type="radio" class="btn-group" label="COM_PHOCACOMMANDER_ENABLE_ZIP_FUNCTION_LABEL" description="COM_PHOCACOMMANDER_ENABLE_ZIP_FUNCTION_DESC" >
<option value="1">COM_PHOCACOMMANDER_YES</option>
<option value="0">COM_PHOCACOMMANDER_NO</option>
</field>
</fieldset>
<fieldset name="permissions" description="JCONFIG_PERMISSIONS_DESC" label="JCONFIG_PERMISSIONS_LABEL">
<field name="rules" type="rules" component="com_phocacommander" filter="rules" label="COM_PHOCACOMMANDER_FIELD_JCONFIG_PERMISSIONS_LABEL" section="component" description="COM_PHOCACOMMANDER_FIELD_JCONFIG_PERMISSIONS_DESC"/>
</fieldset>
</fields>
</config>

View File

@ -0,0 +1,43 @@
<?php
/* @package Joomla
* @copyright Copyright (C) Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* @extension Phoca Extension
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined('_JEXEC') or die;
jimport('joomla.application.component.controller');
$app = JFactory::getApplication();
$option = $app->input->get('option');
$l['cp'] = array('COM_PHOCACOMMANDER', '');
$l['in'] = array('COM_PHOCACOMMANDER_INFO', 'phocacommanderinfo');
$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 PhocaCommanderCpController extends JControllerLegacy {
function display($cachable = false, $urlparams = array()) {
parent::display($cachable, $urlparams);
}
}
?>

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1,343 @@
<?php
/*
* @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;
*/
defined('_JEXEC') or die();
jimport('joomla.application.component.controllerform');
class PhocaCommanderCpControllerPhocaCommanderEdit extends JControllerForm
{
protected $option = 'com_phocacommander';
function __construct($config=array()) {
parent::__construct($config);
$app = JFactory::getApplication();
$context = 'com_phocacommander.phocacommander.';
$orderinga = $app->input->get('orderinga', '', 'string');
$orderingb = $app->input->get('orderingb', '', 'string');
$directiona = $app->input->get('directiona', '', 'string');
$directionb = $app->input->get('directionb', '', 'string');
$activepanel = $app->input->get('activepanel', '', 'string');
$panel = $app->input->get('panel', '', 'string');
$foldera = $app->input->get('foldera', '', 'string');
$folderb = $app->input->get('folderb', '', 'string');
if(JRequest::checkToken()) {
$app->input->post->set('orderinga', $orderinga);
$app->input->post->set('orderingb', $orderingb);
$app->input->post->set('directiona', $directiona);
$app->input->post->set('directionb', $directionb);
$app->input->post->set('foldera', $foldera);
$app->input->post->set('folderb', $folderb);
$app->input->post->set('activepanel', $activepanel);
$app->input->post->set('panel', $panel);
$app->getUserStateFromRequest($context .'orderinga', 'orderinga', $orderinga, 'string');
$app->getUserStateFromRequest($context .'orderingb', 'orderingb', $orderingb, 'string');
$app->getUserStateFromRequest($context .'directiona', 'directiona', $directiona, 'string');
$app->getUserStateFromRequest($context .'directionb', 'directionb', $directionb, 'string');
$app->getUserStateFromRequest($context .'panel', 'panel', $panel, 'string');
$app->getUserStateFromRequest($context .'activepanel', 'activepanel', $activepanel, 'string');
$app->getUserStateFromRequest($context .'foldera', 'foldera', $foldera, 'string');
$app->getUserStateFromRequest($context .'folderb', 'folderb', $folderb, 'string');
}
}
protected function allowEdit($data = array(), $key = 'id') {
$user = JFactory::getUser();
$allow = null;
$allow = $user->authorise('core.edit', 'com_phocacommander');
if ($allow === null) {
return parent::allowEdit($data, $key);
} else {
return $allow;
}
}
public function cancel($key = null)
{
JRequest::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
$this->setRedirect(JRoute::_('index.php?option=com_phocacommander'.$this->getRedirectToListAppend(), false));
return true;
}
public function edit($key = null, $urlVar = null) {
$app = JFactory::getApplication();
$context = "$this->option.edit.$this->context";
$file = $app->input->get( 'filename', '', 'string' );
$recordId = 1;
$key = $urlVar = 'id';
if (!$this->allowEdit(array($key => $recordId), $key))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_EDIT_NOT_PERMITTED'));
$this->setMessage($this->getError(), 'error');
$this->setRedirect(
JRoute::_(
'index.php?option=' . $this->option . '&view=' . $this->view_list
. $this->getRedirectToListAppend() . '&file='.$file, false
)
);
return false;
}
$this->holdEditId($context, $recordId);
$app->setUserState($context . '.data', null);
$this->setRedirect(
JRoute::_(
'index.php?option=' . $this->option . '&view=' . $this->view_item
. $this->getRedirectToItemAppend($recordId, $urlVar) . '&file='.$file, false
)
);
return true;
}
public function download() {
$app = JFactory::getApplication();
$context = "$this->option.edit.$this->context";
$file = $app->input->get( 'filename', '', 'string' );
$file = base64_decode($file);
$path = JPATH_ROOT;
$pathFolder = JPath::clean($path . '/' .$file);
$mimeType = '';
if (JFile::exists($pathFolder)) {
if (function_exists('mime_content_type')) {
$mimeType = mime_content_type($pathFolder);
} else if(class_exists('finfo')){
$result = new finfo();
if (is_resource($result) === true) {
$mimeType = $result->file($pathFolder, FILEINFO_MIME_TYPE);
}
}
if ($mimeType == '') {
$ext = JFile::getExt($file);
$mimeType = PhocaCommanderHelper::getMimeType($ext);
}
// 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");
header("Content-Type: " . (string)$mimeType);
header('Content-Disposition: attachment; filename="'.basename($file).'"');
header("Content-Transfer-Encoding: binary\n");
@readfile($pathFolder);
flush();
exit;
} else {
$recordId = 1;
$key = $urlVar = 'id';
$this->setRedirect(
JRoute::_(
'index.php?option=' . $this->option . '&view=' . $this->view_item
. $this->getRedirectToItemAppend($recordId, $urlVar) . '&file='.$file, false
)
);
return false;
}
}
public function save($key = null, $urlVar = null)
{
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
$app = JFactory::getApplication();
$lang = JFactory::getLanguage();
$model = $this->getModel();
$data = $this->input->post->get('jform', array(), 'array');
$context = "$this->option.edit.$this->context";
$task = $this->getTask();
$key = $urlVar = 'id';
$recordId = $this->input->getInt($urlVar);
$data[$key] = $recordId;
// Access check.
if (!$this->allowSave($data, $key))
{
$this->setError(JText::_('JLIB_APPLICATION_ERROR_SAVE_NOT_PERMITTED'));
$this->setMessage($this->getError(), 'error');
$this->setRedirect(
JRoute::_(
'index.php?option=' . $this->option . '&view=' . $this->view_list
. $this->getRedirectToListAppend(). '&file='.$data['filename'] , false
)
);
return false;
}
// Validate the posted data.
// Sometimes the form needs some posted data, such as for plugins and modules.
$form = $model->getForm($data, false);
if (!$form)
{
$app->enqueueMessage($model->getError(), 'error');
return false;
}
// Test whether the data is valid.
$validData = $model->validate($form, $data);
// Check for validation errors.
if ($validData === false)
{
// Get the validation messages.
$errors = $model->getErrors();
// Push up to three validation messages out to the user.
for ($i = 0, $n = count($errors); $i < $n && $i < 3; $i++)
{
if ($errors[$i] instanceof Exception)
{
$app->enqueueMessage($errors[$i]->getMessage(), 'warning');
}
else
{
$app->enqueueMessage($errors[$i], 'warning');
}
}
// Save the data in the session.
$app->setUserState($context . '.data', $data);
// Redirect back to the edit screen.
$this->setRedirect(
JRoute::_(
'index.php?option=' . $this->option . '&view=' . $this->view_item
. $this->getRedirectToItemAppend($recordId, $urlVar). '&file='.$data['filename'], false
)
);
return false;
}
if (!isset($validData['tags']))
{
$validData['tags'] = null;
}
// Attempt to save the data.
if (!$model->save($validData))
{
// Save the data in the session.
$app->setUserState($context . '.data', $validData);
// Redirect back to the edit screen.
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_SAVE_FAILED', $model->getError()));
$this->setMessage($this->getError(), 'error');
$this->setRedirect(
JRoute::_(
'index.php?option=' . $this->option . '&view=' . $this->view_item
. $this->getRedirectToItemAppend($recordId, $urlVar). '&file='.$data['filename'], false
)
);
return false;
}
$this->setMessage(
JText::_(
($lang->hasKey($this->text_prefix . ($recordId == 0 && $app->isSite() ? '_SUBMIT' : '') . '_SAVE_SUCCESS')
? $this->text_prefix
: 'JLIB_APPLICATION') . ($recordId == 0 && $app->isSite() ? '_SUBMIT' : '') . '_SAVE_SUCCESS'
)
);
// Redirect the user and adjust session state based on the chosen task.
switch ($task)
{
case 'apply':
// Set the record data in the session.
//$recordId = $model->getState($this->context . '.id');
$this->holdEditId($context, $recordId);
$app->setUserState($context . '.data', null);
//$model->checkout($recordId);
// Redirect back to the edit screen.
$this->setRedirect(
JRoute::_(
'index.php?option=' . $this->option . '&view=' . $this->view_item
. $this->getRedirectToItemAppend($recordId, $urlVar). '&file='.$data['filename'], false
)
);
break;
default:
// Clear the record id and data from the session.
$this->releaseEditId($context, $recordId);
$app->setUserState($context . '.data', null);
// Redirect to the list screen.
$this->setRedirect(
JRoute::_(
'index.php?option=' . $this->option , false
)
);
break;
}
$this->postSaveHook($model, $validData);
return true;
}
}
?>

View File

@ -0,0 +1,28 @@
<?php
/* @package Joomla
* @copyright Copyright (C) Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* @extension Phoca Extension
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined('_JEXEC') or die();
class PhocaCommanderCpControllerPhocaCommanderinfo extends PhocaCommanderCpController
{
function __construct() {
parent::__construct();
}
function cancel($key = NULL) {
$app = JFactory::getApplication('administrator');
$context = 'com_phocacommander.write.';
$abc = 'TOURDS';
$a = $app->getUserStateFromRequest( $context.'from', 'from', $abc, 'string' );
$this->setRedirect( 'index.php?option=com_phocacommander' );
}
}
?>

View File

@ -0,0 +1,31 @@
<?php
/* @package Joomla
* @copyright Copyright (C) Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* @extension Phoca Extension
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined('_JEXEC') or die( 'Restricted access' );
jimport('joomla.client.helper');
jimport('joomla.filesystem.file');
jimport('joomla.filesystem.folder');
class PhocaCommanderCpControllerPhocaCommanderUpload extends PhocaCommanderCpController
{
function __construct() {
parent::__construct();
}
function multipleupload() {
$result = PhocaCommanderFileUpload::realMultipleUpload();
return true;
}
function upload() {
$result = PhocaCommanderFileUpload::realSingleUpload();
return true;
}
}

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

View File

@ -0,0 +1,31 @@
<?php defined('_JEXEC') or die('Restricted access');?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en_GB" xml:lang="en_GB">
<head>
<title>Phoca Commander</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
body {
font-family: sans, Arial;
}
</style>
</head>
<body>
<h1>Phoca Commander</h1>
<div style="float:right;margin:10px;">
<img src="logo-phoca.png" alt="" />
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>
<a href="http://www.phoca.cz/phocacommander/" target="_blank">Phoca Commander Main Site</a><br />
<a href="http://www.phoca.cz/documentation/" target="_blank">Phoca Commander User Manual</a><br />
<a href="http://www.phoca.cz/forum/" target="_blank">Phoca Commander Forum</a><br />
</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<a href="javascript:void(0);" onclick="javascript:window.close();"><span class="small">Close window</span></a>
</body>
</html>

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

View File

@ -0,0 +1,31 @@
<?php defined('_JEXEC') or die('Restricted access');?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en_GB" xml:lang="en_GB">
<head>
<title>Phoca Commander</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
body {
font-family: sans, Arial;
}
</style>
</head>
<body>
<h1>Phoca Commander</h1>
<div style="float:right;margin:10px;">
<img src="logo-phoca.png" alt="" />
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>
<a href="http://www.phoca.cz/phocacommander/" target="_blank">Phoca Commander Main Site</a><br />
<a href="http://www.phoca.cz/documentation/" target="_blank">Phoca Commander User Manual</a><br />
<a href="http://www.phoca.cz/forum/" target="_blank">Phoca Commander Forum</a><br />
</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<a href="javascript:void(0);" onclick="javascript:window.close();"><span class="small">Close window</span></a>
</body>
</html>

View File

@ -0,0 +1,648 @@
<?php
/*
* @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;
*/
defined( '_JEXEC' ) or die( 'Restricted access' );
jimport( 'joomla.filesystem.folder' );
jimport( 'joomla.filesystem.file' );
class PhocaCommanderFileUpload
{
public static function realMultipleUpload( $frontEnd = 0) {
$app = JFactory::getApplication();
$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 );
JResponse::allowCache(false);
/*jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'error', 'code' => 400,
'message' => JText::_('COM_PHOCACOMMANDER_ERROR').': ',
'details' => JTEXT::_('COM_PHOCACOMMANDER_INVALID_TOKEN'))));*/
// 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_PHOCACOMMANDER_ERROR').': ',
'details' => JTEXT::_('COM_PHOCACOMMANDER_INVALID_TOKEN'))));
// Set FTP credentials, if given
$ftp = JClientHelper::setCredentialsFromRequest('ftp');
$folder = $app->input->get( 'folder', '', '', 'string' );
$folder = base64_decode($folder);
//$file = JRequest::getVar( 'file', '', 'files', 'array' );
$file = $app->input->files->get( 'file', null, 'raw');
$chunk = $app->input->get( 'chunk', 0, '', 'int' );
$chunks = $app->input->get( 'chunks', 0, '', 'int' );
$manager = $app->input->get( 'manager', 'file', '', 'string' );
$path = JPATH_ROOT;
// Make the filename safe
if (isset($file['name'])) {
$file['name'] = JFile::makeSafe($file['name']);
}
$pathFolder = JPath::clean($path.'/');
if (isset($folder) && $folder != '') {
$pathFolder = JPath::clean($path . '/' .$folder . '/');
} else {
$pathFolder = JPath::clean($path.'/');
}
$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 = 'pcmpluploadtmpfolder'.'/';
$filepathImgFinal = JPath::clean($pathFolder.strtolower($file['name']));
$filepathImgTemp = JPath::clean($pathFolder.$tempFolder.strtolower($file['name']));
$filepathFolderFinal = JPath::clean($pathFolder);
$filepathFolderTemp = JPath::clean($pathFolder.$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_PHOCACOMMANDER_ERROR').': ',
'details' => JTEXT::_('COM_PHOCACOMMANDER_FILE_ALREADY_EXISTS'))));
}
if (!PhocaCommanderFileUpload::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_PHOCACOMMANDER_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_PHOCACOMMANDER_ERROR').': ',
'details' => JTEXT::_('COM_PHOCACOMMANDER_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_PHOCACOMMANDER_ERROR').': ',
'details' => JTEXT::_('COM_PHOCACOMMANDER_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_PHOCACOMMANDER_ERROR').': ',
'details' => JTEXT::_('COM_PHOCACOMMANDER_ERROR_OPEN_OUTPUT_STREAM'))));
}
} else {
jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'error', 'code' => 103,
'message' => JText::_('COM_PHOCACOMMANDER_ERROR').': ',
'details' => JTEXT::_('COM_PHOCACOMMANDER_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_PHOCACOMMANDER_ERROR').': ',
'details' => JTEXT::_('COM_PHOCACOMMANDER_ERROR_OPEN_INPUT_STREAM'))));
}
$stream->close();
//fclose($out);
} else {
jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'error', 'code' => 102,
'message' => JText::_('COM_PHOCACOMMANDER_ERROR').': ',
'details' => JTEXT::_('COM_PHOCACOMMANDER_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_PHOCACOMMANDER_ERROR').': ',
'details' => JTEXT::_('COM_PHOCACOMMANDER_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_PHOCACOMMANDER_ERROR').': ',
'details' => JTEXT::_('COM_PHOCACOMMANDER_ERROR_UNABLE_TO_MOVE_FILE') .'<br />'
. JText::_('COM_PHOCACOMMANDER_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_PHOCACOMMANDER_SUCCESS').': ',
'details' => JTEXT::_('COM_PHOCACOMMANDER_FILES_UPLOADED'))));
} else {
// No Chunk Method
$filepathImgFinal = JPath::clean($pathFolder.strtolower($file['name']));
$filepathFolderFinal = JPath::clean($pathFolder);
if (!PhocaCommanderFileUpload::canUpload( $file, $errUploadMsg, $manager, $frontEnd, $chunkMethod, 0 )) {
jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'error', 'code' => 104,
'message' => JText::_('COM_PHOCACOMMANDER_ERROR').': ',
'details' => JTEXT::_($errUploadMsg))));
}
if (JFile::exists($filepathImgFinal) && $overwriteExistingFiles == 0) {
jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'error', 'code' => 108,
'message' => JText::_('COM_PHOCACOMMANDER_ERROR').': ',
'details' => JTEXT::_('COM_PHOCACOMMANDER_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_PHOCACOMMANDER_ERROR').': ',
'details' => JTEXT::_('COM_PHOCACOMMANDER_ERROR_UNABLE_TO_UPLOAD_FILE') .'<br />'
. JText::_('COM_PHOCACOMMANDER_CHECK_PERMISSIONS_OWNERSHIP'))));
}
if ((int)$frontEnd > 0) {
return $file['name'];
}
jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'OK', 'code' => 200,
'message' => JText::_('COM_PHOCACOMMANDER_SUCCESS').': ',
'details' => JTEXT::_('COM_PHOCACOMMANDER_FILES_UPLOADED'))));
}
} else {
// No isset $file['name']
jexit(json_encode(array( 'jsonrpc' => '2.0', 'result' => 'error', 'code' => 104,
'message' => JText::_('COM_PHOCACOMMANDER_ERROR').': ',
'details' => JTEXT::_('COM_PHOCACOMMANDER_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', 1 );
$overwriteExistingFiles = $paramsC->get( 'overwrite_existing_files', 0 );
$app = JFactory::getApplication();
JRequest::checkToken( 'request' ) or jexit( 'ERROR: '. JTEXT::_('COM_PHOCACOMMANDER_INVALID_TOKEN'));
JResponse::allowCache(false);
$file = $app->input->get( 'Filedata', '', 'files', 'array' );
$folder = $app->input->get( 'folder', '', '', 'path' );
$format = $app->input->get( 'format', 'html', '', 'cmd');
$return = $app->input->get( 'return-url', null, 'post', 'base64' );//includes field
$viewBack = $app->input->get( 'viewback', '', '', '' );
$manager = $app->input->get( 'manager', 'file', '', 'string' );
$tab = $app->input->get( 'tab', '', '', 'string' );
$field = $app->input->get( 'field' );
$errUploadMsg = '';
$folderUrl = $folder;
$tabUrl = '';
$component = $app->input->get( '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']));
if (!PhocaDownloadFileUpload::canUpload( $file, $errUploadMsg, $manager, $frontEnd )) {
if ($errUploadMsg == 'COM_PHOCACOMMANDER_WARNING_FILE_TOOLARGE') {
$errUploadMsg = JText::_($errUploadMsg) . ' ('.PhocaDownloadFileUpload::getFileSizeReadable($file['size']).')';
} /* else if ($errUploadMsg == 'COM_PHOCACOMMANDER_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_PHOCACOMMANDER_FILE_ALREADY_EXISTS'), 'error');
exit;
} else {
$app->enqueueMessage( JText::_('COM_PHOCACOMMANDER_FILE_ALREADY_EXISTS'), 'error');
$app->redirect($componentUrl);
exit;
}
}
if (!JFile::upload($file['tmp_name'], $filepath, false, true)) {
if ($return) {
$app->enqueueMessage( JText::_('COM_PHOCACOMMANDER_ERROR_UNABLE_TO_UPLOAD_FILE'), 'error');
$app->redirect(base64_decode($return).'&manager='.(string)$manager.'&folder='.$folderUrl);
exit;
} else {
$app->enqueueMessage( JText::_('COM_PHOCACOMMANDER_ERROR_UNABLE_TO_UPLOAD_FILE'), 'error');
$app->redirect($componentUrl);
exit;
}
} else {
if ((int)$frontEnd > 0) {
return $file['name'];
}
if ($return) {
$app->enqueueMessage( JText::_('COM_PHOCACOMMANDER_SUCCESS_FILE_UPLOAD'));
$app->redirect(base64_decode($return).'&manager='.(string)$manager.'&folder='.$folderUrl);
exit;
} else {
$app->enqueueMessage( JText::_('COM_PHOCACOMMANDER_SUCCESS_FILE_UPLOAD'));
$app->redirect($componentUrl);
exit;
}
}
} else {
$msg = JText::_('COM_PHOCACOMMANDER_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('&amp;', '&', $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_phocacommander' );
$aft = $paramsC->get( 'allowed_file_types_upload', PhocaCommanderHelper::getDefaultAllowedMimeTypesUpload() );
$dft = $paramsC->get( 'disallowed_file_types_upload', '' );
$allowedMimeType = PhocaCommanderHelper::getMimeTypeString($aft);
$disallowedMimeType = PhocaCommanderHelper::getMimeTypeString($dft);
$ignoreUploadCh = 0;
$ignoreUploadCheck = $paramsC->get( 'ignore_file_types_check', 0 );
if ($ignoreUploadCheck == 1 ) {
$ignoreUploadCh = 1;
}
$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_PHOCACOMMANDER_WARNING_INPUT_FILE_UPLOAD';
return false;
}
// Not safe file
jimport('joomla.filesystem.file');
if ($file['name'] !== JFile::makesafe($file['name'])) {
$err = 'COM_PHOCACOMMANDER_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_PHOCACOMMANDER_WARNFILETYPE_DISALLOWED';
return false;
}
//if (!in_array($format, $allowable)) {
if ($format == '' || $format == false || (!in_array($format, $allowable))) {
$err = 'COM_PHOCACOMMANDER_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 ($chunkEnabled == 1) {
if ((int)$maxSize > 0 && (int)$realSize > (int)$maxSize) {
$err = 'COM_PHOCACOMMANDER_WARNFILETOOLARGE';
return false;
}
} else {
if ((int)$maxSize > 0 && (int)$file['size'] > (int)$maxSize) {
$err = 'COM_PHOCACOMMANDER_WARNFILETOOLARGE';
return false;
}
}
// Image check
//$imginfo = null;
//$images = explode( ',', $paramsL['image_extensions']);
$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_PHOCACOMMANDER_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_PHOCACOMMANDER_WARNINVALIDMIME';
return false;
}
}
// XSS Check
$xss_check = JFile::read($file['tmp_name'],false,256);
$html_tags = PhocaCommanderHelper::getHTMLTagsUpload();
foreach($html_tags as $tag) { // A tag is '<tagname ', so we need to add < and a space or '<tagname>'
if(stristr($xss_check, '<'.$tag.' ') || stristr($xss_check, '<'.$tag.'>')) {
$err = 'COM_PHOCACOMMANDER_WARNIEXSS';
return false;
}
}
return true;
}
public static function renderFTPaccess() {
$ftpOutput = '<fieldset title="'.JText::_('COM_PHOCACOMMANDER_FTP_LOGIN_LABEL'). '">'
.'<legend>'. JText::_('COM_PHOCACOMMANDER_FTP_LOGIN_LABEL').'</legend>'
.JText::_('COM_PHOCACOMMANDER_FTP_LOGIN_DESC')
.'<table class="adminform nospace">'
.'<tr>'
.'<td width="120"><label for="username">'. JText::_('JGLOBAL_USERNAME').':</label></td>'
.'<td><input type="text" id="username" name="username" class="input_box" size="70" value="" /></td>'
.'</tr>'
.'<tr>'
.'<td width="120"><label for="password">'. JText::_('JGLOBAL_PASSWORD').':</label></td>'
.'<td><input type="password" id="password" name="password" class="input_box" size="70" value="" /></td>'
.'</tr></table></fieldset>';
return $ftpOutput;
}
public static function renderCreateFolder($sessName, $sessId, $currentFolder, $viewBack, $attribs = '') {
if ($attribs != '') {
$attribs = '&amp;'.$attribs;
}
$folderOutput = '<form action="'. JURI::base()
.'index.php?option=com_phocadownload&task=phocadownloadupload.createfolder&amp;'. $sessName.'='.$sessId.'&amp;'
.JSession::getFormToken().'=1&amp;viewback='.$viewBack.'&amp;'
.'folder='.$currentFolder.$attribs .'" name="folderForm" id="folderForm" method="post" class="form-inline" >'."\n"
.'<h4>'.JText::_('COM_PHOCACOMMANDER_FOLDER').'</h4>'."\n"
.'<div class="path">'
.'<input class="inputbox" type="text" id="foldername" name="foldername" />'
.'<input class="update-folder" type="hidden" name="folderbase" id="folderbase" value="'.$currentFolder.'" />'
.' <button type="submit" class="btn">'. JText::_( 'COM_PHOCACOMMANDER_CREATE_FOLDER' ).'</button>'
.'</div>'."\n"
.JHTML::_( 'form.token' )
.'</form>';
return $folderOutput;
}
}
?>

View File

@ -0,0 +1,340 @@
<?php
/*
* @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;
*/
defined( '_JEXEC' ) or die( 'Restricted access' );
class PhocaCommanderFileUploadMultiple
{
public $method = 1;
public $url = '';
public $reload = '';
public $maxFileSize = '';
public $chunkSize = '';
public $imageHeight = '';
public $imageWidth = '';
public $imageQuality= '';
public $frontEnd = 0;
public function __construct() {}
public static function renderMultipleUploadLibraries() {
$paramsC = JComponentHelper::getParams('com_phocacommander');
$chunkMethod = $paramsC->get( 'multiple_upload_chunk', 0 );
$uploadMethod = $paramsC->get( 'multiple_upload_method', 1 );
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).'/media/com_phocacommander/js/administrator/plupload/plupload.full.min.js');
$document->addScript(JURI::root(true).'/media/com_phocacommander/js/administrator/plupload/jquery.plupload.queue/jquery.plupload.queue.js');
//$document->addScript(JURI::root(true).'/media/com_phocacommander/js/administrator/plupload/moxie.js');
//$document->addScript(JURI::root(true).'/media/com_phocacommander/js/administrator/plupload/jquery.ui.plupload/jquery.ui.plupload.js');
JHTML::stylesheet( 'media/com_phocacommander/js/administrator/plupload/jquery.plupload.queue/css/jquery.plupload.queue.css' );
}
public static function getMultipleUploadSizeFormat($size) {
$readableSize = PhocaCommanderHelper::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('&amp;', '&', $this->url);
$this->reload = str_replace('&amp;', '&', $this->reload);
//$js = 'var pgJQ = jQuery.noConflict();';
$js = 'jQuery(document).ready(function() {'."\n";
$js .= ' '."\n";
$js .= '})'."\n";
$js.= ' '. "\n";
$js.='
var phFolderUpload = \'\';
function phSetFolderUpload(folderUpload) {
phFolderUpload = folderUpload;
}
function phPlupload(phFolderUpload) {'."\n";
$js.= ' phSetFolderUpload(phFolderUpload)'. "\n";
$js.=' plupload.addI18n({'."\n";
$js.=' \'Select files\' : \''.addslashes(JText::_('COM_PHOCACOMMANDER_SELECT_FILES')).'\','."\n";
$js.=' \'Add files to the upload queue and click the start button.\' : \''.addslashes(JText::_('COM_PHOCACOMMANDER_ADD_FILES_TO_UPLOAD_QUEUE_AND_CLICK_START_BUTTON')).'\','."\n";
$js.=' \'Filename\' : \''.addslashes(JText::_('COM_PHOCACOMMANDER_FILENAME')).'\','."\n";
$js.=' \'Status\' : \''.addslashes(JText::_('COM_PHOCACOMMANDER_STATUS')).'\','."\n";
$js.=' \'Size\' : \''.addslashes(JText::_('COM_PHOCACOMMANDER_SIZE')).'\','."\n";
$js.=' \'Add files\' : \''.addslashes(JText::_('COM_PHOCACOMMANDER_ADD_FILES')).'\','."\n";
$js.=' \'Start upload\':\''.addslashes(JText::_('COM_PHOCACOMMANDER_START_UPLOAD')).'\','."\n";
$js.=' \'Stop current upload\' : \''.addslashes(JText::_('COM_PHOCACOMMANDER_STOP_CURRENT_UPLOAD')).'\','."\n";
$js.=' \'Start uploading queue\' : \''.addslashes(JText::_('COM_PHOCACOMMANDER_START_UPLOADING_QUEUE')).'\','."\n";
$js.=' \'Drag files here.\' : \''.addslashes(JText::_('COM_PHOCACOMMANDER_DRAG_FILES_HERE')).'\''."\n";
$js.=' });';
$js.=' '."\n";
$js.=' jQuery("#'.$name.'").pluploadQueue({'."\n";
$js.=' runtimes : \''.$runtime.'\','."\n";
$js.=' url : \''.$this->url.'\','."\n";
$js.=' max_file_size : \''.$this->maxFileSize.'\','."\n";
if ($chunkEnabled == 1) {
$js.=' chunk_size : \'1mb\','."\n";
}
$js.=' preinit: phAttachErrors, '."\n";
//$js.=' setup: phAttachCallbacks, '."\n";
$js.=' unique_names : false,'."\n";
//$js.=' multiple_queues: true,'."\n";
$js.=' multipart: true,'."\n";
$js.= 'multipart_params : {
"folder" : phFolderUpload
},'."\n";
$js.=' filters : ['."\n";
//$js.=' {title : "'.JText::_('COM_PHOCACOMMANDER_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(false).'media/com_phocacommander/js/administrator/plupload/moxie.js\''."\n";
} else if ($this->method == 3) {
$js.=' silverlight_xap_url : \''.JURI::root(true).'/media/com_phocacommander/js/administrator/plupload/Moxie.xap\''."\n";
}
$js.=' });'."\n";
$js.='}'."\n";// End phPlupload();
$js.=' '."\n";
$js.= '
var phAllFiles = 0;
var phUploadedFiles = 0;
var phNotUploadedFiles = 0;
var phAllErrorMessages = \'\';
function phAttachErrors(uploader) {
uploader.bind(\'FileUploaded\', function(up, file, response) {
var obj = JSON.parse(response.response);
if (obj.result && obj.result == \'error\') {
phNotUploadedFiles = phNotUploadedFiles + 1;
} else {
phUploadedFiles = phUploadedFiles + 1;
}
phAllFiles = phUploadedFiles + phNotUploadedFiles;
if (obj.result && obj.result == \'error\') {
jQuery(\'#\' + file.id).append(\'<span class="alert alert-error">\'+ obj.message + obj.details +\'</span><div style="clear:both">&nbsp;</div>\');
phAllErrorMessages = phAllErrorMessages + "\n" + "" + file.name + \': \' + obj.message + obj.details;
up.trigger("Error", {message : obj.message, code : obj.code, details : obj.details, file: File});
file.status = plupload.FAILED;
if (phAllFiles == uploader.files.length ) {
alert(\''.JText::_('COM_PHOCACOMMANDER_LIST_OF_UPLOAD_ERRORS').': \' + "\n" + phAllErrorMessages);
} else { return false;}
}
if (phAllFiles == uploader.files.length ) {
jQuery(\'.plupload_filelist_footer\').append(\'<span class="ph-upload-finished alert alert-success">'.JText::_('COM_PHOCACOMMANDER_UPLOADING_FINISHED').'</span>\');
setTimeout(function(){
phAllFiles = 0;
phUploadedFiles = 0;
phNotUploadedFiles = 0;
uploader.splice();
uploader.refresh();
phLFA[\'panel\'] = \'A\'; phLoadFiles(phLFA);
phLFA[\'panel\'] = \'B\'; phLoadFiles(phLFA);
phPlupload(phFolderUpload);
}, 2500);
}
});
}';
/* $js .='
function phAttachCallbacks(uploader) {
uploader.bind(\'Init\', function(up) {
up.settings.multipart_params = {
\'upload_type\' : jQuery("#uploadQueue").attr(\'data-uploadType\'),
\'xref_id\' : jQuery("#uploadQueue").attr(\'data-xrefID\'),
\'image_category\' : jQuery("#uploadQueue").attr(\'data-imageCategory\')
};
});
uploader.bind(\'UploadComplete\', function(up, files) {
if(jQuery().tipTip) {
jQuery(\'.plupload_failed\').tipTip();
}
jQuery("#image_list").html(\'\', {xref_id : $("#uploadQueue").attr(\'data-xrefID\'), image_category : jQuery("#uploadQueue").attr(\'data-imageCategory\')});
});
/*uploader.bind(\'Error\', function(Up, ErrorObj) {
uploader.refresh();
})
}'; */
/* $js.='function phAttachCallbacks(uploader) {'."\n";
$js.=' uploader.bind(\'FileUploaded\', function(Up, File, Response) { ;'."\n";
$js.='
var obj = eval(\'(\' + Response.response + \')\');'."\n";
//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.=' alert(queueFiles);alert(uploader.total.failed);alert(uploader.total.uploaded);'."\n";
$js.=' if (obj.result && obj.result == \'error\') {'."\n";
$js.=' Up.trigger("Error", {message : obj.message, code : obj.code, details : obj.details, file: File});'."\n";
$js.=' if( queueFiles == uploader.files.length) {'."\n";
$js.=' //var uploaded0 = uploader.total.uploaded;'."\n";
$js.=' }'."\n";
$js.=' //alert("not");'."\n";
$js.=' } else {'."\n";
$js.=' if( queueFiles == uploader.files.length) {'."\n";
//if ($this->method == 6) {
$js.=' var uploaded = uploader.total.uploaded;'."\n";
//} else {
// $js.=' var uploaded = uploader.total.uploaded + 1;'."\n";
//}
$js.=' };'."\n";
$js.=' };'."\n";
$js.=' });'."\n";
$js.=' '."\n";
$js.=' uploader.bind(\'Error\', function(Up, ErrorObj) {'."\n";
$js.=' if (ErrorObj.file) {'."\n";
$js.=' jQuery(\'#\' + ErrorObj.file.id).append(\'<div class="alert alert-error">\'+ ErrorObj.message + ErrorObj.details +\'</div>\');'."\n";
$js.=' }'."\n";
$js.=' }); '."\n";
$js.=' '."\n";
$js.='}';*/
$document->addScriptDeclaration($js);
}
public function getMultipleUploadHTML($width = '', $height = '330', $mootools = 1) {
switch ($this->method) {
case 2:
$name = 'gears_uploader';
$msg = JText::_('COM_PHOCACOMMANDER_NOT_INSTALLED_GEARS');
break;
case 3:
$name = 'silverlight_uploader';
$msg = JText::_('COM_PHOCACOMMANDER_NOT_INSTALLED_SILVERLIGHT');
break;
case 4:
$name = 'html5_uploader';
$msg = JText::_('COM_PHOCACOMMANDER_NOT_SUPPORTED_HTML5');
break;
case 5:
$name = 'browserplus_uploader';
$msg = JText::_('COM_PHOCACOMMANDER_NOT_INSTALLED_BROWSERPLUS');
break;
case 6:
$name = 'html4_uploader';
$msg = JText::_('COM_PHOCACOMMANDER_NOT_SUPPORTED_HTML4');
break;
case 1:
default:
$name = 'flash_uploader';
$msg = JText::_('COM_PHOCACOMMANDER_NOT_INSTALLED_FLASH');
break;
}
$style = '';
if ($width != '') {
$style .= 'width: '.(int)$width.'px;';
}
if ($height != '') {
$style .= 'height: '.(int)$height.'px;';
}
return '<div id="'.$name.'" style="'.$style.'">'.$msg.'</div>';
}
}
?>

View File

@ -0,0 +1,39 @@
<?php
/*
* @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;
*/
defined( '_JEXEC' ) or die( 'Restricted access' );
class PhocaCommanderFileUploadSingle
{
public $tab = '';
public $returnUrl = '';
public function __construct() {}
public function getSingleUploadHTML( $frontEnd = 0) {
if ($frontEnd == 1) {
$html = '<input type="hidden" name="controller" value="category" />'
.'<input type="hidden" name="tab" value="'.$this->tab.'" />';
} else {
$html = '<input type="file" id="sfile-upload" name="Filedata" />'
//.'<input type="submit" id="sfile-upload-submit" value="'.JText::_('COM_PHOCADOWNLOAD_START_UPLOAD').'"/>'
.'<button class="btn btn-primary" id="upload-submit"><i class="icon-upload icon-white"></i> '.JText::_('COM_PHOCADOWNLOAD_START_UPLOAD').'</button>'
.'<input type="hidden" name="return-url" value="'. base64_encode($this->returnUrl).'" />'
.'<input type="hidden" name="tab" value="'.$this->tab.'" />';
}
return $html;
}
}
?>

View File

@ -0,0 +1 @@
<html><body></body></html>

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1,24 @@
<?php
/* @package Joomla
* @copyright Copyright (C) Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* @extension Phoca Extension
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined('_JEXEC') or die;
class PhocaCommanderCpHelper
{
public static function getActions($c = 'phocacommander') {
$user = JFactory::getUser();
$result = new JObject;
$assetName = 'com_'.$c;
$actions = array('core.admin', 'core.manage', 'core.create', 'core.edit', 'core.edit.state', 'core.delete');
foreach ($actions as $action) {
$result->set($action, $user->authorise($action, $assetName));
}
return $result;
}
}
?>

View File

@ -0,0 +1,24 @@
<?php
/* @package Joomla
* @copyright Copyright (C) Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* @extension Phoca Extension
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined('_JEXEC') or die;
class PhocaCommanderEditHelper
{
public static function getActions($c = 'phocacommander') {
$user = JFactory::getUser();
$result = new JObject;
$assetName = 'com_'.$c;
$actions = array('core.admin', 'core.manage', 'core.create', 'core.edit', 'core.edit.state', 'core.delete');
foreach ($actions as $action) {
$result->set($action, $user->authorise($action, $assetName));
}
return $result;
}
}
?>

View File

@ -0,0 +1,29 @@
<?php
/* @package Joomla
* @copyright Copyright (C) Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* @extension Phoca Extension
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined('_JEXEC') or die;
class PhocaCommanderResponse
{
function __construct() {}
public function _($status, $message) {
$o = '';
if ($status == 1) {
$response = array(
'status' => '1',
'message' => '<span class="ph-result-txt ph-success-txt">' . $message . '</span>');
return json_encode($response);
} else {
$response = array(
'status' => '0',
'error' => '<span class="ph-result-txt ph-error-txt">' . $message . '</span>');
return json_encode($response);
}
}
}
?>

View File

@ -0,0 +1,106 @@
<?php
/* @package Joomla
* @copyright Copyright (C) Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* @extension Phoca Extension
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined( '_JEXEC' ) or die( 'Restricted access' );
class PhocaCommanderRenderAdmin
{
public static function quickIconButton( $link, $image, $text, $imgUrl ) {
return '<div class="thumbnails ph-icon">'
.'<a class="thumbnail ph-icon-inside" href="'.$link.'">'
.JHTML::_('image', $imgUrl . $image, $text )
.'<br /><span>'.$text.'</span></a></div>'. "\n";
}
public static function getLinks() {
$app = JFactory::getApplication();
$option = $app->input->get('option');
$oT = strtoupper($option);
$links = array();
switch ($option) {
case 'com_phocacommander':
$links[] = array('Phoca Commander site', 'http://www.phoca.cz/phocacommander');
$links[] = array('Phoca Commander documentation site', 'http://www.phoca.cz/documentation');
$links[] = array('Phoca Commander download site', 'http://www.phoca.cz/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 Commander','phocacommander', 'pcm');
$components[] = array('Phoca Photo','phocaphoto', 'ph');
$components[] = array('Phoca Cart','phocacart', 'pc');
$banners = array();
$banners[] = array('Phoca Restaurant Menu','phocamenu', 'prm');
$o = '';
$o .= '<p>&nbsp;</p>';
$o .= '<h4 style="margin-bottom:5px;">'.JText::_($oT.'_USEFUL_LINKS'). '</h4>';
$o .= '<ul>';
foreach ($links as $k => $v) {
$o .= '<li><a style="text-decoration:underline" href="'.$v[1].'" target="_blank">'.$v[0].'</a></li>';
}
$o .= '</ul>';
$o .= '<div>';
$o .= '<p>&nbsp;</p>';
$o .= '<h4 style="margin-bottom:5px;">'.JText::_($oT.'_USEFUL_TIPS'). '</h4>';
$m = mt_rand(0, 10);
if ((int)$m > 0) {
$o .= '<div>';
$num = range(0,(count($components) - 1 ));
shuffle($num);
for ($i = 0; $i<3; $i++) {
$numO = $num[$i];
$o .= '<div style="float:left;width:33%;margin:0 auto;">';
$o .= '<div><a style="text-decoration:underline;" href="http://www.phoca.cz/'.$components[$numO][1].'" target="_blank">'.JHTML::_('image', 'media/'.$option.'/images/administrator/icon-box-'.$components[$numO][2].'.png', ''). '</a></div>';
$o .= '<div style="margin-top:-10px;"><small><a style="text-decoration:underline;" href="http://www.phoca.cz/'.$components[$numO][1].'" target="_blank">'.$components[$numO][0].'</a></small></div>';
$o .= '</div>';
}
$o .= '<div style="clear:both"></div>';
$o .= '</div>';
} else {
$num = range(0,(count($banners) - 1 ));
shuffle($num);
$numO = $num[0];
$o .= '<div><a href="http://www.phoca.cz/'.$banners[$numO][1].'" target="_blank">'.JHTML::_('image', 'media/'.$option.'/images/administrator/b-'.$banners[$numO][2].'.png', ''). '</a></div>';
}
$o .= '<p>&nbsp;</p>';
$o .= '<h4 style="margin-bottom:5px;">'.JText::_($oT.'_PLEASE_READ'). '</h4>';
$o .= '<div><a style="text-decoration:underline" href="http://www.phoca.cz/phoca-needs-your-help/" target="_blank">'.JText::_($oT.'_PHOCA_NEEDS_YOUR_HELP'). '</a></div>';
$o .= '</div>';
return $o;
}
}
?>

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1 @@
<html><body style="background-color: #000;"></body></html>

View File

@ -0,0 +1,37 @@
<?php
/*
* @package Joomla.Framework
* @copyright Copyright (C) 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;
*/
defined( '_JEXEC' ) or die( 'Restricted access' );
if(!defined('DS')) define('DS', DIRECTORY_SEPARATOR);
jimport( 'joomla.filesystem.folder' );
class com_phocacommanderInstallerScript
{
function install($parent) {
//JFactory::getApplication()->enqueueMessage($message, 'message');
$parent->getParent()->setRedirectURL('index.php?option=com_phocacommander');
}
function uninstall($parent) {}
function update($parent) {
$msg = JText::_('COM_PHOCACOMMANDER_UPDATE_TEXT');
$msg .= ' (' . JText::_('COM_PHOCACOMMANDER_VERSION'). ': ' . $parent->get('manifest')->version . ')';
$msg .= '<br />'. $message;
$app = JFactory::getApplication();
$app->enqueueMessage($msg);
$app->redirect(JRoute::_('index.php?option=com_phocacommander'));
}
function preflight($type, $parent) {}
function postflight($type, $parent) {}
}

View File

@ -0,0 +1 @@
<html><body style="background-color: #000;"></body></html>

View File

@ -0,0 +1 @@
<html><body style="background-color: #000;"></body></html>

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1,48 @@
<?php
/* @package Joomla
* @copyright Copyright (C) Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* @extension Phoca Extension
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined('JPATH_BASE') or die;
jimport('joomla.html.html');
jimport('joomla.form.formfield');
class JFormFieldPhocaHead extends JFormField
{
protected $type = 'PhocaHead';
protected function getLabel() { return '';}
protected function getInput() {
$tc = 'phocacommander';
$ts = 'media/com_'.$tc.'/css/administrator/';
$ti = 'media/com_'.$tc.'/images/administrator/';
JHTML::stylesheet( $ts.'/'.$tc.'options.css' );
echo '<div style="clear:both;"></div>';
$phocaImage = ( (string)$this->element['phocaimage'] ? $this->element['phocaimage'] : '' );
$image = '';
if ($phocaImage != ''){
$image = JHTML::_('image', $ti . $phocaImage, '' );
}
if ($this->element['default']) {
if ($image != '') {
return '<div class="ph-options-head">'
.'<div>'. $image.' <strong>'. JText::_($this->element['default']) . '</strong></div>'
.'</div>';
} else {
return '<div class="ph-options-head">'
.'<strong>'. JText::_($this->element['default']) . '</strong>'
.'</div>';
}
} else {
return parent::getLabel();
}
echo '<div style="clear:both;"></div>';
}
}
?>

View File

@ -0,0 +1,51 @@
<?php
/* @package Joomla
* @copyright Copyright (C) Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* @extension Phoca Extension
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined('_JEXEC') or die;
defined('JPATH_BASE') or die;
jimport('joomla.html.html');
jimport('joomla.form.formfield');
class JFormFieldPhocaHeadExpert extends JFormField
{
protected $type = 'PhocaHeadExpert';
protected function getLabel() { return '';}
protected function getInput() {
$tc = 'phocacommander';
$ts = 'media/com_'.$tc.'/css/administrator/';
$ti = 'media/com_'.$tc.'/images/administrator/';
JHTML::stylesheet( $ts.''.$tc.'options.css' );
echo '<div style="clear:both;"></div>';
$phocaImage = ( (string)$this->element['phocaimage'] ? $this->element['phocaimage'] : '' );
$image = '';
if ($phocaImage != ''){
$image = JHTML::_('image', $ti . $phocaImage, '' );
}
if ($this->element['default']) {
if ($image != '') {
return '<div class="ph-options-head-expert">'
.'<div>'. $image.' <strong>'. JText::_($this->element['default']) . '</strong></div>'
.'</div>';
} else {
return '<div class="ph-options-head-expert">'
.'<strong>'. JText::_($this->element['default']) . '</strong>'
.'</div>';
}
} else {
return parent::getLabel();
}
echo '<div style="clear:both;"></div>';
}
}
?>

View File

@ -0,0 +1 @@
<html><body></body></html>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<form>
<fieldset>
<field name="id" type="text" default="0" label="JGLOBAL_FIELD_ID_LABEL" required="true" readonly="true" class="readonly" />
<field name="filename" type="hidden" default="" label="COM_PHOCACOMMANDER_FIELD_FILENAME_LABEL" description="COM_PHOCACOMMANDER_FIELD_FILENAME_DESC" readonly="true" class="readonly" />
<field name="source" type="editor" editor="codemirror|none" buttons="no" label="COM_PHOCACOMMANDER_FIELD_CONTENT_LABEL" description="COM_PHOCACOMMANDER_FIELD_CONTENT_DESC" filter="raw" syntax="php" height="400px" rows="20" cols="80" />
</fieldset>
</form>

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1,41 @@
<?php
/* @package Joomla
* @copyright Copyright (C) Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* @extension Phoca Extension
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined( '_JEXEC' ) or die();
jimport( 'joomla.application.component.modellist' );
jimport( 'joomla.filesystem.folder' );
jimport( 'joomla.filesystem.file' );
class PhocaCommanderCpModelPhocaCommanderCp extends JModelList
{
protected $option = 'com_phocacommander';
public function checkState() {
$app = JFactory::getApplication('administrator');
/* $ab = $app->getUserState('cv');
$panelA = $this->state->get('cv');
if ($panelA == '') {
$panelA = $app->getUserStateFromRequest('cv', 'panelg','acd', 'string');
}
$this->setState('cv', $panelA);
//$panelc = $app->getUserStateFromRequest('cv', 'panelg');
print_r($this->state);*/
$app->getUserStateFromRequest( 'com_phocacommander.cv', 'panelg', 'baf', 'string' );
}
}
?>

View File

@ -0,0 +1,110 @@
<?php
/*
* @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;
*/
defined( '_JEXEC' ) or die();
jimport('joomla.application.component.modeladmin');
class PhocaCommanderCpModelPhocaCommanderEdit extends JModelAdmin
{
protected $option = 'com_phocacommander';
protected $text_prefix = 'com_phocacommander';
public $typeAlias = 'com_phocacommander.phocacommanderedit';
function __construct() {
$app = JFactory::getApplication();
parent::__construct();
}
protected function canEditState($record) {
return parent::canEditState($record);
}
public function getSource($fileName) {
$fileName = base64_decode($fileName);
$item = new stdClass;
if (JFile::exists(JPATH_ROOT.'/'.$fileName)) {
$item->source = file_get_contents(JPATH_ROOT.'/'.$fileName);
} else {
$this->setError(JText::_('COM_PHOCACOMMANDER_FILE_DOES_NOT_EXIST'));
}
return $item;
}
public function getForm($data = array(), $loadData = true) {
$app = JFactory::getApplication();
$form = $this->loadForm('com_phocagallery.phocacommanderedit', 'phocacommanderedit', array('control' => 'jform', 'load_data' => $loadData));
if (empty($form)) {
return false;
}
return $form;
}
public function save($data) {
jimport('joomla.filesystem.file');
$app = JFactory::getApplication();
$paramsC = JComponentHelper::getParams('com_phocacommander');
$edit_not_writable = $paramsC->get( 'edit_not_writable', 1 );
if ($data['id'] == 1) {
if ($data['filename'] != '') {
$fileName = base64_decode($data['filename']);
$filePath = JPath::clean(JPATH_ROOT . '/' . $fileName);
if (JFile::exists($filePath)) {
//JClientHelper::setCredentialsFromRequest('ftp');
//$ftp = JClientHelper::getCredentials('ftp');
$user = get_current_user();
//$basePermissions = JPath::getPermissions($filePath);
//$basePermissions = fileperms($filePath);
$basePermissions = substr(sprintf('%o', fileperms($filePath)), -4);
chown($filePath, $user);
JPath::setPermissions($filePath, '0644');
if (!is_writable($filePath) && $edit_not_writable == 0) {
$app->enqueueMessage(JText::_('COM_PHOCACOMMANDER_ERROR_FILE_NOT_WRITABLE'), 'warning');
$app->enqueueMessage(JText::_('COM_PHOCACOMMANDER_FILE_PERMISSIONS (' . JPath::getPermissions($filePath) .')'), 'warning');
if (!JPath::isOwner($filePath))
{
$app->enqueueMessage(JText::_('COM_PHOCACOMMANDER_CHECK_FILE_OWNERSHIP'), 'warning');
}
return false;
}
$return = JFile::write($filePath, $data['source']);
/*
// Test solution, if problems it can be set to:
if (!$return) {
$this->setError(JText::sprintf('COM_PHOCADOWNLOAD_ERROR_FAILED_TO_SAVE_FILENAME', $fileName));
return false;
}
*/
if (JPath::isOwner($filePath) && !JPath::setPermissions($filePath, $basePermissions)) {
$app->enqueueMessage(JText::_('COM_PHOCACOMMANDER_ERROR_SOURCE_FILE_NOT_UNWRITABLE'), 'error');
return false;
} elseif (!$return){
$app->enqueueMessage(JText::sprintf('COM_PHOCACOMMANDER_ERROR_FAILED_TO_SAVE_FILENAME', $fileName), 'error');
return false;
}
}
}
}
return true;
}
}
?>

View File

@ -0,0 +1,75 @@
<?php
/* @package Joomla
* @copyright Copyright (C) Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* @extension Phoca Extension
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined( '_JEXEC' ) or die();
jimport( 'joomla.application.component.modellist' );
jimport( 'joomla.filesystem.folder' );
jimport( 'joomla.filesystem.file' );
class PhocaCommanderCpModelPhocaCommanderFilesA extends JModelList
{
protected $option = 'com_phocacommander';
/*
public function checkState($panel, $ordering, $direction, $panelA, $panelB) {
$app = JFactory::getApplication('administrator');
//print_r($this->context.$panel);
if ($direction == '') {
$direction = $app->getUserStateFromRequest( $this->context.$panel.'direction', 'direction' );
} else {
$direction = $app->getUserStateFromRequest( $this->context.$panel.'direction', 'direction', $direction, 'string' );
}
$this->setState('direction', $direction);
if ($ordering == '') {
$ordering = $app->getUserStateFromRequest($this->context.$panel.'.ordering', 'ordering');
} else {
$ordering = $app->getUserStateFromRequest($this->context.$panel.'.ordering', 'ordering', $ordering, 'string');
}
$this->setState('ordering', $ordering);
if ($panelA == '') {
$panelA = $app->getUserStateFromRequest($this->context.$panel.'.panela', 'panela');
} else {
$panelA = $app->getUserStateFromRequest($this->context.$panel.'.panela', 'panela', $panelA, 'string');
}
$this->setState('panela', $panelA);
if ($panelB == '') {
$panelB = $app->getUserStateFromRequest($this->context.$panel.'.panelb', 'panelb');
} else {
$panelB = $app->getUserStateFromRequest($this->context.$panel.'.panelb', 'panelb', $panelB, 'string');
}
$this->setState('panelb', $panelB);
}*/
public function sortItems (&$array, $key, $dir = 'ASC') {
$sorter=array();
$ret=array();
reset($array);
foreach ($array as $ii => $va) {
$sorter[$ii]=$va[$key];
}
if ($dir == 'ASC') {
asort($sorter);
} else {
arsort($sorter);
}
foreach ($sorter as $ii => $va) {
$ret[$ii]=$array[$ii];
}
$array=$ret;
}
}
?>

View File

@ -0,0 +1,29 @@
<?php
/* @package Joomla
* @copyright Copyright (C) Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* @extension Phoca Extension
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined('_JEXEC') or die;
if(!defined('DS')) define('DS', DIRECTORY_SEPARATOR);
if (!JFactory::getUser()->authorise('core.manage', 'com_phocacommander')) {
return JError::raiseWarning(404, JText::_('JERROR_ALERTNOAUTHOR'));
}
require_once( JPATH_COMPONENT.'/controller.php' );
jimport( 'joomla.filesystem.folder' );
jimport( 'joomla.filesystem.file' );
require_once( JPATH_COMPONENT.'/helpers/phocacommander.php' );
require_once( JPATH_COMPONENT.'/helpers/phocacommanderresponse.php' );
require_once( JPATH_COMPONENT.'/helpers/fileupload.php' );
require_once( JPATH_COMPONENT.'/helpers/fileuploadmultiple.php' );
require_once( JPATH_COMPONENT.'/helpers/renderadmin.php' );
jimport('joomla.application.component.controller');
$controller = JControllerLegacy::getInstance('PhocaCommanderCp');
$controller->execute(JFactory::getApplication()->input->get('task'));
$controller->redirect();
?>

View File

@ -0,0 +1,75 @@
<?xml version="1.0" encoding="utf-8"?>
<extension method="upgrade" type="component" version="3">
<name>com_phocacommander</name>
<author>Jan Pavelka (www.phoca.cz)</author>
<creationDate>06/11/2016</creationDate>
<authorEmail></authorEmail>
<authorUrl>www.phoca.cz</authorUrl>
<copyright>Jan Pavelka</copyright>
<license>GNU/GPL</license>
<version>3.0.2</version>
<description>Phoca Commander</description>
<scriptfile>install/script.php</scriptfile>
<install>
<sql>
<file driver="mysql" charset="utf8">install/sql/mysql/install.utf8.sql</file>
</sql>
</install>
<uninstall>
<sql>
<file driver="mysql" charset="utf8">install/sql/mysql/uninstall.utf8.sql</file>
</sql>
</uninstall>
<update>
<schemas/>
</update>
<files folder="site">
<filename>index.html</filename>
</files>
<media destination="com_phocacommander" folder="media">
<filename>index.html</filename>
<folder>css</folder>
<folder>images</folder>
<folder>js</folder>
</media>
<languages>
<language tag="en-GB" client="site">language/en-GB/en-GB.com_phocacommander.ini</language>
<language tag="en-GB" client="site">language/en-GB/en-GB.com_phocacommander.sys.ini</language>
</languages>
<administration>
<menu img="" link="option=com_phocacommander">COM_PHOCACOMMANDER</menu>
<submenu>
<menu img="" alt="COM_PHOCACOMMANDER" view="phocacommandercp" link="option=com_phocacommander">COM_PHOCACOMMANDER</menu>
<menu img="" alt="COM_PHOCACOMMANDER_INFO" view="phocacommanderinfo" link="option=com_phocacommander&amp;view=phocacommanderinfo">COM_PHOCACOMMANDER_INFO</menu>
</submenu>
<files folder="admin">
<filename>access.xml</filename>
<filename>config.xml</filename>
<filename>controller.php</filename>
<filename>index.html</filename>
<filename>phocacommander.php</filename>
<filename>phocacommander.xml</filename>
<folder>controllers</folder>
<folder>help</folder>
<folder>helpers</folder>
<folder>install</folder>
<folder>models</folder>
<folder>tables</folder>
<folder>views</folder>
</files>
<languages>
<language tag="en-GB">language/en-GB/en-GB.com_phocacommander.ini</language>
<language tag="en-GB">language/en-GB/en-GB.com_phocacommander.sys.ini</language>
</languages>
</administration>
</extension>

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1,11 @@
<?php
/* @package Joomla
* @copyright Copyright (C) Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* @extension Phoca Extension
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
// This file is empty but because of JED rules, there must be copyright notice
defined('_JEXEC') or die();
?>

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1,726 @@
<?php
/* @package Joomla
* @copyright Copyright (C) Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* @extension Phoca Extension
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined('_JEXEC') or die();
jimport( 'joomla.application.component.view');
class PhocaCommanderCpViewPhocaCommanderActionA extends JViewLegacy
{
protected $t;
protected $p;
protected $state;
function display($tpl = null){
$app = JFactory::getApplication();
$this->t['pathfrom'] = $app->input->get( 'pathfrom', '', 'string' );
$this->t['pathwhere'] = $app->input->get( 'pathwhere', '', 'string' );
$this->t['selfiles'] = $app->input->get( 'selfiles', array(), 'array' );
$this->t['task'] = $app->input->get( 'task', '', 'string' );
$this->t['newitem'] = $app->input->get( 'newitem', '', 'string' );
$this->t['renameitem'] = $app->input->get( 'renameitem', '', 'string' );
$this->t['newattrib'] = $app->input->get( 'newattrib', '', 'string' );
$this->t['option'] = $app->input->get( 'option', '', 'string' );
$this->t['newvalue'] = $app->input->get( 'newvalue', '', 'string' );// Can be renamed folder, checkbox for overwritten, ...
//$this->t['activepanel'] = $app->input->get( 'activepanel', '', 'string' );
$paramsC = JComponentHelper::getParams('com_phocacommander');
$this->p['create_index'] = $paramsC->get( 'create_index', 1 );
$r = new PhocaCommanderResponse();
if (!JRequest::checkToken('request')) {
echo $r->_('0', JText::_('JINVALID_TOKEN'));return;
}
if ($this->t['option'] != 'com_phocacommander') {
echo $r->_('0', JText::_('COM_PHOCACOMMANDER_ERROR_NO_VALID_REQUEST'));return;
}
if ($this->t['task'] == '') {
echo $r->_('0', JText::_('COM_PHOCACOMMANDER_ERROR_NO_VALID_TASK'));return;
}
if (base64_decode($this->t['pathfrom']) != '') {
$pathFrom = JPATH_ROOT . '/'. base64_decode($this->t['pathfrom']) . '/';
} else {
$pathFrom = JPATH_ROOT . '/';
}
if (base64_decode($this->t['pathwhere']) != '') {
$pathWhere = JPATH_ROOT . '/'. base64_decode($this->t['pathwhere']) . '/';
} else {
$pathWhere = JPATH_ROOT . '/';
}
$folders = array();
$files = array();
$i = 0;
if (!empty($this->t['selfiles'])) {
foreach($this->t['selfiles'] as $k => $v) {
if ($v != '') {
$e = explode('|', $v);
if (isset($e[0]) && isset($e[1]) && $e[0] == 'folder') {
$folders[$i] = base64_decode($e[1]);
}
if (isset($e[0]) && isset($e[1]) && $e[0] == 'file') {
$files[$i] = base64_decode($e[1]);
}
}
$i++;
}
}
/*$newValue = $pathFrom . $this->t['newvalue'];
$oldValue = $pathFrom . $files[0];
*/
/*$response = array(
'status' => '1',
'message' => '<span class="ph-result-txt ph-error-txt">'.$this->t['newvalue'].' - :: '.$this->t['pathfrom'].' - '.$this->t['pathwhere'].'</span>');
echo json_encode($response);
return;*/
$o = ''; // TODO - remove temp
// RENAME
if ($this->t['task'] == 'rename') {
if ($this->t['newvalue'] == '') {
echo $r->_('0', JText::_('COM_PHOCACOMMANDER_ERROR_NO_VALUE_SEND'));return;
} else {
$newValue = $pathFrom . $this->t['newvalue'];
if (isset($folders[0]) && $folders[0] != '') {
$oldValue = $pathFrom . $folders[0];
if ($oldValue == $newValue) {
echo $r->_('0', JText::_('COM_PHOCACOMMANDER_ERROR_NEW_NAME_SAME_OLD'));return;
}
if (JFolder::exists($newValue)) {
echo $r->_('0', JText::_('COM_PHOCACOMMANDER_ERROR_NEW_FOLDER_NAME_EXISTS'));return;
}
// TODO
// test php rename on possible OSs
//
if (JFolder::exists($oldValue)) {
if (JFolder::move($oldValue, $newValue)) {
if (JFile::move($oldValue, $newValue)) {
echo $r->_('1', JText::_('COM_PHOCACOMMANDER_FOLDER_RENAMED'));return;
}
}
} else {
echo $r->_('0', JText::_('COM_PHOCACOMMANDER_ERROR_FOLDER_NOT_EXIST'));return;
}
} else if (isset($files[0]) && $files[0] != '') {
$oldValue = $pathFrom . $files[0];
if ($oldValue == $newValue) {
echo $r->_('0', JText::_('COM_PHOCACOMMANDER_ERROR_NEW_NAME_SAME_OLD'));return;
}
if (JFile::exists($newValue)) {
echo $r->_('0', JText::_('COM_PHOCACOMMANDER_ERROR_NEW_FILE_NAME_EXISTS'));return;
}
if (JFile::exists($oldValue)) {
if (JFile::move($oldValue, $newValue)) {
echo $r->_('1', JText::_('COM_PHOCACOMMANDER_FILE_RENAMED'));return;
}
} else {
echo $r->_('0', JText::_('COM_PHOCACOMMANDER_ERROR_FILE_NOT_EXIST'));return;
}
} else {
echo $r->_('0', JText::_('COM_PHOCACOMMANDER_ERROR_NO_FILE_OR_FOLDER_FOUND'));return;
}
}
}
// COPY, MOVE
$countFile = 0;
$countFolder = 0;
$countFileNo = 0;
$countFolderNo = 0;
$msg = array();
$message = '';
$overwrite = 0;
if ($this->t['task'] == 'copy' || $this->t['task'] == 'move') {
$txtCM = 'COPIED';
$function = 'copy';
if ($this->t['task'] == 'move') {
$txtCM = 'MOVED';
$function = 'move';
}
if ($this->t['newvalue'] == 'true') {
$overwrite = true;
}
if (!empty($folders)) {
if ($pathFrom == $pathWhere) {
echo $r->_('0', JText::_('COM_PHOCACOMMANDER_ERROR_SOURCE_SAME_DESTINATION'));return;
}
foreach($folders as $k => $v) {
$pos = true;
$fS = JPath::clean($pathFrom . $v);
$fD = JPath::clean($pathWhere);
$pos = strpos($fD, $fS);
if ($pos === false) {
if (isset($v) && $v != '') {
$srcValue = $pathFrom . $v;
if (JFolder::exists($srcValue) && JFolder::exists($pathWhere)) {
if(!$overwrite && JFolder::exists($pathWhere . $v)) {
$msg[] = $v . ' - '.JText::_('COM_PHOCACOMMANDER_FOLDER_NOT_OVERWRITTEN');
$countFolderNo++;
} else {
if (JFolder::copy($srcValue, $pathWhere . $v, '', $overwrite)) {
$countFolder++;
if ($this->t['task'] == 'move') {
JFolder::delete($srcValue);
}
} else {
$countFolderNo++;
}
}
}
}
} else {
$countFolderNo++;
$msg[] = $v . ' - '.JText::_('COM_PHOCACOMMANDER_FOLDER_CANNOT_BE_'.$txtCM.'_OWN_SUBFOLDER');
}
}
$successFo = 0;
if ($countFolder > 0 && $countFolderNo == 0) {
if ($countFolder == 1) {
$msg[] = JText::_('COM_PHOCACOMMANDER_FOLDER_'.$txtCM);
} else {
//$msg[] = JText::_('COM_PHOCACOMMANDER_ALL_FOLDERS_'.$txtCM);
$msg[] = $countFolder . ' ' . JText::_('COM_PHOCACOMMANDER_FOLDERS_'.$txtCM);
}
$successFo = 1;
} else if ($countFolderNo > 0 && $countFolder == 0) {
if ($countFolderNo == 1) {
$msg[] = JText::_('COM_PHOCACOMMANDER_FOLDER_NOT_'.$txtCM);
} else {
//$msg[] = $countFolderNo . ' ' . JText::_('COM_PHOCACOMMANDER_FOLDERS_NOT_'.$txtCM);
$msg[] = JText::_('COM_PHOCACOMMANDER_NO_FOLDERS_'.$txtCM);
}
$successFo = 0;
} else {
//$msg[] = JText::_('COM_PHOCACOMMANDER_NO_ALL_FOLDERS_'.$txtCM);
$msg[] = $countFolder . ' ' . JText::_('COM_PHOCACOMMANDER_FOLDERS_'.$txtCM);
$msg[] = $countFolderNo . ' ' . JText::_('COM_PHOCACOMMANDER_FOLDERS_NOT_'.$txtCM);
$successFo = 0;
}
} else {
$successFo = 1;
}
if (!empty($files)) {
if ($pathFrom == $pathWhere) {
echo $r->_('0', JText::_('COM_PHOCACOMMANDER_ERROR_SOURCE_SAME_DESTINATION'));return;
}
foreach($files as $k => $v) {
if (isset($v) && $v != '') {
$srcValue = $pathFrom . $v;
if (JFile::exists($srcValue) && JFolder::exists($pathWhere)) {
if ($overwrite == 0) {
$possibleNewFile = JPath::clean($pathWhere .$v);
if(JFile::exists($possibleNewFile)) {
$msg[] = $v . ' - '.JText::_('COM_PHOCACOMMANDER_FILE_NOT_OVERWRITTEN');
$countFileNo++;
} else {
if (JFile::$function($srcValue, $pathWhere . $v)) {
$countFile++;
} else {
$countFileNo++;
}
}
} else {
if (JFile::$function($srcValue, $pathWhere . $v)) {
$countFile++;
} else {
$countFileNo++;
}
}
}
}
}
$successFi = 0;
if ($countFile > 0 && $countFileNo == 0) {
if ($countFile == 1) {
$msg[] = JText::_('COM_PHOCACOMMANDER_FILE_'.$txtCM);
} else {
$msg[] = $countFile . ' ' . JText::_('COM_PHOCACOMMANDER_FILES_'.$txtCM);
}
$successFi = 1;
} else if ($countFileNo > 0 && $countFile == 0) {
if ($countFileNo == 1) {
$msg[] = JText::_('COM_PHOCACOMMANDER_FILE_NOT_'.$txtCM);
} else {
//$msg[] = $countFileNo . ' ' . JText::_('COM_PHOCACOMMANDER_FILES_NOT_'.$txtCM);
$msg[] = JText::_('COM_PHOCACOMMANDER_NO_FILES_'.$txtCM);
}
$successFi = 0;
} else {
//$msg[] = JText::_('COM_PHOCACOMMANDER_NO_ALL_FILES_'.$txtCM);
$msg[] = $countFile . ' ' . JText::_('COM_PHOCACOMMANDER_FILES_'.$txtCM);
$msg[] = $countFileNo . ' ' . JText::_('COM_PHOCACOMMANDER_FILES_NOT_'.$txtCM);
$successFi = 0;
}
} else {
$successFi = 1;
}
$status = 0;
if (count($msg) > 1) {
$message = implode ('<br />', $msg);
} else {
$message = $msg[0];
}
if ($successFi == 1 && $successFo == 1) {
$status = 1;
}
echo $r->_($status, $message);return;
}
// NEW FOLDER
if ($this->t['task'] == 'new') {
if ($this->t['newvalue'] == '') {
echo $r->_('0', JText::_('COM_PHOCACOMMANDER_ERROR_NO_VALUE_SEND'));return;
} else {
$newValue = JPath::clean($pathFrom . $this->t['newvalue']);
if (JFolder::exists($newValue)) {
echo $r->_('0', JText::_('COM_PHOCACOMMANDER_ERROR_NEW_FOLDER_NAME_EXISTS'));return;
} else {
if(JFolder::create($newValue)) {
if($this->p['create_index'] == 1) {
$data = "<html>\n<body bgcolor=\"#FFFFFF\">\n</body>\n</html>";
JFile::write($newValue."/index.html", $data);
}
echo $r->_('1', JText::_('COM_PHOCACOMMANDER_ERROR_NEW_FOLDER_CREATED'));return;
} else {
echo $r->_('0', JText::_('COM_PHOCACOMMANDER_ERROR_NEW_FOLDER_NAME_EXISTS'));return;
}
}
}
}
// DELETE
$countFile = 0;
$countFolder = 0;
$countFileNo = 0;
$countFolderNo = 0;
$msg = array();
$message = '';
if ($this->t['task'] == 'delete') {
if (!empty($folders)) {
foreach($folders as $k => $v) {
if (isset($v) && $v != '') {
$srcValue = $pathFrom . $v;
if (JFolder::exists($srcValue)) {
if (JFolder::delete($srcValue)) {
$countFolder++;
} else {
$countFolderNo++;
}
}
}
}
$successFo = 0;
if ($countFolder > 0 && $countFolderNo == 0) {
if ($countFolder == 1) {
$msg[] = JText::_('COM_PHOCACOMMANDER_FOLDER_DELETED');
} else {
//$msg[] = JText::_('COM_PHOCACOMMANDER_ALL_FOLDERS_'.$txtCM);
$msg[] = $countFolder . ' ' . JText::_('COM_PHOCACOMMANDER_FOLDERS_DELETED');
}
$successFo = 1;
} else if ($countFolderNo > 0 && $countFolder == 0) {
if ($countFolderNo == 1) {
$msg[] = JText::_('COM_PHOCACOMMANDER_FOLDER_NOT_DELETED');
} else {
//$msg[] = $countFolderNo . ' ' . JText::_('COM_PHOCACOMMANDER_FOLDERS_NOT_'.$txtCM);
$msg[] = JText::_('COM_PHOCACOMMANDER_NO_FOLDERS_DELETED');
}
$successFo = 0;
} else {
//$msg[] = JText::_('COM_PHOCACOMMANDER_NO_ALL_FOLDERS_'.$txtCM);
$msg[] = $countFolder . ' ' . JText::_('COM_PHOCACOMMANDER_FOLDERS_DELETED');
$msg[] = $countFolderNo . ' ' . JText::_('COM_PHOCACOMMANDER_FOLDERS_NOT_DELETED');
$successFo = 0;
}
} else {
$successFo = 1;
}
if (!empty($files)) {
foreach($files as $k => $v) {
if (isset($v) && $v != '') {
$srcValue = $pathFrom . $v;
if (JFile::exists($srcValue)) {
if (JFile::delete($srcValue)) {
$countFile++;
} else {
$countFile++;
}
}
}
}
$successFi = 0;
if ($countFile > 0 && $countFileNo == 0) {
if ($countFile == 1) {
$msg[] = JText::_('COM_PHOCACOMMANDER_FILE_DELETED');
} else {
$msg[] = $countFile . ' ' . JText::_('COM_PHOCACOMMANDER_FILES_DELETED');
}
$successFi = 1;
} else if ($countFileNo > 0 && $countFile == 0) {
if ($countFileNo == 1) {
$msg[] = JText::_('COM_PHOCACOMMANDER_FILE_NOT_DELETED');
} else {
//$msg[] = $countFileNo . ' ' . JText::_('COM_PHOCACOMMANDER_FILES_NOT_'.$txtCM);
$msg[] = JText::_('COM_PHOCACOMMANDER_NO_FILES_DELETED');
}
$successFi = 0;
} else {
//$msg[] = JText::_('COM_PHOCACOMMANDER_NO_ALL_FILES_'.$txtCM);
$msg[] = $countFile . ' ' . JText::_('COM_PHOCACOMMANDER_FILES_DELETED');
$msg[] = $countFileNo . ' ' . JText::_('COM_PHOCACOMMANDER_FILES_NOT_DELETED');
$successFi = 0;
}
} else {
$successFi = 1;
}
$status = 0;
if (count($msg) > 1) {
$message = implode ('<br />', $msg);
} else {
$message = $msg[0];
}
if ($successFi == 1 && $successFo == 1) {
$status = 1;
}
echo $r->_($status, $message);return;
}
// UNPACK
$msg = array();
$message = '';
$overwrite = 0;
if ($this->t['task'] == 'unpack') {
if (isset($files[0]) && $files[0] != '') {
/*if (JFile::getExt($files[0]) != 'zip') {
echo $r->_('0', JText::_('COM_PHOCACOMMANDER_FILE_NOT_UNPACKED'));return;
}*/
if ($this->t['newvalue'] == 'true') {
$overwrite = true;
}
$archFile = $pathFrom . $files[0];
if (JFile::exists($archFile)){
if (JFolder::exists($pathWhere)) {
$ext = JFile::getExt($files[0]);
$ext = strtolower($ext);
if ($ext == 'zip' || $ext == 'tar' || $ext == 'gz' || $ext == 'gzip' || $ext == 'bz2' || $ext == 'bzip2' ) {
} else {
echo $r->_('0', JText::_('COM_PHOCACOMMANDER_FILE_NOT_ARCHIVE'));return;
}
$fileExists = 0;
if ($ext == 'zip') {
$zip = new ZipArchive;
if ($zip->open(JPath::clean($archFile)) === true) {
for ($i = 0; $i < $zip->numFiles; $i++) {
$entry = $zip->getNameIndex($i);
if (JFile::exists(JPath::clean($pathWhere . '/' . $entry))) {
$fileExists = 1;
break;
}
}
}
}
if ($fileExists == 1 && $overwrite == 0) {
echo $r->_('0', JText::_('COM_PHOCACOMMANDER_FILE_CANNOT_BE_UNPACKED_FILE_EXISTS'));return;
} else {
try
{
if(JArchive::extract(JPath::clean($archFile), JPath::clean($pathWhere))) {
echo $r->_('1', JText::_('COM_PHOCACOMMANDER_FILE_UNPACKED'));return;
} else {
echo $r->_('0', JText::_('COM_PHOCACOMMANDER_FILE_NOT_UNPACKED'));return;
}
}
catch (Exception $e)
{
echo $r->_('0', JText::_('COM_PHOCACOMMANDER_FILE_NOT_UNPACKED'));return;
}
/*if($zip->extractTo(JPath::clean($pathWhere))) {
echo $r->_('1', JText::_('COM_PHOCACOMMANDER_FILE_UNPACKED'));return;
} else {
echo $r->_('0', JText::_('COM_PHOCACOMMANDER_FILE_NOT_UNPACKED'));return;
}*/
}
}
}
}
}
//ATTRIBUTES
// DELETE
$countFile = 0;
$countFolder = 0;
$countFileNo = 0;
$countFolderNo = 0;
$msg = array();
$message = '';
if ($this->t['task'] == 'attributes') {
if ($this->t['newvalue'] == '') {
echo $r->_('0', JText::_('COM_PHOCACOMMANDER_ERROR_NO_VALUE_SEND'));return;
} else {
if (!empty($folders)) {
foreach($folders as $k => $v) {
if (isset($v) && $v != '') {
$srcValue = $pathFrom . $v;
if (JFolder::exists($srcValue)) {
$zero = substr((string)$this->t['newvalue'], 0, 1);
if ($zero === '0') {
$perm = (string)$this->t['newvalue'];
} else {
$perm = '0'.(string)$this->t['newvalue'];
}
if (PhocaCommanderHelper::setChmod($srcValue, $perm)) {
$countFolder++;
} else {
$countFolderNo++;
}
}
}
}
$successFo = 0;
if ($countFolder > 0 && $countFolderNo == 0) {
if ($countFolder == 1) {
$msg[] = JText::_('COM_PHOCACOMMANDER_FOLDER_CHMOD_CHANGED');
} else {
//$msg[] = JText::_('COM_PHOCACOMMANDER_ALL_FOLDERS_'.$txtCM);
$msg[] = $countFolder . ' ' . JText::_('COM_PHOCACOMMANDER_FOLDERS_CHMOD_CHANGED');
}
$successFo = 1;
} else if ($countFolderNo > 0 && $countFolder == 0) {
if ($countFolderNo == 1) {
$msg[] = JText::_('COM_PHOCACOMMANDER_FOLDER_NOT_CHMOD_CHANGED');
} else {
//$msg[] = $countFolderNo . ' ' . JText::_('COM_PHOCACOMMANDER_FOLDERS_NOT_'.$txtCM);
$msg[] = JText::_('COM_PHOCACOMMANDER_NO_FOLDERS_CHMOD_CHANGED');
}
$successFo = 0;
} else {
//$msg[] = JText::_('COM_PHOCACOMMANDER_NO_ALL_FOLDERS_'.$txtCM);
$msg[] = $countFolder . ' ' . JText::_('COM_PHOCACOMMANDER_FOLDERS_CHMOD_CHANGED');
$msg[] = $countFolderNo . ' ' . JText::_('COM_PHOCACOMMANDER_FOLDERS_NOT_CHMOD_CHANGED');
$successFo = 0;
}
} else {
$successFo = 1;
}
if (!empty($files)) {
foreach($files as $k => $v) {
if (isset($v) && $v != '') {
$srcValue = $pathFrom . $v;
if (JFile::exists($srcValue)) {
$zero = substr((string)$this->t['newvalue'], 0, 1);
if ($zero === '0') {
$perm = (string)$this->t['newvalue'];
} else {
$perm = '0'.(string)$this->t['newvalue'];
}
if ($a = PhocaCommanderHelper::setChmod($srcValue, $perm)) {
$countFile++;
} else {
$countFile++;
}
}
}
}
$successFi = 0;
if ($countFile > 0 && $countFileNo == 0) {
if ($countFile == 1) {
$msg[] = JText::_('COM_PHOCACOMMANDER_FILE_CHMOD_CHANGED');
} else {
$msg[] = $countFile . ' ' . JText::_('COM_PHOCACOMMANDER_FILES_CHMOD_CHANGED');
}
$successFi = 1;
} else if ($countFileNo > 0 && $countFile == 0) {
if ($countFileNo == 1) {
$msg[] = JText::_('COM_PHOCACOMMANDER_FILE_NOT_CHMOD_CHANGED');
} else {
//$msg[] = $countFileNo . ' ' . JText::_('COM_PHOCACOMMANDER_FILES_NOT_'.$txtCM);
$msg[] = JText::_('COM_PHOCACOMMANDER_NO_FILES_CHMOD_CHANGED');
}
$successFi = 0;
} else {
//$msg[] = JText::_('COM_PHOCACOMMANDER_NO_ALL_FILES_'.$txtCM);
$msg[] = $countFile . ' ' . JText::_('COM_PHOCACOMMANDER_FILES_CHMOD_CHANGED');
$msg[] = $countFileNo . ' ' . JText::_('COM_PHOCACOMMANDER_FILES_NOT_CHMOD_CHANGED');
$successFi = 0;
}
} else {
$successFi = 1;
}
$status = 0;
if (count($msg) > 1) {
$message = implode ('<br />', $msg);
} else {
$message = $msg[0];
}
if ($successFi == 1 && $successFo == 1) {
$status = 1;
}
echo $r->_($status, $message);return;
}
}
// PACK
if ($this->t['task'] == 'pack') {
if ($this->t['newvalue'] == '' || $this->t['newvalue'] == '.zip') {
echo $r->_('0', JText::_('COM_PHOCACOMMANDER_ERROR_NO_VALUE_SEND_OR_WRONG_FILENAME_SET'));return;
} else {
$findme = '.zip';
$pos = strpos($this->t['newvalue'], $findme);
if ($pos === false) {
$this->t['newvalue'] = $this->t['newvalue'] . '.zip';
}
$newValue = JPath::clean($pathWhere . $this->t['newvalue']);
if (JFile::exists($newValue)) {
echo $r->_('0', $this->t['newvalue'] . ' - '.JText::_('COM_PHOCACOMMANDER_ERROR_FILE_EXISTS'));return;
} else {
$data = '';
if(!JFile::write($newValue, $data)) {
echo $r->_('0', $this->t['newvalue'] . ' - '.JText::_('COM_PHOCACOMMANDER_ERROR_FILE_COULD_NOT_BE_CREATED') . '<br>' . JText::_('COM_PHOCACOMMANDER_CHECK_PERMISSIONS_OWNERSHIP'));return;
}
// PACK
//$msg = array();
//$message = '';
$fToPack = array();
$fToPackJ = array();// join of JFolder::files + selected files
$zip = new ZipArchive;
$zip->open($newValue, ZipArchive::CREATE);
$i = 0;
if (!empty($folders)) {
foreach($folders as $k => $v) {
if (isset($v) && $v != '') {
$srcValue = $pathFrom . $v;
if (JFolder::exists($srcValue)) {
$fToPack[$i] = JFolder::files($srcValue, '.', true, true);
$i++;
}
}
}
}
$i = 0;
if (!empty($fToPack)) {
foreach ($fToPack as $k => $v) {
if (is_array($v) && (!empty($v))) {
foreach($v as $k2 => $v2) {
//$fToPackJ[$i] = $v2;
$rel1 = str_replace(JPATH_ROOT . '/', '', $v2);
$zip->addFile($v2, $rel1);
$i++;
}
} else {
//$fToPackJ[$i] = $v;
$rel2 = str_replace(JPATH_ROOT . '/', '', $v);
$zip->addFile($v, $rel2);
$i++;
}
}
}
if (!empty($files)) {
foreach($files as $k => $v) {
if (isset($v) && $v != '') {
$srcValue = $pathFrom . $v;
if (JFile::exists($srcValue)) {
//$fToPackJ[$i] = $srcValue;
$rel3 = str_replace(JPATH_ROOT . '/', '', $srcValue);
$zip->addFile($srcValue, $rel3);
$i++;
}
}
}
}
if ($zip->close()) {
echo $r->_('1', $this->t['newvalue'] . ' - '.JText::_('COM_PHOCACOMMANDER_ZIP_PACKAGE_CREATED'));return;
} else {
echo $r->_('0', $this->t['newvalue'] . ' - '.JText::_('COM_PHOCACOMMANDER_ERROR_ZIP_FILE_COULD_NOT_BE_CREATED') . '<br>' . JText::_('COM_PHOCACOMMANDER_CHECK_PERMISSIONS_OWNERSHIP'));return;
}
}
}
}
//$o .= $oldValue . "<br>". $newValue;
echo $r->_('0', JText::_('COM_PHOCACOMMANDER_WRONG_REQUEST'));return;
}
}
?>

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1,888 @@
<?php
/* @package Joomla
* @copyright Copyright (C) Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* @extension Phoca Extension
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined('_JEXEC') or die();
$this->t['url'] = 'index.php?option=com_phocacommander&view=phocacommanderfilesa&format=json&tmpl=component&'. JSession::getFormToken().'=1';
$this->t['urlaction'] = 'index.php?option=com_phocacommander&view=phocacommanderactiona&format=json&tmpl=component&'. JSession::getFormToken().'=1';
$this->t['urledit'] = 'index.php?option=com_phocacommander&task=phocacommanderedit.edit&'. JSession::getFormToken().'=1';
$this->t['urladmin'] = 'index.php';
$session = JFactory::getSession();
$w = $session->get('ww', false, 'com_phocacommander.phocacommander');
?>
<script type="text/javascript">
<?php if(!$w){
echo 'var phWelcomeWarning = 0;'."\n";
$session->set('ww', true, 'com_phocacommander.phocacommander');
} else {
echo 'var phWelcomeWarning = 1;'."\n";
}?>
var phActivePanel = '<?php echo $this->t['activepanel']; ?>';
var phPanel = '<?php echo $this->t['panel']; ?>';
var phFolderA = '<?php echo $this->t['foldera']; ?>';
var phFolderB = '<?php echo $this->t['folderb']; ?>';
var phOrderingA = '<?php echo $this->t['orderinga']; ?>';
var phOrderingB = '<?php echo $this->t['orderingb']; ?>';
var phDirectionA = '<?php echo $this->t['directiona']; ?>';
var phDirectionB = '<?php echo $this->t['directiona']; ?>';
function phSetForm() {
var phFormContent =
'<input type="hidden" name="activepanel" value="' + phActivePanel +'" />' + "\n"
+ '<input type="hidden" name="panel" value="' + phPanel +'" />' + "\n"
+ '<input type="hidden" name="directiona" value="' + phDirectionA +'" />' + "\n"
+ '<input type="hidden" name="directionb" value="' + phDirectionB +'" />' + "\n"
+ '<input type="hidden" name="orderinga" value="' + phOrderingA +'" />' + "\n"
+ '<input type="hidden" name="orderingb" value="' + phOrderingB +'" />' + "\n"
+ '<input type="hidden" name="foldera" value="' + phFolderA +'" />' + "\n"
+ '<input type="hidden" name="folderb" value="' + phFolderB +'" />' + "\n";
jQuery("#phFormBox").html(phFormContent);
}
function phSetVariables(phLFA) {
if (phLFA['orderinga'] && phLFA['orderinga'] != '') { phOrderingA = phLFA['orderinga'];}
if (phLFA['orderingb'] && phLFA['orderingb'] != '') { phOrderingB = phLFA['orderingb'];}
if (phLFA['directiona'] && phLFA['directiona'] != '') { phDirectionA = phLFA['directiona'];}
if (phLFA['directionb'] && phLFA['directionb'] != '') { phDirectionB = phLFA['directionb'];}
if (phLFA['panel'] && phLFA['panel'] != '') { phPanel = phLFA['panel'];}
if (phLFA['activepanel'] && phLFA['activepanel'] != '') { phActivePanel = phLFA['activepanel'];}
if (phLFA['foldera'] && phLFA['foldera'] != '*') {phFolderA = phLFA['foldera'];}
if (phLFA['foldera'] && phLFA['foldera'] == '|') {phFolderA = '';}
if (!phLFA['foldera'] && !phFolderA ) { phFolderA = '';}
if (phLFA['folderb'] && phLFA['folderb'] != '*') {phFolderB = phLFA['folderb'];}
if (phLFA['folderb'] && phLFA['folderb'] == '|') {phFolderB = '';}
if (!phLFA['folderb'] && !phFolderB ) { phFolderB = '';}
}
function phLoadFiles(phLFA) {
phSetVariables(phLFA);
phSetForm();
var url = '<?php echo $this->t['url']; ?>';
var dataPost = {};
var panelId = getPanelID(phPanel);
dataPost['panel'] = phPanel;
dataPost['activepanel'] = phActivePanel;
dataPost['foldera'] = phFolderA;
dataPost['folderb'] = phFolderB;
dataPost['orderinga'] = phOrderingA;
dataPost['orderingb'] = phOrderingB;
dataPost['directiona'] = phDirectionA;
dataPost['directionb'] = phDirectionB;
jQuery.ajax({
url: url,
type:'POST',
data:dataPost,
dataType:'JSON',
success:function(data){
if ( data.status == 1 ){
jQuery(panelId).html(data.message);
} else {
jQuery("#ph-ajaxtop").show();
jQuery("#ph-ajaxtop-message").html(data.error);
}
}
});
}
function phChangeActive() {
if (phActivePanel == 'B') {
jQuery('#phStatusA').addClass('ph-status-active');
jQuery('#phStatusB').removeClass('ph-status-active');
phActivePanel = 'A';
} else if (phActivePanel == 'A') {
jQuery('#phStatusB').addClass('ph-status-active');
jQuery('#phStatusA').removeClass('ph-status-active');
phActivePanel = 'B';
}
}
function phSearchIDs(panel) {
var searchIDs = jQuery("#ph-table-" + panel + " tr input:checkbox:checked").map(function(){
return jQuery(this).val();
}).get();
return searchIDs;
}
function phGetPassivePanel(panel) {
if (panel == 'A') { return 'B';}
else if (panel == 'B') { return 'A';}
}
function getPanelID(panel) {
if(panel == 'A') {return '#ph-a';}
if(panel == 'B') {return '#ph-b';}
}
function phRequest(dataPost) {
var url = '<?php echo $this->t['urlaction']; ?>';
var phAjaxTop = '<div id="ph-ajaxtop-message">'
+ '<?php echo JHtml::_( 'image', 'media/com_phocacommander/images/administrator/icon-loading5.gif', ''); ?>'
+ '&nbsp; ' + '<?php echo JText::_('COM_PHOCACOMMANDER_UPDATING'); ?>' + '</div>';
jQuery("#ph-ajaxtop").html(phAjaxTop);
jQuery("#ph-ajaxtop").show();
var phRequestActive = jQuery.ajax({
url: url,
type:'POST',
data:dataPost,
dataType:'JSON',
success:function(data){
if ( data.status == 1 ){
//jQuery("#ph-ajaxtop").show();
jQuery("#ph-ajaxtop-message").html(data.message);
phRequestActive = null;
setTimeout(function(){
jQuery("#ph-ajaxtop").hide(600);
jQuery(".ph-result-txt").remove();
}, 2500);
phLFA = {};
phLFA['activepanel'] = phActivePanel;
if (phActivePanel == 'A') {
phLFA['foldera'] = dataPost['pathfrom'];
phLFA['folderb'] = dataPost['pathwhere'];
} else {
phLFA['folderb'] = dataPost['pathfrom'];
phLFA['foldera'] = dataPost['pathwhere'];
}
phLFA['panel'] = 'A'; jQuery(document).ready(phLoadFiles(phLFA));
phLFA['panel'] = 'B'; jQuery(document).ready(phLoadFiles(phLFA));
} else {
//jQuery("#ph-ajaxtop").show();
jQuery("#ph-ajaxtop-message").html(data.error);
phRequestActive = null;
setTimeout(function(){
jQuery("#ph-ajaxtop").hide(600);
jQuery(".ph-result-txt").remove();
}, 3500);
phLFA = {};
phLFA['activepanel'] = phActivePanel;
if (phActivePanel == 'A') {
phLFA['foldera'] = dataPost['pathfrom'];
phLFA['folderb'] = dataPost['pathwhere'];
} else {
phLFA['folderb'] = dataPost['pathfrom'];
phLFA['foldera'] = dataPost['pathwhere'];
}
phLFA['panel'] = 'A'; jQuery(document).ready(phLoadFiles(phLFA));
phLFA['panel'] = 'B'; jQuery(document).ready(phLoadFiles(phLFA));
}
},
error: function(request, textStatus, errorThrown){
var errorMsg = '<?php echo JText::_('COM_PHOCACOMMANDER_SERVER_ERROR'); ?>';
errorMsg = errorMsg + ': ' + request.getResponseHeader('Status') + ' ('+ errorThrown +')';
jQuery("#ph-ajaxtop-message").html(errorMsg);
phRequestActive = null;
setTimeout(function(){
jQuery("#ph-ajaxtop").hide(600);
jQuery(".ph-result-txt").remove();
}, 3500);
phLFA = {};
phLFA['activepanel'] = phActivePanel;
if (phActivePanel == 'A') {
phLFA['foldera'] = dataPost['pathfrom'];
phLFA['folderb'] = dataPost['pathwhere'];
} else {
phLFA['folderb'] = dataPost['pathfrom'];
phLFA['foldera'] = dataPost['pathwhere'];
}
phLFA['panel'] = 'A'; jQuery(document).ready(phLoadFiles(phLFA));
phLFA['panel'] = 'B'; jQuery(document).ready(phLoadFiles(phLFA));
}
});
}
/* Action */
function phDoAction(task) {
var dataPost = {};
var txtFileFolder = '';
var renameItem = '';
var newItem = '';
var newAttrib = '';
var pathFrom = '';
var pathWhere = '';
var searchIDsA = null;
var searchIDsB = null;
var searchIDs = null;
var searchIDsNoPrefix = '';
var passivePanel = phGetPassivePanel(phActivePanel);
searchIDs = phSearchIDs(phActivePanel);
if (task == 'new' || task == 'upload') {
pathFrom = jQuery("#phPanel" + phActivePanel).val();
pathWhere = jQuery("#phPanel" + passivePanel).val();
} else {
if (searchIDs[0] != null) {
pathFrom = jQuery("#phPanel" + phActivePanel).val();
pathWhere = jQuery("#phPanel" + passivePanel).val();
} else {
searchIDs = phSearchIDs(passivePanel);
if (searchIDs[0] != null) {
pathFrom = jQuery("#phPanel" + passivePanel).val();
pathWhere = jQuery("#phPanel" + phActivePanel).val();
}
}
}
dataPost['pathfrom'] = pathFrom;
dataPost['pathwhere'] = pathWhere;
dataPost['task'] = task;
dataPost['selfiles'] = searchIDs;
//dataPost['newitem'] = newItem;
//dataPost['renameitem'] = renameItem;
//dataPost['newattrib'] = newAttrib;
if (task == 'new') {
jQuery('#phPromptValueNewFolder').val( '' );
phPrompt(dataPost, 'NewFolder', '<?php echo JText::_('COM_PHOCACOMMANDER_CREATE');?>', '', "#phPromptValueNewFolder");
return true;
} else if (task == 'upload') {
var txtPathFrom = jQuery.base64.atob(pathFrom, true);
if (!txtPathFrom) {
txtPathFrom = '<?php echo JText::_('COM_PHOCACOMMANDER_JOOMLA_ROOT_FOLDER');?>';
}
phPlupload(dataPost['pathfrom']);
phFrame(dataPost, 'Upload', '<?php echo JText::_('COM_PHOCACOMMANDER_FOLDER');?>: ' + '<span class="ph-file-folder">' + txtPathFrom + '</span>' );
return true;
} else if (searchIDs[0] == null) {
phAlert('<?php echo JText::_('COM_PHOCACOMMANDER_NO_FILE_NO_FOLDER_SELECTED') ?>');
return false;
} else {
var count = searchIDs.filter(function(value) { return value !== undefined }).length;
if (count == 1) {
if (searchIDs[0].indexOf("folder|") >= 0) {
searchIDsNoPrefix = searchIDs[0].replace('folder|', '');
txtFileFolder = jQuery.base64.atob(searchIDsNoPrefix, true);
txtFileFolder = '<span class="ph-file-folder">' + txtFileFolder + '</span> ' + '<?php echo JText::_('COM_PHOCACOMMANDER_FOLDER_SM'); ?>';
dataPost['type'] = 'folder';
if (task == 'view' || task == 'edit') {
phAlert('<?php echo JText::_('COM_PHOCACOMMANDER_FOLDER_CANNOT_BE_PREVIEWED_OR_EDITED'); ?>');
return false;
} else if (task == 'download') {
phAlert('<?php echo JText::_('COM_PHOCACOMMANDER_FOLDER_CANNOT_BE_DOWNLOADED'); ?>');
return false;
}
} else if (searchIDs[0].indexOf("file|") >= 0) {
searchIDsNoPrefix = searchIDs[0].replace('file|', '');
txtFileFolder = '<span class="ph-file-folder">' + jQuery.base64.atob(searchIDsNoPrefix, true) + '</span>';
dataPost['type'] = 'file';
}
} else {
if (task == 'rename') {
phAlert('<?php echo JText::_('COM_PHOCACOMMANDER_ONLY_ONE_FILE_OR_FOLDER_NEEDS_TO_BE_SELECTED'); ?>');
return false;
} else if (task == 'view' || task == 'edit' || task == 'unpack' || task == 'download') {
phAlert('<?php echo JText::_('COM_PHOCACOMMANDER_ONLY_ONE_FILE_NEEDS_TO_BE_SELECTED'); ?>');
return false;
}
txtFileFolder = count + ' ' + '<?php echo JText::_('COM_PHOCACOMMANDER_FILES_FOLDERS_SM'); ?>';
}
//return;
var txtTo = '<?php echo JText::_('COM_PHOCACOMMANDER_TO'); ?>';
var txtPathWhere = jQuery.base64.atob(pathWhere, true);
if (!txtPathWhere) {
txtPathWhere = '<?php echo JText::_('COM_PHOCACOMMANDER_JOOMLA_ROOT_FOLDER');?>';
} else {
txtPathWhere = '<span class="ph-file-folder">' + txtPathWhere + '</span> ' + '<?php echo JText::_('COM_PHOCACOMMANDER_FOLDER_SM'); ?>';
}
if (task == 'copy') {
phPrompt(dataPost, 'Copy', '<?php echo JText::_('COM_PHOCACOMMANDER_OK');?>', '<?php echo JText::_('COM_PHOCACOMMANDER_ARE_YOU_SURE_COPY');?>' + "<br>" + txtFileFolder + "<br>" + txtTo + "<br>" + txtPathWhere, "#phPromptValueCopy", 1 );
return true;
} else if (task == 'move') {
phPrompt(dataPost, 'Move', '<?php echo JText::_('COM_PHOCACOMMANDER_OK');?>', '<?php echo JText::_('COM_PHOCACOMMANDER_ARE_YOU_SURE_MOVE');?>' + "<br>" + txtFileFolder + "<br>" + txtTo + "<br>" + txtPathWhere, "#phPromptValueMove", 1 );
return true;
} else if (task == 'delete') {
phConfirm(dataPost, '<?php echo JText::_('COM_PHOCACOMMANDER_ARE_YOU_SURE_DELETE');?>' + "<br>" + txtFileFolder + "<br>" + '<?php echo '<span class="ph-warning-text">'.JText::_('COM_PHOCACOMMANDER_PERMANENTLY_REMOVE_WARNING').'</span>'; ?>' );
return true;
} else if (task == 'rename') {
jQuery("#phPromptValueRename").val(jQuery.base64.atob(searchIDsNoPrefix, true));
jQuery("#phPromptValueRename").on("focus", function () {
jQuery(this).select();
});
phPrompt(dataPost, 'Rename', '<?php echo JText::_('COM_PHOCACOMMANDER_RENAME');?>', '', '#phPromptValueRename', 0);
return true;
} else if (task == 'attributes') {
clearAttribVal();
phPrompt(dataPost, 'Attributes', '<?php echo JText::_('COM_PHOCACOMMANDER_NEW_ATTRIBUTE');?>', '<?php echo JText::_('COM_PHOCACOMMANDER_SET_NEW_ATTRIBUTE_FOR');?>' + "<br>" + txtFileFolder + '', "#phAttribVal");
return true;
} else if (task == 'edit') {
if (jQuery.base64.atob(pathFrom, true)) {
var fullFile = jQuery.base64.atob(pathFrom, true) + '/' + jQuery.base64.atob(searchIDsNoPrefix, true);
} else {
var fullFile = jQuery.base64.atob(searchIDsNoPrefix, true);
}
var fullFileEncoded = jQuery.base64.btoa(fullFile);
jQuery("#phFormTask").val('phocacommanderedit.edit');
jQuery("#phFormFilename").val(fullFileEncoded);
jQuery( "#adminForm" ).submit();
return true;
} else if (task == 'download') {
if (jQuery.base64.atob(pathFrom, true)) {
var fullFile = jQuery.base64.atob(pathFrom, true) + '/' + jQuery.base64.atob(searchIDsNoPrefix, true);
} else {
var fullFile = jQuery.base64.atob(searchIDsNoPrefix, true);
}
var fullFileEncoded = jQuery.base64.btoa(fullFile);
jQuery("#phFormTask").val('phocacommanderedit.download');
jQuery("#phFormFilename").val(fullFileEncoded);
jQuery( "#adminForm" ).submit();
return true;
} else if (task == 'view') {
var phFile = jQuery.base64.atob(searchIDsNoPrefix, true);
var phExt = phFile.substr( (phFile.lastIndexOf('.') +1) );
var phExt = phExt.toLowerCase();
if (phExt == 'jpg' || phExt == 'jpeg' || phExt == 'png' || phExt == 'gif') {
jQuery().prettyPhoto({social_tools: false, horizontal_padding: 17, theme: 'pp_default'});
var ppImage = '<?php echo JURI::root();?>' + jQuery.base64.atob(pathFrom, true) + '/' + jQuery.base64.atob(searchIDsNoPrefix, true);
var ppTitle = jQuery.base64.atob(searchIDsNoPrefix, true);
var ppDesc = ' ';
jQuery.prettyPhoto.open(ppImage,ppTitle,ppDesc);
} else {
phAlert('<?php echo JText::_('COM_PHOCACOMMANDER_ONLY_IMAGES_CAN_BE_PREVIEWED') ;?>');
return false;
}
return true;
} else if (task == 'unpack') {
var phFile = jQuery.base64.atob(searchIDsNoPrefix, true);
var phExt = phFile.substr( (phFile.lastIndexOf('.') +1) );
var phExt = phExt.toLowerCase();
if (phExt == 'zip' || phExt == 'tar' || phExt == 'gz' || phExt == 'gzip' || phExt == 'bz2' || phExt == 'bzip2' ) {
if (phExt == 'zip') {
phPrompt(dataPost, 'Unpack', '<?php echo JText::_('COM_PHOCACOMMANDER_OK');?>', '<?php echo JText::_('COM_PHOCACOMMANDER_ARE_YOU_SURE_UNPACK');?>' + "<br>" + txtFileFolder + "<br>" + txtTo + "<br>" + txtPathWhere, "#phPromptValueUnpack", 1 );
} else {
var warnUnpack = '<?php echo '<span class="ph-warning-text">'.JText::_('COM_PHOCACOMMANDER_EXTRACTED_FILES_OVERWRITE_EXISTING_FILES_WARNING').'</span>'; ?>';
phPrompt(dataPost, 'UnpackOther', '<?php echo JText::_('COM_PHOCACOMMANDER_OK');?>', '<?php echo JText::_('COM_PHOCACOMMANDER_ARE_YOU_SURE_UNPACK');?>' + "<br>" + txtFileFolder + "<br>" + txtTo + "<br>" + txtPathWhere + "<br>" + warnUnpack, "#phPromptValueUnpackOther", 1 );
}
} else {
phAlert('<?php echo JText::_('COM_PHOCACOMMANDER_ONLY_ARCHIVE_FILE_CAN_BE_UNPACKED') ;?>');
}
return true;
} else if (task == 'pack') {
phPrompt(dataPost, 'Pack', '<?php echo JText::_('COM_PHOCACOMMANDER_PACK');?>', '', '#phPromptValuePack', 0);
return true;
} else {
return true;
}
}
return true;
}
function phDoActionInline(task, fileName, pathFrom) {
if (task == 'edit') {
if (jQuery.base64.atob(pathFrom, true)) {
var fullFile = jQuery.base64.atob(pathFrom, true) + '/' + fileName;
} else {
var fullFile = fileName;
}
var fullFileEncoded = jQuery.base64.btoa(fullFile);
jQuery("#phFormTask").val('phocacommanderedit.edit');
jQuery("#phFormFilename").val(fullFileEncoded);
jQuery( "#adminForm" ).submit();
return true;
} else if (task == 'view') {
var phExt = fileName.substr( (fileName.lastIndexOf('.') +1) );
var phExt = phExt.toLowerCase();
if (phExt == 'jpg' || phExt == 'jpeg' || phExt == 'png' || phExt == 'gif') {
jQuery().prettyPhoto({social_tools: false, horizontal_padding: 17, theme: 'pp_default'});
var ppImage = '<?php echo JURI::root();?>' + jQuery.base64.atob(pathFrom, true) + '/' + fileName;
var ppTitle = fileName;
var ppDesc = ' ';
jQuery.prettyPhoto.open(ppImage,ppTitle,ppDesc);
} else {
phAlert('<?php echo JText::_('COM_PHOCACOMMANDER_ONLY_IMAGES_CAN_BE_PREVIEWED') ;?>');
return false;
}
return true;
} else if (task == 'download') {
if (jQuery.base64.atob(pathFrom, true)) {
var fullFile = jQuery.base64.atob(pathFrom, true) + '/' + fileName;
} else {
var fullFile = fileName;
}
var fullFileEncoded = jQuery.base64.btoa(fullFile);
jQuery("#phFormTask").val('phocacommanderedit.download');
jQuery("#phFormFilename").val(fullFileEncoded);
jQuery( "#adminForm" ).submit();
return true;
}
}
/* DIALOG */
function phSetCloseButton() {
jQuery('.ui-dialog-titlebar-close').html('<span class="ph-close-button ui-button-icon-primary ui-icon ui-icon-closethick"></span>');
}
function phAlert(txt) {
jQuery("#phDialogWarning").dialog({
autoOpen: false,
modal: true,
buttons: {
"<?php echo JText::_('COM_PHOCACOMMANDER_OK'); ?>": function() {
jQuery(this).dialog("close");
return false;
}
}
});
jQuery( "#phDialogWarning" ).html( txt );
jQuery( "#phDialogWarning" ).dialog( "open" );
/* Correct class */
phSetCloseButton();
jQuery('button').addClass('btn btn-default');
}
function phConfirm(dataPost, txt) {
jQuery("#phDialogConfirm" ).html( txt );
jQuery("#phDialogConfirm").dialog({
autoOpen: false,
modal: true,
buttons: {
"<?php echo JText::_('COM_PHOCACOMMANDER_OK'); ?>": function() {
jQuery(this).dialog("close");
phRequest(dataPost);
return true;
},
"<?php echo JText::_('COM_PHOCACOMMANDER_CANCEL'); ?>": function() {
jQuery(this).dialog("close");
return false;
}
}
});
jQuery( "#phDialogConfirm" ).dialog( "open" );
/* Correct class */
phSetCloseButton();
jQuery('button').addClass('btn btn-default');
}
function phPrompt(dataPost, type, txtButton, txt, promptValue, checkBox) {
var phButtons = {};
phButtons[txtButton] = function() {
if(checkBox) {
var phPromptValue = jQuery( promptValue );
dataPost['newvalue'] = phPromptValue.prop('checked') ;
phRequest(dataPost);
phPromptValue.prop('checked', false);
} else {
var phPromptValue = jQuery( promptValue );
if (phPromptValue.val() != '') {
dataPost['newvalue'] = phPromptValue.val();
phRequest(dataPost);
}
}
jQuery(this).dialog("close");
return false;
};
phButtons["<?php echo JText::_('COM_PHOCACOMMANDER_CANCEL'); ?>"] = function() {
jQuery(this).dialog("close");
return false;
};
jQuery("#phDialogPrompt" + type).dialog({
autoOpen: false,
modal: true,
buttons: phButtons
});
jQuery("#phDialogPrompt" + type).dialog( "open" );
jQuery("#phDialogPrompt" + type + ' .ph-prepend-text').show();
jQuery("#phDialogPrompt" + type + ' .ph-prepend-text').html( txt );
/* Correct class */
phSetCloseButton();
jQuery('button').addClass('btn btn-default');
}
function phPromtWarning(type, txtButton, returnValue, w, h) {
var phButtons = {};
phButtons[txtButton] = function() {
jQuery(this).dialog("close");
return false;
};
phButtons["<?php echo JText::_('COM_PHOCACOMMANDER_CANCEL'); ?>"] = function() {
if (returnValue) {
window.location = returnValue;
return false;
}
jQuery(this).dialog("close");
return false;
};
var windowHeight = jQuery(window).height();
var windowWidth = jQuery(window).width();
windowWidth = windowWidth * w;
windowHeight = windowHeight * h;
jQuery("#phDialogPrompt" + type).dialog({
autoOpen: false,
modal: true,
width: windowWidth,
height: windowHeight,
buttons: phButtons
});
jQuery("#phDialogPrompt" + type).dialog( "open" );
/* Correct class */
phSetCloseButton();
jQuery('button').addClass('btn btn-default');
}
function phFrame(dataPost, type, txt) {
var windowHeight = jQuery(window).height();
var windowWidth = jQuery(window).width();
windowWidth = windowWidth * 0.8;
windowHeight = windowHeight * 0.8;
jQuery("#phDialogPrompt" + type).dialog({
autoOpen: false,
resizable: true,
width: windowWidth,
height: windowHeight,
modal: true,
draggable: false,
resizable: false
});
jQuery("#phDialogPrompt" + type).dialog( "open" );
jQuery("#phDialogPrompt" + type + ' .ph-prepend-text').show();
jQuery("#phDialogPrompt" + type + ' .ph-prepend-text').html( txt );
/* Correct class */
phSetCloseButton();
jQuery('button').addClass('btn btn-default');
}
/* Attributes */
var phO = 0;
var phG = 0;
var phT = 0;
var phAttribVal = '';
function clearAttribVal() {
phO = phG = phT = 0;
phAttribVal = '';
jQuery('#phDialogPromptAttributes').find(':checked').each(function() {
jQuery(this).removeAttr('checked');
jQuery(this).parent().toggleClass('ph-active', false);
});
jQuery('#phAttribVal').val( phAttribVal );
}
function setAttribVal(phO, phG, phT) {
phAttribVal = phO.toString() + '' + phG.toString() + '' + phT.toString();
jQuery('#phAttribVal').val( phAttribVal );
}
/* Document Ready */
jQuery(document).ready(function() {
jQuery('#selectAllA').live( "click", function() {
phActivePanel = 'B';
var checkedStatusA = this.checked;
jQuery('#ph-table-A tr').find('td:first :checkbox').each(function () {
jQuery(this).prop('checked', checkedStatusA);
jQuery(this).parent().toggleClass('ph-active', this.checked);
});
});
jQuery('#selectAllB').live( "click", function() {
phActivePanel = 'B';
var checkedStatusB = this.checked;
jQuery('#ph-table-B tr').find('td:first :checkbox').each(function () {
jQuery(this).prop('checked', checkedStatusB);
jQuery(this).parent().toggleClass('ph-active', this.checked);
});
});
/* Start */
if(phWelcomeWarning == 0) {
phPromtWarning('WelcomeWarning', '<?php echo JText::_('COM_PHOCACOMMANDER_OK');?>', '<?php echo $this->t['urladmin']; ?>', 0.6, 0.6 );
}
phLFA = {};
phLFA['panel'] = 'A'; jQuery(document).ready(phLoadFiles(phLFA));
phLFA['panel'] = 'B'; jQuery(document).ready(phLoadFiles(phLFA));
/* Make selected file or folder active - color */
jQuery('td input:checkbox').live("change", function(){
jQuery(this).parent().toggleClass('ph-active', this.checked);
});
/* Make panel active - color */
/* Start or change the form*/
/* Change */
jQuery('#ph-a').live( "click", function() {
phActivePanel = 'A';
});
jQuery('#ph-b').live( "click", function() {
phActivePanel = 'B';
});
jQuery('#phCommanderBox').live("click", function(){
if (phActivePanel == 'A') {
jQuery('#phStatusA').addClass('ph-status-active');
jQuery('#phStatusB').removeClass('ph-status-active');
} else if (phActivePanel == 'B') {
jQuery('#phStatusB').addClass('ph-status-active');
jQuery('#phStatusA').removeClass('ph-status-active');
}
})
/* Keys */
jQuery( document ).live( "keydown", function( e ) {
//alert(e.which);
if (e.keyCode == 90 && e.ctrlKey) {
e.preventDefault();
phDoAction('pack');
}
if ((e.which || e.keyCode) == 112) {
e.preventDefault();
phDoAction('attributes');
}
if ((e.which || e.keyCode) == 113) {
e.preventDefault();
phDoAction('rename');
}
if ((e.which || e.keyCode) == 114) {
e.preventDefault();
phDoAction('view');
}
if ((e.which || e.keyCode) == 115) {
e.preventDefault();
phDoAction('edit');
}
if ((e.which || e.keyCode) == 116) {
e.preventDefault();
phDoAction('copy');
}
if ((e.which || e.keyCode) == 117) {
e.preventDefault();
phDoAction('move');
}
if ((e.which || e.keyCode) == 118) {
e.preventDefault();
phDoAction('new');
}
if ((e.which || e.keyCode) == 119) {
e.preventDefault();
phDoAction('delete');
}
if ((e.which || e.keyCode) == 120) {
e.preventDefault();
phDoAction('unpack');
}
if ((e.which || e.keyCode) == 121) {
e.preventDefault();
phDoAction('upload');
}
if ((e.which || e.keyCode) == 9) {
e.preventDefault();
phChangeActive();
}
});
/* var map = {17: false, 120: false};
$(document).keydown(function(e) {
if (e.keyCode in map) {
map[e.keyCode] = true;
if (map[17] && map[120]) {
alert("ano");
}
}
}).keyup(function(e) {
if (e.keyCode in map) {
map[e.keyCode] = false;
}
}); */
/* Attributes */
jQuery('#ro').live("change", function(){ if(this.checked) { phO = phO + 4;} else {phO = phO - 4;} setAttribVal(phO, phG, phT);});
jQuery('#wo').live("change", function(){ if(this.checked) { phO = phO + 2;} else {phO = phO - 2;} setAttribVal(phO, phG, phT);});
jQuery('#eo').live("change", function(){ if(this.checked) { phO = phO + 1;} else {phO = phO - 1;} setAttribVal(phO, phG, phT);});
jQuery('#rg').live("change", function(){ if(this.checked) { phG = phG + 4;} else {phG = phG - 4;} setAttribVal(phO, phG, phT);});
jQuery('#wg').live("change", function(){ if(this.checked) { phG = phG + 2;} else {phG = phG - 2;} setAttribVal(phO, phG, phT);});
jQuery('#eg').live("change", function(){ if(this.checked) { phG = phG + 1;} else {phG = phG - 1;} setAttribVal(phO, phG, phT);});
jQuery('#rt').live("change", function(){ if(this.checked) { phT = phT + 4;} else {phT = phT - 4;} setAttribVal(phO, phG, phT);});
jQuery('#wt').live("change", function(){ if(this.checked) { phT = phT + 2;} else {phT = phT - 2;} setAttribVal(phO, phG, phT);});
jQuery('#et').live("change", function(){ if(this.checked) { phT = phT + 1;} else {phT = phT - 1;} setAttribVal(phO, phG, phT);});
})
</script>
<?php
?>
<div id="ph-ajaxtop"></div>
<div id="system-message-container"></div>
<div class="ph-commander-box" id="phCommanderBox">
<div class="row row-fluid ph-commander-box-in">
<div class="span6 ph-a" id="ph-a"></div>
<div class="span6 ph-b" id="ph-b"></div>
</div>
<div class="row row-fluid ph-commander-box-in">
<div class="span12"style="text-align:right;padding-right: 30px">Powered by <a href="http://www.phoca.cz/phocacommander" target="_blank">Phoca Commander</a> | <a href="http://www.phoca.cz/version/index.php?phocacommander=<?php echo $this->t['version']; ?>" target="_blank"><?php echo JText::_('COM_PHOCACOMMANDER_CHECK_FOR_UPDATE') ?></a></div>
</div>
</div>
<div id="phDialogWarning" class="ph-dialog" title="<?php echo JText::_('COM_PHOCACOMMANDER_WARNING'); ?>"></div>
<div id="phDialogConfirm" class="ph-dialog" title="<?php echo JText::_('COM_PHOCACOMMANDER_CONFIRM'); ?>"></div>
<div id="phDialogPromptNewFolder" class="ph-dialog" title="<?php echo JText::_('COM_PHOCACOMMANDER_SET'); ?>">
<div><?php echo JText::_('COM_PHOCACOMMANDER_NEW_FOLDER');?></div>
<div class="ph-prepend-text"></div>
<div><input type="text" name="phPromptValueNewFolder" id="phPromptValueNewFolder" value="" class="input" /></div>
</div>
<div id="phDialogPromptRename" class="ph-dialog" title="<?php echo JText::_('COM_PHOCACOMMANDER_SET'); ?>">
<div><?php echo JText::_('COM_PHOCACOMMANDER_RENAME');?></div>
<div class="ph-prepend-text"></div>
<div><input type="text" name="phPromptValueRename" id="phPromptValueRename" value="" class="input" /></div>
</div>
<div id="phDialogPromptCopy" class="ph-dialog" title="<?php echo JText::_('COM_PHOCACOMMANDER_SET'); ?>">
<div><?php echo JText::_('COM_PHOCACOMMANDER_COPY');?></div>
<div class="ph-prepend-text"></div>
<div class="ph-input-box-prompt"><label class="ph-input-prompt"><input type="checkbox" name="phPromptValueCopy" id="phPromptValueCopy" value="" class="ph-input-checkbox-prompt" /> <span><?php echo JText::_('COM_PHOCACOMMANDER_OVERWRITE_EXISTING_FOLDERS_FILES'); ?>?</span></label></div>
</div>
<div id="phDialogPromptMove" class="ph-dialog" title="<?php echo JText::_('COM_PHOCACOMMANDER_SET'); ?>">
<div><?php echo JText::_('COM_PHOCACOMMANDER_MOVE');?></div>
<div class="ph-prepend-text"></div>
<div class="ph-input-box-prompt"><label class="ph-input-prompt"><input type="checkbox" name="phPromptValueMove" id="phPromptValueMove" value="" class="ph-input-checkbox-prompt" /> <span><?php echo JText::_('COM_PHOCACOMMANDER_OVERWRITE_EXISTING_FOLDERS_FILES'); ?>?</span></label></div>
</div>
<div id="phDialogPromptUnpack" class="ph-dialog" title="<?php echo JText::_('COM_PHOCACOMMANDER_SET'); ?>">
<div><?php echo JText::_('COM_PHOCACOMMANDER_UNPACK');?></div>
<div class="ph-prepend-text"></div>
<div class="ph-input-box-prompt"><label class="ph-input-prompt"><input type="checkbox" name="phPromptValueUnpack" id="phPromptValueUnpack" value="" class="ph-input-checkbox-prompt" /> <span><?php echo JText::_('COM_PHOCACOMMANDER_OVERWRITE_EXISTING_FOLDERS_FILES'); ?>?</span></label></div>
</div>
<div id="phDialogPromptUnpackOther" class="ph-dialog" title="<?php echo JText::_('COM_PHOCACOMMANDER_SET'); ?>">
<div><?php echo JText::_('COM_PHOCACOMMANDER_UNPACK');?></div>
<div class="ph-prepend-text"></div>
<input type="hidden" name="phPromptValueUnpackOther" id="phPromptValueUnpackOther" value="" />
</div>
<div id="phDialogPromptPack" class="ph-dialog" title="<?php echo JText::_('COM_PHOCACOMMANDER_SET'); ?>">
<div><?php echo JText::_('COM_PHOCACOMMANDER_SET_PACKAGE_NAME');?></div>
<div class="ph-prepend-text"></div>
<div><input type="text" name="phPromptValuePack" id="phPromptValuePack" value=".zip" class="input" /></div>
</div>
<div id="phDialogPromptWelcomeWarning" class="ph-dialog" title="<?php echo JText::_('COM_PHOCACOMMANDER_WARNING'); ?>">
<div><?php echo JText::_('COM_PHOCACOMMANDER_WELCOME_WARNING');?></div>
<div class="ph-prepend-text"></div>
<input type="hidden" name="phPromptValueUnpackOther" id="phPromptValueUnpackOther" value="" />
</div>
<div id="phDialogPromptAttributes" class="ph-dialog" style="width: 400px" title="<?php echo JText::_('COM_PHOCACOMMANDER_SET'); ?>">
<div><?php echo JText::_('COM_PHOCACOMMANDER_ATTRIBUTES');?></div>
<div class="ph-prepend-text"></div>
<table class="ph-table-attribs">
<tr>
<th><?php echo JText::_('COM_PHOCACOMMANDER_PERMISSION'); ?></th>
<th><?php echo JText::_('COM_PHOCACOMMANDER_OWNER'); ?></th>
<th><?php echo JText::_('COM_PHOCACOMMANDER_GROUP'); ?></th>
<th><?php echo JText::_('COM_PHOCACOMMANDER_OTHER'); ?></th>
</tr>
<tr>
<td><?php echo JText::_('COM_PHOCACOMMANDER_READ'); ?></td>
<td><input class="ph-input-checkbox-attr" type="checkbox" name="ro" id="ro" value="" /></td>
<td><input class="ph-input-checkbox-attr" type="checkbox" name="rg" id="rg" value="" /></td>
<td><input class="ph-input-checkbox-attr" type="checkbox" name="rt" id="rt" value="" /></td>
</tr>
<tr>
<td><?php echo JText::_('COM_PHOCACOMMANDER_WRITE'); ?></td>
<td><input class="ph-input-checkbox-attr" type="checkbox" name="wo" id="wo" value="" /></td>
<td><input class="ph-input-checkbox-attr" type="checkbox" name="wg" id="wg" value="" /></td>
<td><input class="ph-input-checkbox-attr" type="checkbox" name="wt" id="wt" value="" /></td>
</tr>
<tr>
<td><?php echo JText::_('COM_PHOCACOMMANDER_EXECUTE'); ?></td>
<td><input class="ph-input-checkbox-attr" type="checkbox" name="eo" id="eo" value="" /></td>
<td><input class="ph-input-checkbox-attr" type="checkbox" name="eg" id="eg" value="" /></td>
<td><input class="ph-input-checkbox-attr" type="checkbox" name="et" id="et" value="" /></td>
</tr>
<tr>
<td><?php echo JText::_('COM_PHOCACOMMANDER_VALUE'); ?></td>
<td colspan="3"><input id="phAttribVal" class="input input-sm input-small ph-input-attribs" type="text" name="phAttribVal" value="" /></td>
</tr>
</table>
</div>
<form id="adminForm" name="adminForm" method="post" action="index.php?option=com_phocacommander">
<input type="hidden" name="task" id="phFormTask" value="" />
<input type="hidden" name="filename" id="phFormFilename" value="" />
<input type="hidden" name="id" value="1" />
<div id="phFormBox" style="display:none;"></div>
<?php echo JHtml::_('form.token'); ?>
</form>
<div id="phDialogPromptUpload" class="ph-dialog" title="<?php echo JText::_('COM_PHOCACOMMANDER_UPLOAD'); ?>">
<div><span class="ph-prepend-text"></span> <span>(<?php echo JText::_( 'COM_PHOCACOMMANDER_MAX_UPLOAD_SIZE' ).':&nbsp;'.$this->t['uploadmaxsizeread'] ?>)</span></div>
<?php echo $this->loadTemplate('multipleupload'); ?>
</div>

View File

@ -0,0 +1,18 @@
<?php
/* @package Joomla
* @copyright Copyright (C) Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* @extension Phoca Extension
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined('_JEXEC') or die();
echo '<div id="com_phocacommander-multipleupload" class="ph-in">';
echo $this->t['mu_response_msg'] ;
echo '<form action="'. JURI::base().'index.php?option=com_phocacommander" >';
if ($this->t['ftp']) {echo PhocaDownloadFileUpload::renderFTPaccess();}
echo '<small>'.JText::_('COM_PHOCACOMMANDER_SELECT_FILES').'. '.JText::_('COM_PHOCACOMMANDER_ADD_FILES_TO_UPLOAD_QUEUE_AND_CLICK_START_BUTTON').'</small>';
echo $this->t['mu_output'];
echo '</form>';
echo '</div>';
?>

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1,221 @@
<?php
/* @package Joomla
* @copyright Copyright (C) Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* @extension Phoca Extension
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined('_JEXEC') or die();
jimport( 'joomla.application.component.view' );
jimport( 'joomla.html.pane' );
class PhocaCommanderCpViewPhocaCommanderCp extends JViewLegacy
{
protected $t;
protected $views;
function display($tpl = null) {
$app = JFactory::getApplication();
$document = JFactory::getDocument();
$paramsC = JComponentHelper::getParams('com_phocacommander');
$this->t['experimental_zip'] = $paramsC->get( 'experimental_zip', 0 );
$this->t['display_upload_button'] = $paramsC->get( 'display_upload_button', 1 );
$this->t['display_download_button'] = $paramsC->get( 'display_download_button', 0 );
//JHtml::_('bootstrap.loadCss');
JHtml::_('jquery.framework', false);
$this->t['version'] = PhocaCommanderHelper::getExtensionVersion();
JHTML::stylesheet( 'media/com_phocacommander/css/administrator/phocacommander.css' );
JHTML::stylesheet( 'media/com_phocacommander/css/administrator/jquery-ui.css' );
JHTML::stylesheet( 'media/com_phocacommander/css/administrator/phoca-ui.css' );
JHTML::stylesheet( 'media/com_phocacommander/js/administrator/prettyphoto/css/prettyPhoto.css' );
$document->addScript(JURI::root(true).'/media/com_phocacommander/js/administrator/jquery.base64.js');
$document->addScript(JURI::root(true).'/media/com_phocacommander/js/administrator/jquery-ui.min.js');
$document->addScript(JURI::root(true).'/media/com_phocacommander/js/administrator/prettyphoto/js/jquery.prettyPhoto.js');
$model = $this->getModel();
$model->checkState();
$app = JFactory::getApplication();
$context = 'com_phocacommander.phocacommander.';
$this->t['orderinga'] = $app->getUserStateFromRequest($context .'orderinga', 'orderinga', '', 'string');
$this->t['orderingb'] = $app->getUserStateFromRequest($context .'orderingb', 'orderingb', '', 'string');
$this->t['directiona'] = $app->getUserStateFromRequest($context .'directiona', 'directiona', '', 'string');
$this->t['directionb'] = $app->getUserStateFromRequest($context .'directionb', 'directionb', '', 'string');
$this->t['foldera'] = $app->getUserStateFromRequest($context .'foldera', 'foldera', '', 'string');
$this->t['folderb'] = $app->getUserStateFromRequest($context .'folderb', 'folderb', '', 'string');
$this->t['panel'] = $app->getUserStateFromRequest($context .'panel', 'panel', '', 'string');
$this->t['activepanel'] = $app->getUserStateFromRequest($context .'activepanel', 'activepanel', '', 'string');
if($this->t['activepanel'] == '') {$this->t['activepanel'] = 'A';}
if($this->t['orderinga'] == '') {$this->t['orderinga'] = 'name';}
if($this->t['orderingb'] == '') {$this->t['orderingb'] = 'name';}
if($this->t['directiona'] == '') {$this->t['directiona'] = 'ASC';}
if($this->t['directionb'] == '') {$this->t['directionb'] = 'ASC';}
// - - - - - - - - - - -
// Multiple Upload
// - - - - - - - - - - -
// Get infos from multiple upload
$this->t['mu_response_msg'] = $muUploadedMsg = '';
$this->t['multipleuploadchunk'] = $paramsC->get( 'multiple_upload_chunk', 0 );
$this->t['uploadmaxsize'] = $paramsC->get( 'upload_maxsize', 3145728 );
$this->t['uploadmaxsizeread'] = PhocaCommanderHelper::getFileSizeReadable($this->t['uploadmaxsize']);
$this->t['enablemultiple'] = 1;
$this->t['multipleuploadmethod'] = $paramsC->get( 'multiple_upload_method', 4 );
$this->session = JFactory::getSession();
PhocaCommanderFileUploadMultiple::renderMultipleUploadLibraries();
$this->manager = $app->input->get( 'manager', '', '', 'file' );
$this->field = $app->input->get('field');
$this->currentFolder = '';
/*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'] = '<div class="alert alert-info">'
.'<button type="button" class="close" data-dismiss="alert">&times;</button>'
.JText::_('COM_PHOCADOWNLOAD_COUNT_UPLOADED_FILE'). ': ' . $muUploaded .'<br />'
.JText::_('COM_PHOCADOWNLOAD_COUNT_NOT_UPLOADED_FILE'). ': ' . $muFailed.'</div>';
} else if ($muFailed > 0 && $muUploaded == 0) {
$this->t['mu_response_msg'] = '<div class="alert alert-error">'
.'<button type="button" class="close" data-dismiss="alert">&times;</button>'
.JText::_('COM_PHOCADOWNLOAD_COUNT_NOT_UPLOADED_FILE'). ': ' . $muFailed.'</div>';
} else if ($muFailed == 0 && $muUploaded > 0){
$this->t['mu_response_msg'] = '<div class="alert alert-success">'
.'<button type="button" class="close" data-dismiss="alert">&times;</button>'
.JText::_('COM_PHOCADOWNLOAD_COUNT_UPLOADED_FILE'). ': ' . $muUploaded.'</div>';
} else {
$this->t['mu_response_msg'] = '';
}*/
$mU = new PhocaCommanderFileUploadMultiple();
$mU->frontEnd = 0;
$mU->method = $this->t['multipleuploadmethod'];
$mU->url = JURI::base().'index.php?option=com_phocacommander&task=phocacommanderupload.multipleupload&amp;'
.$this->session->getName().'='.$this->session->getId().'&'
. JSession::getFormToken().'=1';
$mU->maxFileSize = PhocaCommanderFileUploadMultiple::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'] = JPATH_ROOT;
$this->addToolbar();
parent::display($tpl);
}
protected function addToolbar() {
$paramsC = JComponentHelper::getParams('com_phocacommander');
$fKeys = $paramsC->get( 'f_keys', 1 );
if ($fKeys) {
$f[1] = 'COM_PHOCACOMMANDER_F1_ATTRIBUTES';
$f[2] = 'COM_PHOCACOMMANDER_F2_RENAME';
$f[3] = 'COM_PHOCACOMMANDER_F3_VIEW';
$f[4] = 'COM_PHOCACOMMANDER_F4_EDIT';
$f[5] = 'COM_PHOCACOMMANDER_F5_COPY';
$f[6] = 'COM_PHOCACOMMANDER_F6_MOVE';
$f[7] = 'COM_PHOCACOMMANDER_F7_NEW_FOLDER';
$f[8] = 'COM_PHOCACOMMANDER_F8_DELETE';
$f[9] = 'COM_PHOCACOMMANDER_F9_UNPACK';
$f[10] = 'COM_PHOCACOMMANDER_F10_UPLOAD';
$f[11] = 'COM_PHOCACOMMANDER_PACK';
$f[12] = 'COM_PHOCACOMMANDER_DOWNLOAD';
} else {
$f[1] = 'COM_PHOCACOMMANDER_F1';
$f[2] = 'COM_PHOCACOMMANDER_F2';
$f[3] = 'COM_PHOCACOMMANDER_F3';
$f[4] = 'COM_PHOCACOMMANDER_F4';
$f[5] = 'COM_PHOCACOMMANDER_F5';
$f[6] = 'COM_PHOCACOMMANDER_F6';
$f[7] = 'COM_PHOCACOMMANDER_F7';
$f[8] = 'COM_PHOCACOMMANDER_F8';
$f[9] = 'COM_PHOCACOMMANDER_F9';
$f[10] = 'COM_PHOCACOMMANDER_F10';
$f[11] = 'COM_PHOCACOMMANDER_PACK';
$f[12] = 'COM_PHOCACOMMANDER_DOWNLOAD';
}
require_once JPATH_COMPONENT.'/helpers/phocacommandercp.php';
$class = 'PhocaCommanderCpHelper';
$canDo = $class::getActions('com_phocacommander');
JToolBarHelper::title( JText::_( 'COM_PHOCACOMMANDER' ), 'home-2 cpanel' );
// This button is unnecessary but it is displayed because Joomla! design bug
$bar = JToolBar::getInstance( 'toolbar' );
$dhtml = '<a href="index.php?option=com_phocacommander" class="btn btn-small"><i class="icon-home-2" title="'.JText::_('COM_PHOCACOMMANDER').'"></i> '. ' '.'</a>';
$bar->appendButton('Custom', $dhtml);
JToolBarHelper::divider();
$dhtml = '<a href="javascript: void(0)" onclick="phDoAction(\'attributes\')" class="btn btn-small"><i class="icon-list" title="'.JText::_('COM_PHOCACOMMANDER_F1_ATTRIBUTES').'"></i> '.JText::_($f[1]).'</a>';
$bar->appendButton('Custom', $dhtml);
$dhtml = '<a href="javascript: void(0)" onclick="phDoAction(\'rename\')" class="btn btn-small"><i class="icon-pencil-2" title="'.JText::_('COM_PHOCACOMMANDER_F2_RENAME').'"></i> '.JText::_($f[2]).'</a>';
$bar->appendButton('Custom', $dhtml);
$dhtml = '<a href="javascript: void(0)" onclick="phDoAction(\'view\')" class="btn btn-small"><i class="icon-search" title="'.JText::_('COM_PHOCACOMMANDER_F3_VIEW').'"></i> '.JText::_($f[3]).'</a>';
$bar->appendButton('Custom', $dhtml);
$dhtml = '<a href="javascript: void(0)" onclick="phDoAction(\'edit\')" class="btn btn-small"><i class="icon-edit" title="'.JText::_('COM_PHOCACOMMANDER_F4_EDIT').'"></i> '.JText::_($f[4]).'</a>';
$bar->appendButton('Custom', $dhtml);
$dhtml = '<a href="javascript: void(0)" onclick="phDoAction(\'copy\')" class="btn btn-small" id="btn-copy"><i class="icon-copy" title="'.JText::_('COM_PHOCACOMMANDER_F5_COPY').'"></i> '.JText::_($f[5]).'</a>';
$bar->appendButton('Custom', $dhtml);
$dhtml = '<a href="javascript: void(0)" onclick="phDoAction(\'move\')" class="btn btn-small" id="btn-move"><i class="icon-move" title="'.JText::_('COM_PHOCACOMMANDER_F6_MOVE').'"></i> '.JText::_($f[6]).'</a>';
$bar->appendButton('Custom', $dhtml);
$dhtml = '<a href="javascript: void(0)" onclick="phDoAction(\'new\')" class="btn btn-small" id="btn-new"><i class="icon-folder-close" title="'.JText::_('COM_PHOCACOMMANDER_F7_NEW_FOLDER').'"></i> '.JText::_($f[7]).'</a>';
$bar->appendButton('Custom', $dhtml);
$dhtml = '<a href="javascript: void(0)" onclick="phDoAction(\'delete\')" class="btn btn-small" id="btn-delete"><i class="icon-delete" title="'.JText::_('COM_PHOCACOMMANDER_F8_DELETE').'"></i> '.JText::_($f[8]).'</a>';
$bar->appendButton('Custom', $dhtml);
$dhtml = '<a href="javascript: void(0)" onclick="phDoAction(\'unpack\')" class="btn btn-small btn-default"><i class="icon-box-remove" title="'.JText::_('COM_PHOCACOMMANDER_F9_UNZIP').'"></i> '.JText::_($f[9]).'</a>';
$bar->appendButton('Custom', $dhtml);
if ($this->t['display_upload_button'] == 1) {
$dhtml = '<a href="javascript: void(0)" onclick="phDoAction(\'upload\')" class="btn btn-small btn-default"><i class="icon-upload" title="'.JText::_('COM_PHOCACOMMANDER_F10_UPLOAD').'"></i> '.JText::_($f[10]).'</a>';
$bar->appendButton('Custom', $dhtml);
}
if ($this->t['display_download_button'] == 1) {
$dhtml = '<a href="javascript: void(0)" onclick="phDoAction(\'download\')" class="btn btn-small"><i class="icon-download" title="'.JText::_('COM_PHOCACOMMANDER_DOWNLOAD').'"></i> '.JText::_($f[12]).'</a>';
$bar->appendButton('Custom', $dhtml);
}
if ($this->t['experimental_zip'] == 1) {
$dhtml = '<a href="javascript: void(0)" onclick="phDoAction(\'pack\')" class="btn btn-small btn-default"><i class="icon-box-add" title="'.JText::_('COM_PHOCACOMMANDER_PACK').'"></i> '.JText::_($f[11]).'</a>';
$bar->appendButton('Custom', $dhtml);
}
JToolBarHelper::divider();
if ($canDo->get('core.admin')) {
JToolBarHelper::preferences('com_phocacommander');
JToolBarHelper::divider();
}
JToolBarHelper::help( 'screen.phocacommander', true );
$dhtml = '<a href="index.php?option=com_phocacommander&view=phocacommanderinfo" class="btn btn-small btn-primary"><i class="icon-info" title="'.JText::_('COM_PHOCACOMMANDER_INFO').'"></i> '.JText::_('COM_PHOCACOMMANDER_INFO').'</a>';
$bar->appendButton('Custom', $dhtml);
}
}
?>

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1,87 @@
<?php
/*
* @package Joomla
* @copyright Copyright (C) Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* @component Phoca Gallery
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined('_JEXEC') or die;
JHtml::_('behavior.tooltip');
JHtml::_('behavior.formvalidation');
JHtml::_('behavior.keepalive');
JHtml::_('formbehavior.chosen', 'select');
?>
<script type="text/javascript">
Joomla.submitbutton = function(task)
{
if (task == 'phocacommanderedit.cancel' || document.formvalidator.isValid(document.id('adminForm'))) {
Joomla.submitform(task, document.getElementById('adminForm'));
}
else {
alert('<?php echo JText::_('JGLOBAL_VALIDATION_FORM_FAILED', true);?>');
}
}
</script>
<?php
echo '<div id="phocacommanderedit"><form action="'.JRoute::_('index.php?option=com_phocacommander&layout=edit&id=1&file='.$this->t['fullfile']).'" method="post" name="adminForm" id="adminForm" class="form-validate">'."\n"
.'<div class="row-fluid">'."\n";
// First Column
echo '<div class="span10 form-horizontal">';
$tabs = array (
'general' => JText::_('COM_PHOCACOMMANDER_EDIT_OPTIONS'));
$o = '<ul class="nav nav-tabs">';
$i = 0;
foreach($tabs as $k => $v) {
$cA = 0;
if ($i == 0) {
$cA = 'class="active"';
}
$o .= '<li '.$cA.'><a href="#'.$k.'" data-toggle="tab">'. $v.'</a></li>'."\n";
$i++;
}
$o .= '</ul>';
echo '<div class="tab-content">'. "\n";
echo '<div class="tab-pane active" id="general">'."\n";
if ($this->ftp) { echo $this->loadTemplate('ftp');}
echo '<p class="well well-small lead" style="line-height:1;">'.JText::_('COM_PHOCACOMMANDER_EDITING_FILE').' "'.$this->t['file'].'"<br /><span style="font-size:small">('.base64_decode($this->t['fullfile']).')</span></p>';
echo '<p class="label">'.JText::_('COM_PHOCACOMMANDER_TOGGLE_FULL_SCREEN').'</p>';
echo '<div class="clr"></div>';
//echo $this->form->getLabel('source');
//echo '<div class="clr"></div>';
echo '<div class="editor-border" id="ph-editor">';
echo $this->form->getInput('source');
echo '</div>';
echo '</div></div>'. "\n";
echo '</div>';
// Second Column
echo '<div class="span2"></div>';//end span2
echo '<input name="task" type="hidden" value="" />'. "\n";
echo '<input name="orderinga" type="hidden" value="'.$this->t['orderinga'].'" />'. "\n";
echo '<input name="orderingb" type="hidden" value="'.$this->t['orderingb'].'" />'. "\n";
echo '<input name="directiona" type="hidden" value="'.$this->t['directiona'].'" />'. "\n";
echo '<input name="directionb" type="hidden" value="'.$this->t['directionb'].'" />'. "\n";
echo '<input name="foldera" type="hidden" value="'.$this->t['foldera'].'" />'. "\n";
echo '<input name="folderb" type="hidden" value="'.$this->t['folderb'].'" />'. "\n";
echo '<input name="panel" type="hidden" value="'.$this->t['panel'].'" />'. "\n";
echo '<input name="activepanel" type="hidden" value="'.$this->t['activepanel'].'" />'. "\n";
echo JHtml::_('form.token'). "\n";
echo $this->form->getInput('filename');
echo '</div></form></div>';
?>

View File

@ -0,0 +1,41 @@
<?php
/**
* @package Joomla.Administrator
* @subpackage com_templates
*
* @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
?>
<fieldset class="adminform" title="<?php echo JText::_('COM_PHOCAGALLERY_FTP_TITLE'); ?>">
<legend><?php echo JText::_('COM_PHOCAGALLERY_FTP_TITLE'); ?></legend>
<?php echo JText::_('COM_PHOCAGALLERY_FTP_DESC'); ?>
<?php if ($this->ftp instanceof Exception): ?>
<p class="error"><?php echo JText::_($this->ftp->message); ?></p>
<?php endif; ?>
<table class="adminform">
<tbody>
<tr>
<td width="120">
<label for="username"><?php echo JText::_('JGLOBAL_USERNAME'); ?></label>
</td>
<td>
<input type="text" id="username" name="username" class="inputbox" size="70" value="" />
</td>
</tr>
<tr>
<td width="120">
<label for="password"><?php echo JText::_('JGLOBAL_PASSWORD'); ?></label>
</td>
<td>
<input type="password" id="password" name="password" class="inputbox" size="70" value="" />
</td>
</tr>
</tbody>
</table>
</fieldset>

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1,101 @@
<?php
/*
* @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;
*/
defined('_JEXEC') or die;
jimport('joomla.application.component.view');
class PhocaCommanderCpViewPhocaCommanderEdit extends JViewLegacy
{
protected $item;
protected $form;
protected $state;
protected $t;
protected $source;
public function display($tpl = null)
{
JHTML::stylesheet('media/com_phocacommander/css/administrator/phocacommander.css' );
$app = JFactory::getApplication();
$this->t['fullfile'] = $app->input->get( 'file', '', 'string' );
$context = 'com_phocacommander.phocacommander.';
$this->t['orderinga'] = $app->getUserStateFromRequest($context .'orderinga', 'orderinga', '', 'string');
$this->t['orderingb'] = $app->getUserStateFromRequest($context .'orderingb', 'orderingb', '', 'string');
$this->t['directiona'] = $app->getUserStateFromRequest($context .'directiona', 'directiona', '', 'string');
$this->t['directionb'] = $app->getUserStateFromRequest($context .'directionb', 'directionb', '', 'string');
$this->t['foldera'] = $app->getUserStateFromRequest($context .'foldera', 'foldera', '', 'string');
$this->t['folderb'] = $app->getUserStateFromRequest($context .'folderb', 'folderb', '', 'string');
$this->t['panel'] = $app->getUserStateFromRequest($context .'panel', 'panel', '', 'string');
$this->t['activepanel'] = $app->getUserStateFromRequest($context .'activepanel', 'activepanel', '', 'string');
$this->form = $this->get('Form');
$this->ftp = JClientHelper::setCredentialsFromRequest('ftp');
$model = $this->getModel();
$fileWithPath = base64_decode($this->t['fullfile']);
$file = explode('/', $fileWithPath);
$this->t['file']= '';
if(is_array($file)) {
$c = count($file);
$c--;
$this->t['file'] = $file[$c];
}
// Set CSS for codemirror
//JFactory::getApplication()->setUserState('editor.source.syntax', '');
$this->form->setValue('id', null, 1);
$this->form->setValue('filename', null, base64_encode($fileWithPath));
$this->source = $model->getSource($this->form->getValue('filename'));
if (!isset($this->source->source)) {
throw new Exception(JText::_('COM_PHOCACOMMANDER_FILE_DOES_NOT_EXIST'), 500);
return false;
}
$this->form->setValue('source', null, $this->source->source);
if (count($errors = $this->get('Errors'))) {
throw new Exception(implode("\n", $errors), 500);
return false;
}
$this->addToolbar();
parent::display($tpl);
}
protected function addToolbar() {
require_once JPATH_COMPONENT.DS.'helpers'.DS.'phocacommanderedit.php';
JRequest::setVar('hidemainmenu', true);
$bar = JToolBar::getInstance('toolbar');
$user = JFactory::getUser();
$canDo = PhocaCommanderEditHelper::getActions();
$text = JText::_('COM_PHOCACOMMANDER_EDIT');
JToolBarHelper::title( JText::_( 'COM_PHOCACOMMANDER_FILE' ).': <small><small>[ ' . $text.' ]</small></small>' , 'file');
// If not checked out, can save the item.
if ($canDo->get('core.edit')){
JToolBarHelper::apply('phocacommanderedit.apply', 'JTOOLBAR_APPLY');
JToolBarHelper::save('phocacommanderedit.save', 'JTOOLBAR_SAVE');
}
JToolBarHelper::cancel('phocacommanderedit.cancel', 'JTOOLBAR_CLOSE');
JToolBarHelper::divider();
JToolBarHelper::help( 'screen.phocacommander', true );
}
}
?>

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1,10 @@
<?php
/* @package Joomla
* @copyright Copyright (C) Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* @extension Phoca Extension
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
// This file is empty but because of JED rules, there must be copyright notice
defined('_JEXEC') or die();

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1,313 @@
<?php
/* @package Joomla
* @copyright Copyright (C) Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* @extension Phoca Extension
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined('_JEXEC') or die();
jimport( 'joomla.application.component.view');
class PhocaCommanderCpViewPhocaCommanderFilesA extends JViewLegacy
{
protected $t;
protected $p;
protected $state;
function display($tpl = null){
if (!JRequest::checkToken('request')) {
$response = array(
'status' => '0',
'error' => '<button type="button" class="close" data-dismiss="alert">×</button><div class="alert alert-danger">' . JText::_('JINVALID_TOKEN') . '</div>');
echo json_encode($response);
return;
}
$app = JFactory::getApplication();
$this->t['panel'] = $app->input->get( 'panel', '', 'string' );
$this->t['activepanel'] = $app->input->get( 'activepanel', '', 'string' );
$this->t['orderinga'] = $app->input->get( 'orderinga', '', 'string' );
$this->t['directiona'] = $app->input->get( 'directiona', '', 'string' );
$this->t['foldera'] = $app->input->get( 'foldera', '', 'string' );
$this->t['orderingb'] = $app->input->get( 'orderingb', '', 'string' );
$this->t['directionb'] = $app->input->get( 'directionb', '', 'string' );
$this->t['folderb'] = $app->input->get( 'folderb', '', 'string' );
$app = JFactory::getApplication();
$context = 'com_phocacommander.phocacommander.';
$app->getUserStateFromRequest($context .'orderinga', 'orderinga', $this->t['orderinga'], 'string');
$app->getUserStateFromRequest($context .'orderingb', 'orderingb', $this->t['orderingb'], 'string');
$app->getUserStateFromRequest($context .'directiona', 'directiona', $this->t['directiona'], 'string');
$app->getUserStateFromRequest($context .'directionb', 'directionb', $this->t['directionb'], 'string');
$app->getUserStateFromRequest($context .'panel', 'panel', $this->t['panel'], 'string');
$app->getUserStateFromRequest($context .'activepanel', 'activepanel', $this->t['activepanel'], 'string');
$app->getUserStateFromRequest($context .'foldera', 'foldera', $this->t['foldera'], 'string');
$app->getUserStateFromRequest($context .'folderb', 'folderb', $this->t['folderb'], 'string');
if ($this->t['panel'] == 'A') {
$this->t['folder'] = $this->t['foldera'];
$this->t['ordering'] = $this->t['orderinga'];
$this->t['direction'] = $this->t['directiona'];
} else if ($this->t['panel'] == 'B') {
$this->t['folder'] = $this->t['folderb'];
$this->t['ordering'] = $this->t['orderingb'];
$this->t['direction'] = $this->t['directionb'];
}
$model = $this->getModel();
$path = JPATH_ROOT;
$searchPath = JPATH_ROOT;
$searchPathRel = JURI::root();
$parent = '';
$this->t['folderdecoded'] = '';
if ($this->t['folder'] != '') {
$this->t['folderdecoded'] = base64_decode($this->t['folder']);
if (JFolder::exists(JPath::clean($path . '/' .$this->t['folderdecoded']))) {
$searchPath = $path . '/' . $this->t['folderdecoded'];
$searchPathRel = $searchPathRel . '/' . $this->t['folderdecoded'];
$parent = str_replace("\\", "/", dirname($this->t['folderdecoded']));
$parent = ($parent == '.') ? null : $parent;
} else {
$searchPath = $path;
$searchPathRel = $searchPathRel;
//$parent = null;
$parent = null;
$this->t['folder'] = '';
$this->t['folderdecoded'] = '';
if ($this->t['panel'] == 'A') {
$this->t['foldera'] = '';
$app->getUserStateFromRequest($context .'foldera', 'foldera', '|', 'string');
}
if ($this->t['panel'] == 'B') {
$this->t['folderb'] = '';
$app->getUserStateFromRequest($context .'folderb', 'folderb', '|', 'string');
}
}
}
$paramsC = JComponentHelper::getParams('com_phocacommander');
$this->p['display_inline_view'] = $paramsC->get( 'display_inline_view', 0);
$this->p['display_inline_edit'] = $paramsC->get( 'display_inline_edit', 0);
$this->p['display_inline_download'] = $paramsC->get( 'display_inline_download', 0);
$this->p['box_height'] = $paramsC->get( 'box_height', '350');
$this->t['urlimage'] = JURI::root().'media/com_phocacommander/images/administrator/';
$this->t['urlimagemime'] = JURI::root().'media/com_phocacommander/images/administrator/mime/16';
$this->t['url'] = 'index.php?option=com_phocacommander&view=phocacommanderfilesa&format=json&tmpl=component&'. JSession::getFormToken().'=1';
// Active panel
$activePanelClass = '';
if ($this->t['panel'] == $this->t['activepanel']) {
$activePanelClass = 'ph-status-active';
}
// Direction Ouput of arrow
if ($this->t['direction'] == 'ASC') {
//$arrow = '&uarr;';
$arrow = '<img src="'.$this->t['urlimage'].'/arrow-up.png" alt="" />';
$reverse = 'DESC';
$searchSorting = 0;
} else {
//$arrow = '&darr;';
$arrow = '<img src="'.$this->t['urlimage'].'/arrow-down.png" alt="" />';
$reverse = 'ASC';
$searchSorting = 1;
}
$reorder = 0;
$arrowName = $arrowSize = $arrowDate = '';
if ($this->t['ordering'] == 'name') {
$reorder = 0;
$arrowName = '<span class="ph-arrow">'.$arrow.'</span>';
}
if ($this->t['ordering'] == 'size') {
$reorder = 1;
$searchSorting = 0;
$arrowSize = '<span class="ph-arrow">'.$arrow.'</span>';
}
if ($this->t['ordering'] == 'date') {
$reorder = 2;
$searchSorting = 0;
$arrowDate = '<span class="ph-arrow">'.$arrow.'</span>';
}
$lFF = PhocaCommanderHelper::createLoadFilesFunction($this->t, $this->t['folder'], 'name', $reverse);
$name = '<a href="javascript: void(0)" onclick="'.$lFF.'">'.JText::_('COM_PHOCACOMMANDER_NAME').'</a> '.$arrowName;
$lFF = PhocaCommanderHelper::createLoadFilesFunction($this->t, $this->t['folder'], 'size', $reverse);
$size = '<a href="javascript: void(0)" onclick="'.$lFF.'">'.JText::_('COM_PHOCACOMMANDER_SIZE').'</a> '.$arrowSize;
$lFF = PhocaCommanderHelper::createLoadFilesFunction($this->t, $this->t['folder'], 'date', $reverse);
$date = '<a href="javascript: void(0)" onclick="'.$lFF.'">'.JText::_('COM_PHOCACOMMANDER_DATE').'</a> '.$arrowDate;
// Files Folders
$items = scandir($searchPath, $searchSorting);
$folders = array();
$files = array();
$i = 0;
foreach ($items as $k => $v) {
if ($v === '.' or $v === '..') {
continue;
}
// ------
// FOLDER
// ------
if (is_dir($searchPath . '/' . $v)) {
$folders[$i]['name'] = $v;
$statF = stat($searchPath . '/' . $v);
$folders[$i]['date'] = $statF['mtime'];
$folders[$i]['size'] = $statF['size'];
$folders[$i]['uid'] = $statF['uid'];
$folders[$i]['gid'] = $statF['gid'];
//$folders[$i]['chmod'] = fileperms($searchPath . '/' . $v);
$folders[$i]['chmod'] = substr(sprintf('%o', fileperms($searchPath . '/' . $v)), -4);
$folderLink = $v;
if ($this->t['folderdecoded'] != '') {
$folderLink = $this->t['folderdecoded']. '/'.$v;
}
$lFF = PhocaCommanderHelper::createLoadFilesFunction($this->t, base64_encode($folderLink), $this->t['ordering'], $this->t['direction']);
$folders[$i]['fullname'] = '<div><label class="ph-checkbox"><input type="checkbox" name="'.base64_encode($v).'" value="folder|'.base64_encode($v).'" /> <img src="'.$this->t['urlimagemime'].'/icon-folder.png" alt="" /> [<a href="javascript: void(0)" onclick="'.$lFF.'" >'.utf8_encode($v).'</a>]</label></div>';
}
// ----
// FILE
// ----
if (is_file($searchPath . '/' . $v)) {
$files[$i]['name'] = $v;
$statF = stat($searchPath . '/' . $v);
$files[$i]['date'] = $statF['mtime'];
$files[$i]['size'] = $statF['size'];
$files[$i]['uid'] = $statF['uid'];
$files[$i]['gid'] = $statF['gid'];
//$files[$i]['chmod'] = fileperms($searchPath . '/' . $v);
$files[$i]['chmod'] = substr(sprintf('%o', fileperms($searchPath . '/' . $v)), -4);
$ext = JFile::getExt($v);
$attribImg = '';
if ($ext == 'jpg' || $ext == 'jpeg' || $ext == 'png' | $ext == 'gif') {
$attribImg = ' class="phLightBox" data-src="'.$searchPathRel.''.utf8_encode($v).'" ';
}
$image = PhocaCommanderHelper::getMimeTypeIcon($v);
// Inline Actions
$iA = '';
// View
if ($this->p['display_inline_view'] == 1) {
if ($ext == 'jpg' || $ext == 'jpeg' || $ext == 'png' | $ext == 'gif') {
$iA .= ' <a href="javascript: void(0)" onclick="phDoActionInline(\'view\', \''.$files[$i]['name'].'\', \''.$this->t['folder'].'\');return false;"><i class="glyphicon glyphicon-search icon-search" title="'.JText::_('COM_PHOCACOMMANDER_VIEW').'"></i></a>';
}
}
// Edit
if ($this->p['display_inline_edit'] == 1) {
$iA .= ' <a href="javascript: void(0)" onclick="phDoActionInline(\'edit\', \''.$files[$i]['name'].'\', \''.$this->t['folder'].'\');return false;"><i class="glyphicon glyphicon-edit icon-edit" title="'.JText::_('COM_PHOCACOMMANDER_EDIT').'"></i></a>';
}
// Download
if ($this->p['display_inline_download'] == 1) {
$iA .= ' <a href="javascript: void(0)" onclick="phDoActionInline(\'download\', \''.$files[$i]['name'].'\', \''.$this->t['folder'].'\');return false;"><i class="glyphicon glyphicon-download icon-download" title="'.JText::_('COM_PHOCACOMMANDER_DOWNLOAD').'"></i></a>';
}
//$files[$i]['fullname'] = '<div><label class="ph-checkbox"><input type="checkbox" name="'.base64_encode($v).'" /> <img src="'.$this->t['urlimagemime'].'/icon-empty.png" alt="" /> <a href="" >'.utf8_encode($v).'</a></label></div>';
$files[$i]['fullname'] = '<div><label class="ph-checkbox"><input class="input-checkbox" type="checkbox" name="'.base64_encode($v).'" value="file|'.base64_encode($v).'" /> '.$image. ' <span '.$attribImg.'>'.utf8_encode($v).'</span> '.$iA.'</label></div>';
}
$i++;
}
// Folders
$o = '<div class="ph-box-s">';
$o .= '<div class="ph-status '.$activePanelClass.'" id="phStatus'.$this->t['panel'].'"></div>';
$o .= '<table class="ph-table">';
$o .= '<tr><th class="ph-check"><input type="checkbox" name="selectAll" id="selectAll'.$this->t['panel'].'" /></th>';
$o .= '<th class="ph-name">'.$name.'</th>';
$o .= '<th class="ph-size">'.$size.'</th>';
$o .= '<th class="ph-date">'.$date.'</th>';
$o .= '<th class="ph-attributes">'.JText::_('COM_PHOCACOMMANDER_ATTR').'</th>';
$o .= '<th class="ph-owner">'.JText::_('COM_PHOCACOMMANDER_OWNER').'</th></tr></table></div>';
$o .= '<div class="ph-box-o" style="height:'.$this->p['box_height'].'px;"><table class="ph-table" id="ph-table-'.$this->t['panel'].'">';
// UP
if ($parent == '' && $path == $searchPath) {
} else {
$lFF = PhocaCommanderHelper::createLoadFilesFunction($this->t, base64_encode($parent), $this->t['ordering'], $this->t['direction']);
$o .= '<tr><td class="ph-name">&nbsp; &nbsp; <a href="javascript: void(0)" onclick="'.$lFF.'" ><img src="'.$this->t['urlimage'].'/up.png" alt="" /></a> &nbsp; <a href="javascript: void(0)" onclick="'.$lFF.'" >..</a></td>';
$o .= '<td class="ph-size"></td>';
$o .= '<td class="ph-date"></td>';
$o .= '<td class="ph-attributes"></td>';
$o .= '<td class="ph-owner"></td></tr>';
}
// Folders
if ($reorder == 2) {
$model->sortItems($folders, "date", $this->t['direction']);
}
foreach ($folders as $k => $v) {
//$o .= '<tr><td class="ph-name">'.$v['fullname'].'('.$this->t['folderdecoded'].')</td>';
$o .= '<tr><td class="ph-name">'.$v['fullname'].'</td>';
$o .= '<td class="ph-size"></td>';
$o .= '<td class="ph-date">'.date('Y-m-d H:i', $v['date']).'</td>';
$o .= '<td class="ph-attributes" >'.$v['chmod'].'</td>';
//$o .= '<td class="ph-owner">'.$v['uid'].' ('.$v['gid'].')</td></tr>';
$o .= '<td class="ph-owner">'.$v['uid'].'</td></tr>';
}
// Files
if ($reorder == 1 ) {
$model->sortItems($files, "size", $this->t['direction']);
}
if ($reorder == 2) {
$model->sortItems($files, "date", $this->t['direction']);
}
foreach ($files as $k => $v) {
$o .= '<tr><td class="ph-name">'.$v['fullname'].'</td>';
$o .= '<td class="ph-size">'.PhocaCommanderHelper::getFileSizeReadable($v['size']).'</td>';
$o .= '<td class="ph-date">'.date('Y-m-d H:i', $v['date']).'</td>';
$o .= '<td class="ph-attributes">'.$v['chmod'].'</td>';
//$o .= '<td class="ph-owner">'.$v['uid'].' ('.$v['gid'].')</td></tr>';
$o .= '<td class="ph-owner">'.$v['uid'].'</td></tr>';
}
$o .='</table></div>';
$o .= '<div class="ph-box-b"><table class="ph-table">';
$o .= '<tr><td class="ph-path" colspan="5">'.JPath::clean($searchPath).'</td></table></div>';
$o .= '<form style="display:none;">';
$o .= '<input type="hidden" value="'.$this->t['folder'].'" name="ph-panel'.$this->t['panel'].'" id="phPanel'.$this->t['panel'].'" />';
$o .= '</form>';
$response = array(
'status' => '1',
'message' => $o);
echo json_encode($response);
return;
exit;
}
}
?>

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1,65 @@
<?php
/* @package Joomla
* @copyright Copyright (C) Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* @extension Phoca Extension
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined('_JEXEC') or die();
echo '<form action="index.php" method="post" name="adminForm" id="adminForm">';
echo '<div id="j-sidebar-container" class="span2">'.JHtmlSidebar::render().'</div>';
echo '<div id="j-main-container" class="span9">';
echo '<div style="float:right;margin:10px;">'
. JHTML::_('image', 'media/com_phocacommander/images/administrator/logo-phoca.png', 'Phoca.cz' )
.'</div>'
. JHTML::_('image', 'media/com_phocacommander/images/administrator/logo.png', 'Phoca.cz')
.'<h3>'.JText::_('COM_PHOCACOMMANDER_PHOCA_COMMANDER').' - '. JText::_('COM_PHOCACOMMANDER_INFORMATION').'</h3>'
.'<div style="clear:both;"></div>';
echo '<h3>'. JText::_('COM_PHOCACOMMANDER_HELP').'</h3>';
echo '<p>'
.'<a href="http://www.phoca.cz/phocacommander/" target="_blank">Phoca Commander Main Site</a><br />'
.'<a href="http://www.phoca.cz/documentation/" target="_blank">Phoca Commander User Manual</a><br />'
.'<a href="http://www.phoca.cz/forum/" target="_blank">Phoca Commander Forum</a><br />'
.'</p>';
echo '<h3>'. JText::_('COM_PHOCACOMMANDER_VERSION').'</h3>'
.'<p>'. $this->t['version'] .'</p>';
echo '<h3>'. JText::_('COM_PHOCACOMMANDER_COPYRIGHT').'</h3>'
.'<p>© 2007 - '. date("Y"). ' Jan Pavelka</p>'
.'<p><a href="http://www.phoca.cz/" target="_blank">www.phoca.cz</a></p>';
echo '<h3>'. JText::_('COM_PHOCACOMMANDER_LICENSE').'</h3>'
.'<p><a href="http://www.gnu.org/licenses/gpl-2.0.html" target="_blank">GPLv2</a></p>';
echo '<h3>'. JText::_('COM_PHOCACOMMANDER_TRANSLATION').': '. JText::_('COM_PHOCACOMMANDER_TRANSLATION_LANGUAGE_TAG').'</h3>'
.'<p>© 2007 - '. date("Y"). ' '. JText::_('COM_PHOCACOMMANDER_TRANSLATER'). '</p>'
.'<p>'.JText::_('COM_PHOCACOMMANDER_TRANSLATION_SUPPORT_URL').'</p>';
echo '<input type="hidden" name="task" value="" />'
.'<input type="hidden" name="option" value="com_phocacommander" />'
.'<input type="hidden" name="controller" value="phocacommanderinfo" />';
echo '<p>&nbsp;</p>';
echo '<div style="border-top:1px solid #eee"></div><p>&nbsp;</p>';
echo PhocaCommanderRenderAdmin::getLinks();
echo '<div style="border-top:1px solid #eee"></div><p>&nbsp;</p>'
.'<div class="btn-group">
<a class="btn btn-large btn-primary" href="http://www.phoca.cz/version/index.php?phocacommander='. $this->t['version'] .'" target="_blank"><i class="icon-loop icon-white"></i>&nbsp;&nbsp;'. JText::_('COM_PHOCACOMMANDER_CHECK_FOR_UPDATE') .'</a></div>';
echo '<div style="margin-top:30px;height:39px;background: url(\''.JURI::root(true).'/media/com_phocacommander/images/administrator/line.png\') 100% 0 no-repeat;">&nbsp;</div>';
echo '</div>';
echo '<div class="span1"></div>';
echo '</div>';
echo '</form>';

View File

@ -0,0 +1 @@
<html><body bgcolor="#FFFFFF"></body></html>

View File

@ -0,0 +1,45 @@
<?php
/* @package Joomla
* @copyright Copyright (C) Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* @extension Phoca Extension
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/
defined('_JEXEC') or die();
jimport( 'joomla.application.component.view' );
class PhocaCommanderCpViewPhocaCommanderInfo extends JViewLegacy
{
protected $t;
function display($tpl = null) {
JHTML::stylesheet( 'media/com_phocacommander/css/administrator/phocacommander.css' );
$this->t['version'] = PhocaCommanderHelper::getExtensionVersion();
$this->addToolbar();
parent::display($tpl);
}
protected function addToolbar() {
require_once JPATH_COMPONENT.'/helpers/phocacommandercp.php';
$class = 'PhocaCommanderCpHelper';
$canDo = $class::getActions('com_phocacommander');
JToolBarHelper::title( JText::_('COM_PHOCACOMMANDER_CM_INFO' ), 'info.png' );
// This button is unnecessary but it is displayed because Joomla! design bug
$bar = JToolBar::getInstance( 'toolbar' );
$dhtml = '<a href="index.php?option=com_phocacommander" class="btn btn-small"><i class="icon-home-2" title="'.JText::_('COM_PHOCACOMMANDER').'"></i> '.JText::_('COM_PHOCACOMMANDER').'</a>';
$bar->appendButton('Custom', $dhtml);
if ($canDo->get('core.admin')) {
JToolbarHelper::preferences('com_phocacommander');
}
JToolBarHelper::divider();
JToolBarHelper::help( 'screen.phocacommander', true );
JToolBarHelper::cancel('phocacommanderinfo.cancel', 'JTOOLBAR_CLOSE');
}
}
?>

View File

@ -0,0 +1,310 @@
; @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_PHOCACOMMANDER_FOLDER_CANNOT_BE_DOWNLOADED="Folder cannot be downloaded"
COM_PHOCACOMMANDER_DISPLAY_DOWNLOAD_BUTTON_LABEL="Display Download Button"
COM_PHOCACOMMANDER_DISPLAY_DOWNLOAD_BUTTON_DESC="Display or hide download button"
COM_PHOCACOMMANDER_DISPLAY_UPLOAD_BUTTON_LABEL="Display Upload Button"
COM_PHOCACOMMANDER_DISPLAY_UPLOAD_BUTTON_DESC="Display or hide upload button"
;[3.0.1]
COM_PHOCACOMMANDER_LIST_OF_UPLOAD_ERRORS="List of upload errors"
COM_PHOCACOMMANDER_FILE_DOES_NOT_EXIST="File does not exist"
COM_PHOCACOMMANDER_VIEW="View"
COM_PHOCACOMMANDER_DOWNLOAD="Download"
COM_PHOCACOMMANDER_CONFIG_INLINE_ACTIONS_LABEL="Inline Actions"
COM_PHOCACOMMANDER_DISPLAY_INLINE_DOWNLOAD_LABEL="Display Inline Download"
COM_PHOCACOMMANDER_DISPLAY_INLINE_DOWNLOAD_DESC="Display or hide inline download icon"
COM_PHOCACOMMANDER_DISPLAY_INLINE_VIEW_LABEL="Display Inline View"
COM_PHOCACOMMANDER_DISPLAY_INLINE_VIEW_DESC="Display or hide inline view icon"
COM_PHOCACOMMANDER_DISPLAY_INLINE_EDIT_LABEL="Display Inline Edit"
COM_PHOCACOMMANDER_DISPLAY_INLINE_EDIT_DESC="Display or hide inline edit icon"
;[3.0.0]
COM_PHOCACOMMANDER_ENABLE_ZIP_FUNCTION_LABEL="Enable ZIP Function"
COM_PHOCACOMMANDER_ENABLE_ZIP_FUNCTION_DESC="Enable or disable ZIP function. Be aware, for running ZIP successfully, permissions and ownership of files and folders on your server needs to be OK. You can use this feature for zipping small files and small amount of files. Zipping large files or large amount of files can cause server problems (halting, overloading, performance problems or unexpected errors). For zipping large files or large amount of files like backup is, use standard server tools. Always check your newly created ZIP, if it includes all folders and files."
COM_PHOCACOMMANDER_EXPERTS_ONLY_LABEL="Experts only"
COM_PHOCADOWNLOAD_EXPERIMENATAL_FEATURES_LABEL="Experimental Features"
COM_PHOCADOWNLOAD_EXPERIMENATAL_FEATURES_DESC="Please, read documenation before enabling experimental feature."
COM_PHOCACOMMANDER_ZIP_PACKAGE_CREATED="ZIP package created"
COM_PHOCACOMMANDER_ERROR_ZIP_FILE_COULD_NOT_BE_CREATED="Error - ZIP file could not be created"
COM_PHOCACOMMANDER_ERROR_FILE_COULD_NOT_BE_CREATED="Error - file could not be created"
COM_PHOCACOMMANDER_ERROR_FILE_EXISTS="Error - file exists"
COM_PHOCACOMMANDER_ERROR_NO_VALUE_SEND_OR_WRONG_FILENAME_SET="Error - no value sent or wrong file name added"
COM_PHOCACOMMANDER_PACK="Pack"
COM_PHOCACOMMANDER_SET_PACKAGE_NAME="Set package name"
COM_PHOCACOMMANDER_PACK="Pack"
COM_PHOCACOMMANDER_FIELD_CREATE_INDEX_FILE_LABEL="Create Index File"
COM_PHOCACOMMANDER_FIELD_CREATE_INDEX_FILE_DESC="If new folder will be created, set if index.html file will be created inside this folder."
COM_PHOCACOMMANDER_PHOCA_NEEDS_YOUR_HELP="Phoca Needs Your Help"
COM_PHOCACOMMANDER_PLEASE_READ="Please Read"
COM_PHOCACOMMANDER_USEFUL_TIPS="Useful Tips (Extensions)"
COM_PHOCACOMMANDER_USEFUL_LINKS="Useful Links"
;[3.0.0 Beta]
COM_PHOCACOMMANDER="Phoca Commander"
COM_PHOCACOMMANDER_CM_INFO="Phoca Commander Info"
COM_PHOCACOMMANDER_PHOCA_COMMANDER="Phoca Commander"
COM_PHOCACOMMANDER_INFORMATION="Information"
COM_PHOCACOMMANDER_HELP="Help"
COM_PHOCACOMMANDER_VERSION="Version"
COM_PHOCACOMMANDER_COPYRIGHT="Copyright"
COM_PHOCACOMMANDER_LICENSE="License"
COM_PHOCACOMMANDER_CONTROLPANEL="Control Panel"
COM_PHOCACOMMANDER_INFO="Info"
COM_PHOCACOMMANDER_XML_DESCRIPTION="Phoca Commander - Joomla! CMS component. File manager for Joomla! CMS."
COM_PHOCACOMMANDER_UPDATE_TEXT="Phoca Commander updated"
COM_PHOCACOMMANDER_NAME="Name"
COM_PHOCACOMMANDER_SIZE="Size"
COM_PHOCACOMMANDER_DATE="Date"
COM_PHOCACOMMANDER_ATTRIBUTES="Attributes"
COM_PHOCACOMMANDER_ATTR="Attr"
COM_PHOCACOMMANDER_OWNER="Owner"
COM_PHOCACOMMANDER_NO_FILE_NO_FOLDER_SELECTED="No file or no folder selected"
; For Translaters - set your own data here
COM_PHOCACOMMANDER_TRANSLATION="Translation"
COM_PHOCACOMMANDER_TRANSLATION_LANGUAGE_TAG="English"
COM_PHOCACOMMANDER_TRANSLATER="Jan Pavelka"
COM_PHOCACOMMANDER_TRANSLATION_SUPPORT_URL="<a href="_QQ_"http://www.phoca.cz/"_QQ_" target="_QQ_"_blank"_QQ_">www.phoca.cz</a>"
; End Translaters section - - - - - - - -
COM_PHOCACOMMANDER_CHECK_FOR_UPDATE="Check For Update"
COM_PHOCACOMMANDER_CONFIG_HEAD_GENERAL_LABEL="General"
COM_PHOCACOMMANDER_CONFIGURATION="Configuration"
COM_PHOCACOMMANDER_ARE_YOU_SURE_COPY="Are you sure you want to copy"
COM_PHOCACOMMANDER_ARE_YOU_SURE_MOVE="Are you sure you want to move"
COM_PHOCACOMMANDER_ARE_YOU_SURE_DELETE="Are you sure you want to delete"
COM_PHOCACOMMANDER_JOOMLA_ROOT_FOLDER="Joomla! root folder"
COM_PHOCACOMMANDER_TO="to"
COM_PHOCACOMMANDER_FILES_FOLDERS="Files (Folders)"
COM_PHOCACOMMANDER_FOLDER="Folder"
COM_PHOCACOMMANDER_FILE="File"
COM_PHOCACOMMANDER_FOLDER_SM="folder"
COM_PHOCACOMMANDER_FILES_FOLDERS_SM="files (folders)"
COM_PHOCACOMMANDER_PERMANENTLY_REMOVE_WARNING="Be aware, this action removes selected files or folders (include their subfolders and files) from your server permanently"
COM_PHOCACOMMANDER_F1_ATTRIBUTES="F1 Attributes"
COM_PHOCACOMMANDER_F2_RENAME="F2 Rename"
COM_PHOCACOMMANDER_F3_VIEW="F3 View"
COM_PHOCACOMMANDER_F4_EDIT="F4 Edit"
COM_PHOCACOMMANDER_F5_COPY="F5 Copy"
COM_PHOCACOMMANDER_F6_MOVE="F6 Move"
COM_PHOCACOMMANDER_F7_NEW_FOLDER="F7 New Folder"
COM_PHOCACOMMANDER_F8_DELETE="F8 Delete"
COM_PHOCACOMMANDER_F9_UNPACK="F9 Unpack"
COM_PHOCACOMMANDER_F10_UPLOAD="F10 Upload"
COM_PHOCACOMMANDER_F1="F1"
COM_PHOCACOMMANDER_F2="F2"
COM_PHOCACOMMANDER_F3="F3"
COM_PHOCACOMMANDER_F4="F4"
COM_PHOCACOMMANDER_F5="F5"
COM_PHOCACOMMANDER_F6="F6"
COM_PHOCACOMMANDER_F7="F7"
COM_PHOCACOMMANDER_F8="F8"
COM_PHOCACOMMANDER_F9="F9"
COM_PHOCACOMMANDER_F10="F10"
COM_PHOCACOMMANDER_ONLY_ONE_FILE_OR_FOLDER_NEEDS_TO_BE_SELECTED="Only one file or folder needs to be selected"
COM_PHOCACOMMANDER_RENAME="Rename"
COM_PHOCACOMMANDER_ONLY_ONE_FILE_NEEDS_TO_BE_SELECTED="Only one file needs to be selected"
COM_PHOCACOMMANDER_FOLDER_CANNOT_BE_PREVIEWED_OR_EDITED="Folder cannot be previewed or edited"
COM_PHOCACOMMANDER_NEW_FOLDER="New Folder"
COM_PHOCACOMMANDER_NEW_ATTRIBUTES="New Attributes"
COM_PHOCACOMMANDER_CLOSE="Close"
COM_PHOCACOMMANDER_OK="OK"
COM_PHOCACOMMANDER_CANCEL="Cancel"
COM_PHOCACOMMANDER_WARNING="Warning"
COM_PHOCACOMMANDER_CONFIRM="Confirm"
COM_PHOCACOMMANDER_SET="Set"
COM_PHOCACOMMANDER_CREATE="Create"
COM_PHOCACOMMANDER_UPDATING="Updating"
COM_PHOCACOMMANDER_GROUP="Group"
COM_PHOCACOMMANDER_OTHER="Other"
COM_PHOCACOMMANDER_READ="Read"
COM_PHOCACOMMANDER_WRITE="Write"
COM_PHOCACOMMANDER_EXECUTE="Execute"
COM_PHOCACOMMANDER_VALUE="Value"
COM_PHOCACOMMANDER_PERMISSION="Permission"
COM_PHOCACOMMANDER_NEW_ATTRIBUTE="New Attribute"
COM_PHOCACOMMANDER_SET_NEW_ATTRIBUTE_FOR="Set new attribute for"
COM_PHOCACOMMANDER_ERROR_NO_VALID_REQUEST="Error - no valid request"
COM_PHOCACOMMANDER_ERROR_NO_VALID_TASK="Error - no valid task"
COM_PHOCACOMMANDER_ERROR_NO_VALUE_SEND="Error - no value send"
COM_PHOCACOMMANDER_ITEM_RENAMED="Item renamed"
COM_PHOCACOMMANDER_ERROR_NO_FILE_OR_FOLDER_FOUND="Error - no file or folder found"
COM_PHOCACOMMANDER_ERROR_FOLDER_NOT_EXIST="Folder does not exist"
COM_PHOCACOMMANDER_ERROR_FILE_NOT_EXIST="File does not exist"
COM_PHOCACOMMANDER_FILE_RENAMED="File renamed"
COM_PHOCACOMMANDER_FOLDER_RENAMED="Folder renamed"
COM_PHOCACOMMANDER_ONLY_IMAGES_CAN_BE_PREVIEWED="Only images can be previewed"
COM_PHOCACOMMANDER_EDIT="Edit"
COM_PHOCACOMMANDER_EDIT_OPTIONS="Edit Options"
COM_PHOCACOMMANDER_FIELD_CONTENT_LABEL="Content"
COM_PHOCACOMMANDER_FIELD_CONTENT_DESC="Edit content"
COM_PHOCACOMMANDER_FIELD_FILENAME_LABEL="Filename"
COM_PHOCACOMMANDER_FIELD_FILENAME_DESC="Filename (include path)"
COM_PHOCACOMMANDER_ERROR_NEW_NAME_SAME_OLD="New name is the same like the old one"
COM_PHOCACOMMANDER_EDITING_FILE="Editing file"
COM_PHOCACOMMANDER_TOGGLE_FULL_SCREEN="Press Ctrl-Q to toggle Full Screen editing."
COM_PHOCACOMMANDER_ERROR_FILE_NOT_WRITABLE="Error - file is not writable"
COM_PHOCACOMMANDER_FILE_PERMISSIONS="Permissions"
COM_PHOCACOMMANDER_CHECK_FILE_OWNERSHIP="Check file ownership"
COM_PHOCACOMMANDER_ERROR_SOURCE_FILE_NOT_UNWRITABLE="Source file can't be returned to unwritable status"
COM_PHOCACOMMANDER_ERROR_FAILED_TO_SAVE_FILENAME="Error - the file %s could not be saved."
COM_PHOCACOMMANDER_ERROR_SOURCE_SAME_DESTINATION="Error - source is the same as destination"
COM_PHOCACOMMANDER_SERVER_ERROR="Server error"
COM_PHOCACOMMANDER_OVERWRITE_EXISTING_FOLDERS_FILES="Overwrite existing folders and files"
COM_PHOCACOMMANDER_COPY="Copy"
COM_PHOCACOMMANDER_ALL_FILES_COPIED="All files copied"
COM_PHOCACOMMANDER_FILES_COPIED="files copied"
COM_PHOCACOMMANDER_FILES_NOT_COPIED="files not copied"
COM_PHOCACOMMANDER_ALL_FOLDERS_COPIED="All folders copied"
COM_PHOCACOMMANDER_FOLDERS_COPIED="folders copied"
COM_PHOCACOMMANDER_FOLDERS_NOT_COPIED="files not copied"
COM_PHOCACOMMANDER_NO_FILES_COPIED="No files copied"
COM_PHOCACOMMANDER_NO_FOLDERS_COPIED="No folders copied"
COM_PHOCACOMMANDER_NO_ALL_FILES_COPIED="Not all files copied"
COM_PHOCACOMMANDER_NO_ALL_FOLDERS_COPIED="Not all folders copied"
COM_PHOCACOMMANDER_FILE_COPIED="File copied"
COM_PHOCACOMMANDER_FOLDER_COPIED="Folder copied"
COM_PHOCACOMMANDER_FILE_NOT_COPIED="File not copied"
COM_PHOCACOMMANDER_FOLDER_NOT_COPIED="Folder not copied"
COM_PHOCACOMMANDER_FOLDER_CANNOT_BE_COPIED_OWN_SUBFOLDER="Folder cannot be copied to its own subfolder"
COM_PHOCACOMMANDER_MOVE="Move"
COM_PHOCACOMMANDER_ALL_FILES_MOVED="All files moved"
COM_PHOCACOMMANDER_FILES_MOVED="files moved"
COM_PHOCACOMMANDER_FILES_NOT_MOVED="files not moved"
COM_PHOCACOMMANDER_ALL_FOLDERS_MOVED="All folders moved"
COM_PHOCACOMMANDER_FOLDERS_MOVED="folders moved"
COM_PHOCACOMMANDER_FOLDERS_NOT_MOVED="folders not moved"
COM_PHOCACOMMANDER_NO_FILES_MOVED="No files moved"
COM_PHOCACOMMANDER_NO_FOLDERS_MOVED="No folders moved"
COM_PHOCACOMMANDER_NO_ALL_FILES_MOVED="Not all files moved"
COM_PHOCACOMMANDER_NO_ALL_FOLDERS_MOVED="Not all folders moved"
COM_PHOCACOMMANDER_FILE_MOVED="File moved"
COM_PHOCACOMMANDER_FOLDER_MOVED="Folder moved"
COM_PHOCACOMMANDER_FILE_NOT_MOVED="File not moved"
COM_PHOCACOMMANDER_FOLDER_NOT_MOVED="Folder not moved"
COM_PHOCACOMMANDER_FOLDER_CANNOT_BE_MOVED_OWN_SUBFOLDER="Folder cannot be moved to its own subfolder"
COM_PHOCACOMMANDER_FOLDER_NOT_OVERWRITTEN="Folder not overwritten"
COM_PHOCACOMMANDER_FILE_NOT_OVERWRITTEN="File not overwritten"
COM_PHOCACOMMANDER_GENERAL_OPTIONS_LABEL="General Options"
COM_PHOCACOMMANDER_FIELD_F_KEYS_DESC="Display F keys with titles or without titles"
COM_PHOCACOMMANDER_FIELD_F_KEYS_LABEL="F Keys"
COM_PHOCACOMMANDER_WITHOUT_TITLES="Without Titles"
COM_PHOCACOMMANDER_WITH_TITLES="With Titles"
COM_PHOCACOMMANDER_FIELD_BOX_HEIGHT_DESC="Set box (panel) height in px"
COM_PHOCACOMMANDER_FIELD_BOX_HEIGHT_LABEL="Box (Panel) Height"
COM_PHOCACOMMANDER_ERROR_NEW_FOLDER_NAME_EXISTS="New folder name is the same like existing folder"
COM_PHOCACOMMANDER_ERROR_NEW_FILE_NAME_EXISTS="New file name is the same like existing file"
COM_PHOCACOMMANDER_ERROR_NEW_FOLDER_CREATED="New folder created"
COM_PHOCACOMMANDER_ERROR_NEW_FOLDER_NOT_CREATED="New folder not created"
COM_PHOCACOMMANDER_FILE_DELETED="File deleted"
COM_PHOCACOMMANDER_FILES_DELETED="files deleted"
COM_PHOCACOMMANDER_FILE_NOT_DELETED="File not deleted"
COM_PHOCACOMMANDER_NO_FILES_DELETED="No files deleted"
COM_PHOCACOMMANDER_FILES_NOT_DELETED="files not deleted"
COM_PHOCACOMMANDER_FOLDER_DELETED="Folder deleted (include its subfolders and files)"
COM_PHOCACOMMANDER_FOLDERS_DELETED="folders deleted (include their subfolders and files)"
COM_PHOCACOMMANDER_FOLDER_NOT_DELETED="Folder not deleted"
COM_PHOCACOMMANDER_NO_FOLDERS_DELETED="No folders deleted"
COM_PHOCACOMMANDER_FOLDERS_NOT_DELETED="folders not deleted"
COM_PHOCACOMMANDER_ARE_YOU_SURE_UNPACK="Are you sure you want to unpack"
COM_PHOCACOMMANDER_UNPACK="Unpack"
COM_PHOCACOMMANDER_ONLY_ARCHIVE_FILE_CAN_BE_UNPACKED="Only archive file can be unpacked"
COM_PHOCACOMMANDER_FILE_NOT_ARCHIVE="File is not archive package"
COM_PHOCACOMMANDER_FILE_CANNOT_BE_UNPACKED_FILE_EXISTS="File cannot be unpacked. One of the files or folders included in archive package exists in destination folder"
COM_PHOCACOMMANDER_FILE_UNPACKED="File unpacked"
COM_PHOCACOMMANDER_FILE_NOT_UNPACKED="File not unpacked"
COM_PHOCACOMMANDER_WRONG_REQUEST="Wrong request"
COM_PHOCACOMMANDER_UPLOAD="Upload"
COM_PHOCACOMMANDER_UPLOAD_FILE="Unpload File"
COM_PHOCACOMMANDER_MAX_SIZE="Max Size"
COM_PHOCACOMMANDER_SELECT_FILES="Select files"
COM_PHOCACOMMANDER_ADD_FILES="Add Files"
COM_PHOCACOMMANDER_ADD_FILES_TO_UPLOAD_QUEUE_AND_CLICK_START_BUTTON="Add files to the upload queue and click the start button."
COM_PHOCACOMMANDER_FILENAME="Filename"
COM_PHOCACOMMANDER_SIZE="Size"
COM_PHOCACOMMANDER_STATUS="Status"
COM_PHOCACOMMANDER_NOT_AUTHORISED_ACTION="You are not authorized to do this action"
COM_PHOCACOMMANDER_NOT_AUTHORISED_TO_UPLOAD="You are not authorized to upload file"
COM_PHOCACOMMANDER_NOT_INSTALLED_BROWSERPLUS="You browser doesn't have BrowserPlus installed."
COM_PHOCACOMMANDER_NOT_INSTALLED_FLASH="You browser doesn't have Flash installed."
COM_PHOCACOMMANDER_NOT_INSTALLED_GEARS="You browser doesn't have Gears installed."
COM_PHOCACOMMANDER_NOT_INSTALLED_SILVERLIGHT="You browser doesn't have Silverlight installed."
COM_PHOCACOMMANDER_NOT_SUPPORTED_HTML4="You browser doesn't have HTML 4 support."
COM_PHOCACOMMANDER_NOT_SUPPORTED_HTML5="You browser doesn't have HTML 5 support."
COM_PHOCACOMMANDER_START="Start"
COM_PHOCACOMMANDER_START_PUBLISHING="Start Publishing"
COM_PHOCACOMMANDER_START_UPLOAD="Start Upload"
COM_PHOCACOMMANDER_START_UPLOADING_QUEUE="Start Uploading Queue"
COM_PHOCACOMMANDER_STATISTICS="Statistics"
COM_PHOCACOMMANDER_STATUS="Status"
COM_PHOCACOMMANDER_STOP_CURRENT_UPLOAD="Stop Current Upload"
COM_PHOCACOMMANDER_SUCCESS="Success"
COM_PHOCACOMMANDER_SUCCESS_FILE_UPLOAD="File uploaded"
COM_PHOCACOMMANDER_SUCCESS_FILE_UPLOADED="File uploaded"
COM_PHOCACOMMANDER_SUCCESS_FOLDER_CREATING="Folder created"
COM_PHOCACOMMANDER_SUCCESS_RESET_USER_STAT="User Statistics reset"
COM_PHOCACOMMANDER_THERE_IS_NO_FILE="There is no file"
COM_PHOCACOMMANDER_DRAG_FILES_HERE="Drag files here"
COM_PHOCACOMMANDER_UPLOADING_FINISHED="Uploading finished"
COM_PHOCACOMMANDER_ERROR="Error"
COM_PHOCACOMMANDER_WARNFILENAME="File name must only contain alphanumeric characters, underscores, hyphens and spaces."
COM_PHOCACOMMANDER_WARNFILETOOLARGE="This file is too large to upload."
COM_PHOCACOMMANDER_WARNFILETYPE="This file type is not supported (or there are some restrictions on the server)."
COM_PHOCACOMMANDER_WARNFILETYPE_DISALLOWED="The file type is disallowed - file cannot be uploaded"
COM_PHOCACOMMANDER_WARNFILETYPE_DISALLOWED_DOWNLOAD="Error while downloading file (Disallowed Mime Type)"
COM_PHOCACOMMANDER_WARNFILETYPE_DOWNLOAD="Error while downloading file (Mime Type not found)"
COM_PHOCACOMMANDER_WARNFILETYPE_NOT_ALLOWED="The file type is not allowed - file cannot be uploaded"
COM_PHOCACOMMANDER_INVALID_TOKEN="Invalid Token"
COM_PHOCACOMMANDER_FILE_ALREADY_EXISTS="File already exists"
COM_PHOCACOMMANDER_ERROR_FOLDER_UPLOAD_NOT_EXISTS="Folder does not exist or it is not accessible"
COM_PHOCACOMMANDER_ERROR_OPEN_INPUT_STREAM="Failed to open input stream"
COM_PHOCACOMMANDER_ERROR_OPEN_OUTPUT_STREAM="Failed to open output stream"
COM_PHOCACOMMANDER_ERROR_MOVE_UPLOADED_FILE="Failed to move uploaded file"
COM_PHOCACOMMANDER_ERROR_UNABLE_TO_MOVE_FILE="Unable to move file"
COM_PHOCACOMMANDER_CHECK_PERMISSIONS_OWNERSHIP="Check permissions and ownership of files and folders"
COM_PHOCACOMMANDER_SUCCESS="Success"
COM_PHOCACOMMANDER_FILES_UPLOADED="Files uploaded"
COM_PHOCACOMMANDER_ERROR_UNABLE_TO_UPLOAD_FILE="Unable to upload file"
COM_PHOCACOMMANDER_WARNING_INPUT_FILE_UPLOAD="Please input a file for upload"
COM_PHOCACOMMANDER_WARNINVALIDMIME="Illegal or invalid mime type detected."
COM_PHOCACOMMANDER_WARNIEXSS="Possible IE XSS Attack found."
COM_PHOCACOMMANDER_FTP_LOGIN_DESC="For uploading files, Joomla! will most likely need your FTP account details. Please enter them in the form fields below."
COM_PHOCACOMMANDER_FTP_LOGIN_LABEL="FTP Login Details"
COM_PHOCACOMMANDER_MAX_UPLOAD_SIZE="Max upload size"
COM_PHOCACOMMANDER_FIELD_ALLOWED_FILE_TYPES_UPLOAD_DESC="Set allowed file types for upload. Default list of filetypes is not complete and should be modified to fit your needs."
COM_PHOCACOMMANDER_FIELD_ALLOWED_FILE_TYPES_UPLOAD_LABEL="Allowed File Types (Upload)"
COM_PHOCACOMMANDER_FIELD_DISALLOWED_FILE_TYPES_UPLOAD_DESC="Set disallowed file types for upload"
COM_PHOCACOMMANDER_FIELD_DISALLOWED_FILE_TYPES_UPLOAD_LABEL="Disallowed File Types (Upload)"
COM_PHOCACOMMANDER_FIELD_OVERWRITE_EXISTING_FILES_DESC="Set if uploaded files should overwrite existing files on the server"
COM_PHOCACOMMANDER_FIELD_OVERWRITE_EXISTING_FILES_LABEL="Overwrite Existing Files"
COM_PHOCACOMMANDER_FIELD_UPLOAD_MAX_SIZE_ADMIN_DESC="Set the maximum size for an upload. Use zero for no limit. Do not forget, that the upload size can be limited by the server settings (in bytes)"
COM_PHOCACOMMANDER_FIELD_UPLOAD_MAX_SIZE_ADMIN_LABEL="Maximum Upload Size"
COM_PHOCACOMMANDER_IGNORE_FILE_TYPES_CHECK_LABEL="Ignore File Types Checking"
COM_PHOCACOMMANDER_IGNORE_FILE_TYPES_CHECK_DESC="Set if checking of file types will be ignored. If yes: Allowed File Types (Upload) and Disallowed File Types (Upload) will be ignored."
COM_PHOCACOMMANDER_YES="Yes"
COM_PHOCACOMMANDER_NO="No"
COM_PHOCACOMMANDER_FILES_CHMOD_CHANGED="files changed (permission)"
COM_PHOCACOMMANDER_FILES_NOT_CHMOD_CHANGED="files not changed (permission)"
COM_PHOCACOMMANDER_FOLDERS_CHMOD_CHANGED="folders changed (permission)"
COM_PHOCACOMMANDER_FOLDERS_NOT_CHMOD_CHANGED="folders not changed (permission)"
COM_PHOCACOMMANDER_NO_FILES_CHMOD_CHANGED="No files changed (permission)"
COM_PHOCACOMMANDER_NO_FOLDERS_CHMOD_CHANGED="No folders changed (permission)"
COM_PHOCACOMMANDER_FILE_CHMOD_CHANGED="File changed (permission)"
COM_PHOCACOMMANDER_FOLDER_CHMOD_CHANGED="Folder changed (permission)"
COM_PHOCACOMMANDER_FILE_NOT_CHMOD_CHANGED="File not changed (permission)"
COM_PHOCACOMMANDER_FOLDER_NOT_CHMOD_CHANGED="Folder not changed (permission)"
COM_PHOCACOMMANDER_FILE_PERMISSIONS="File permissions"
COM_PHOCACOMMANDER_ERROR_FAILED_TO_SAVE_FILENAME="Error - failed to save filename"
COM_PHOCACOMMANDER_FIELD_EDIT_NOT_WRITABLE_FILES_LABEL="Edit Not Writable Files"
COM_PHOCACOMMANDER_FIELD_EDIT_NOT_WRITABLE_FILES_DESC="Set if edit function can store files which should be not writable"
COM_PHOCACOMMANDER_EXTRACTED_FILES_OVERWRITE_EXISTING_FILES_WARNING="Be aware, extracted files will overwrite existing files"
COM_PHOCACOMMANDER_WELCOME_WARNING="<div class="_QQ_"ph-main-warning"_QQ_"><div class="_QQ_"ph-warning-text"_QQ_">Be aware, you are about to manage real folders and files on your server.</div><ul><li>Files can be managed like in your FTP client</li><li>There is no UNDO action</li><li>Some tasks like DELETE or MOVE can remove folders or files permanently</li><li>Unpacking archive files can overwrite existing files permanently</li><li>Some features may not work if they are limited by server settings</li><li>Success in working with folders and files depends on server settings (permissions, ownership)</li><li>Check file handling (FTP layer) in Global Configuration</li></ul><div>Please see <a href="_QQ_"http://www.phoca.cz/documentation"_QQ_" target="_QQ_"_blank"_QQ_">Documentation</a>.<br />If you get some problems while using Phoca Commander, please ask in <a href="_QQ_"http://www.phoca.cz/forum"_QQ_" target="_QQ_"_blank"_QQ_">Phoca Forum</a>.</div>"

View File

@ -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 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.0]
COM_PHOCACOMMANDER="Phoca Commander"
COM_PHOCACOMMANDER_CONTROLPANEL="Control Panel"
COM_PHOCACOMMANDER_INFO="Info"
COM_PHOCACOMMANDER_XML_DESCRIPTION="Phoca Commander - Joomla! CMS component. File manager for Joomla! CMS."
COM_PHOCACOMMANDER_UPDATE_TEXT="Phoca Commander updated"
COM_PHOCACOMMANDER_VERSION="Version"

View File

@ -0,0 +1 @@
<html><body style="background-color: #000;"></body></html>

View File

@ -0,0 +1,310 @@
; @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_PHOCACOMMANDER_FOLDER_CANNOT_BE_DOWNLOADED="Folder cannot be downloaded"
COM_PHOCACOMMANDER_DISPLAY_DOWNLOAD_BUTTON_LABEL="Display Download Button"
COM_PHOCACOMMANDER_DISPLAY_DOWNLOAD_BUTTON_DESC="Display or hide download button"
COM_PHOCACOMMANDER_DISPLAY_UPLOAD_BUTTON_LABEL="Display Upload Button"
COM_PHOCACOMMANDER_DISPLAY_UPLOAD_BUTTON_DESC="Display or hide upload button"
;[3.0.1]
COM_PHOCACOMMANDER_LIST_OF_UPLOAD_ERRORS="List of upload errors"
COM_PHOCACOMMANDER_FILE_DOES_NOT_EXIST="File does not exist"
COM_PHOCACOMMANDER_VIEW="View"
COM_PHOCACOMMANDER_DOWNLOAD="Download"
COM_PHOCACOMMANDER_CONFIG_INLINE_ACTIONS_LABEL="Inline Actions"
COM_PHOCACOMMANDER_DISPLAY_INLINE_DOWNLOAD_LABEL="Display Inline Download"
COM_PHOCACOMMANDER_DISPLAY_INLINE_DOWNLOAD_DESC="Display or hide inline download icon"
COM_PHOCACOMMANDER_DISPLAY_INLINE_VIEW_LABEL="Display Inline View"
COM_PHOCACOMMANDER_DISPLAY_INLINE_VIEW_DESC="Display or hide inline view icon"
COM_PHOCACOMMANDER_DISPLAY_INLINE_EDIT_LABEL="Display Inline Edit"
COM_PHOCACOMMANDER_DISPLAY_INLINE_EDIT_DESC="Display or hide inline edit icon"
;[3.0.0]
COM_PHOCACOMMANDER_ENABLE_ZIP_FUNCTION_LABEL="Enable ZIP Function"
COM_PHOCACOMMANDER_ENABLE_ZIP_FUNCTION_DESC="Enable or disable ZIP function. Be aware, for running ZIP successfully, permissions and ownership of files and folders on your server needs to be OK. You can use this feature for zipping small files and small amount of files. Zipping large files or large amount of files can cause server problems (halting, overloading, performance problems or unexpected errors). For zipping large files or large amount of files like backup is, use standard server tools. Always check your newly created ZIP, if it includes all folders and files."
COM_PHOCACOMMANDER_EXPERTS_ONLY_LABEL="Experts only"
COM_PHOCADOWNLOAD_EXPERIMENATAL_FEATURES_LABEL="Experimental Features"
COM_PHOCADOWNLOAD_EXPERIMENATAL_FEATURES_DESC="Please, read documenation before enabling experimental feature."
COM_PHOCACOMMANDER_ZIP_PACKAGE_CREATED="ZIP package created"
COM_PHOCACOMMANDER_ERROR_ZIP_FILE_COULD_NOT_BE_CREATED="Error - ZIP file could not be created"
COM_PHOCACOMMANDER_ERROR_FILE_COULD_NOT_BE_CREATED="Error - file could not be created"
COM_PHOCACOMMANDER_ERROR_FILE_EXISTS="Error - file exists"
COM_PHOCACOMMANDER_ERROR_NO_VALUE_SEND_OR_WRONG_FILENAME_SET="Error - no value sent or wrong file name added"
COM_PHOCACOMMANDER_PACK="Pack"
COM_PHOCACOMMANDER_SET_PACKAGE_NAME="Set package name"
COM_PHOCACOMMANDER_PACK="Pack"
COM_PHOCACOMMANDER_FIELD_CREATE_INDEX_FILE_LABEL="Create Index File"
COM_PHOCACOMMANDER_FIELD_CREATE_INDEX_FILE_DESC="If new folder will be created, set if index.html file will be created inside this folder."
COM_PHOCACOMMANDER_PHOCA_NEEDS_YOUR_HELP="Phoca Needs Your Help"
COM_PHOCACOMMANDER_PLEASE_READ="Please Read"
COM_PHOCACOMMANDER_USEFUL_TIPS="Useful Tips (Extensions)"
COM_PHOCACOMMANDER_USEFUL_LINKS="Useful Links"
;[3.0.0 Beta]
COM_PHOCACOMMANDER="Phoca Commander"
COM_PHOCACOMMANDER_CM_INFO="Phoca Commander Info"
COM_PHOCACOMMANDER_PHOCA_COMMANDER="Phoca Commander"
COM_PHOCACOMMANDER_INFORMATION="Information"
COM_PHOCACOMMANDER_HELP="Help"
COM_PHOCACOMMANDER_VERSION="Version"
COM_PHOCACOMMANDER_COPYRIGHT="Copyright"
COM_PHOCACOMMANDER_LICENSE="License"
COM_PHOCACOMMANDER_CONTROLPANEL="Control Panel"
COM_PHOCACOMMANDER_INFO="Info"
COM_PHOCACOMMANDER_XML_DESCRIPTION="Phoca Commander - Joomla! CMS component. File manager for Joomla! CMS."
COM_PHOCACOMMANDER_UPDATE_TEXT="Phoca Commander updated"
COM_PHOCACOMMANDER_NAME="Name"
COM_PHOCACOMMANDER_SIZE="Size"
COM_PHOCACOMMANDER_DATE="Date"
COM_PHOCACOMMANDER_ATTRIBUTES="Attributes"
COM_PHOCACOMMANDER_ATTR="Attr"
COM_PHOCACOMMANDER_OWNER="Owner"
COM_PHOCACOMMANDER_NO_FILE_NO_FOLDER_SELECTED="No file or no folder selected"
; For Translaters - set your own data here
COM_PHOCACOMMANDER_TRANSLATION="Translation"
COM_PHOCACOMMANDER_TRANSLATION_LANGUAGE_TAG="English"
COM_PHOCACOMMANDER_TRANSLATER="Jan Pavelka"
COM_PHOCACOMMANDER_TRANSLATION_SUPPORT_URL="<a href="_QQ_"http://www.phoca.cz/"_QQ_" target="_QQ_"_blank"_QQ_">www.phoca.cz</a>"
; End Translaters section - - - - - - - -
COM_PHOCACOMMANDER_CHECK_FOR_UPDATE="Check For Update"
COM_PHOCACOMMANDER_CONFIG_HEAD_GENERAL_LABEL="General"
COM_PHOCACOMMANDER_CONFIGURATION="Configuration"
COM_PHOCACOMMANDER_ARE_YOU_SURE_COPY="Are you sure you want to copy"
COM_PHOCACOMMANDER_ARE_YOU_SURE_MOVE="Are you sure you want to move"
COM_PHOCACOMMANDER_ARE_YOU_SURE_DELETE="Are you sure you want to delete"
COM_PHOCACOMMANDER_JOOMLA_ROOT_FOLDER="Joomla! root folder"
COM_PHOCACOMMANDER_TO="to"
COM_PHOCACOMMANDER_FILES_FOLDERS="Files (Folders)"
COM_PHOCACOMMANDER_FOLDER="Folder"
COM_PHOCACOMMANDER_FILE="File"
COM_PHOCACOMMANDER_FOLDER_SM="folder"
COM_PHOCACOMMANDER_FILES_FOLDERS_SM="files (folders)"
COM_PHOCACOMMANDER_PERMANENTLY_REMOVE_WARNING="Be aware, this action removes selected files or folders (include their subfolders and files) from your server permanently"
COM_PHOCACOMMANDER_F1_ATTRIBUTES="F1 Attributes"
COM_PHOCACOMMANDER_F2_RENAME="F2 Rename"
COM_PHOCACOMMANDER_F3_VIEW="F3 View"
COM_PHOCACOMMANDER_F4_EDIT="F4 Edit"
COM_PHOCACOMMANDER_F5_COPY="F5 Copy"
COM_PHOCACOMMANDER_F6_MOVE="F6 Move"
COM_PHOCACOMMANDER_F7_NEW_FOLDER="F7 New Folder"
COM_PHOCACOMMANDER_F8_DELETE="F8 Delete"
COM_PHOCACOMMANDER_F9_UNPACK="F9 Unpack"
COM_PHOCACOMMANDER_F10_UPLOAD="F10 Upload"
COM_PHOCACOMMANDER_F1="F1"
COM_PHOCACOMMANDER_F2="F2"
COM_PHOCACOMMANDER_F3="F3"
COM_PHOCACOMMANDER_F4="F4"
COM_PHOCACOMMANDER_F5="F5"
COM_PHOCACOMMANDER_F6="F6"
COM_PHOCACOMMANDER_F7="F7"
COM_PHOCACOMMANDER_F8="F8"
COM_PHOCACOMMANDER_F9="F9"
COM_PHOCACOMMANDER_F10="F10"
COM_PHOCACOMMANDER_ONLY_ONE_FILE_OR_FOLDER_NEEDS_TO_BE_SELECTED="Only one file or folder needs to be selected"
COM_PHOCACOMMANDER_RENAME="Rename"
COM_PHOCACOMMANDER_ONLY_ONE_FILE_NEEDS_TO_BE_SELECTED="Only one file needs to be selected"
COM_PHOCACOMMANDER_FOLDER_CANNOT_BE_PREVIEWED_OR_EDITED="Folder cannot be previewed or edited"
COM_PHOCACOMMANDER_NEW_FOLDER="New Folder"
COM_PHOCACOMMANDER_NEW_ATTRIBUTES="New Attributes"
COM_PHOCACOMMANDER_CLOSE="Close"
COM_PHOCACOMMANDER_OK="OK"
COM_PHOCACOMMANDER_CANCEL="Cancel"
COM_PHOCACOMMANDER_WARNING="Warning"
COM_PHOCACOMMANDER_CONFIRM="Confirm"
COM_PHOCACOMMANDER_SET="Set"
COM_PHOCACOMMANDER_CREATE="Create"
COM_PHOCACOMMANDER_UPDATING="Updating"
COM_PHOCACOMMANDER_GROUP="Group"
COM_PHOCACOMMANDER_OTHER="Other"
COM_PHOCACOMMANDER_READ="Read"
COM_PHOCACOMMANDER_WRITE="Write"
COM_PHOCACOMMANDER_EXECUTE="Execute"
COM_PHOCACOMMANDER_VALUE="Value"
COM_PHOCACOMMANDER_PERMISSION="Permission"
COM_PHOCACOMMANDER_NEW_ATTRIBUTE="New Attribute"
COM_PHOCACOMMANDER_SET_NEW_ATTRIBUTE_FOR="Set new attribute for"
COM_PHOCACOMMANDER_ERROR_NO_VALID_REQUEST="Error - no valid request"
COM_PHOCACOMMANDER_ERROR_NO_VALID_TASK="Error - no valid task"
COM_PHOCACOMMANDER_ERROR_NO_VALUE_SEND="Error - no value send"
COM_PHOCACOMMANDER_ITEM_RENAMED="Item renamed"
COM_PHOCACOMMANDER_ERROR_NO_FILE_OR_FOLDER_FOUND="Error - no file or folder found"
COM_PHOCACOMMANDER_ERROR_FOLDER_NOT_EXIST="Folder does not exist"
COM_PHOCACOMMANDER_ERROR_FILE_NOT_EXIST="File does not exist"
COM_PHOCACOMMANDER_FILE_RENAMED="File renamed"
COM_PHOCACOMMANDER_FOLDER_RENAMED="Folder renamed"
COM_PHOCACOMMANDER_ONLY_IMAGES_CAN_BE_PREVIEWED="Only images can be previewed"
COM_PHOCACOMMANDER_EDIT="Edit"
COM_PHOCACOMMANDER_EDIT_OPTIONS="Edit Options"
COM_PHOCACOMMANDER_FIELD_CONTENT_LABEL="Content"
COM_PHOCACOMMANDER_FIELD_CONTENT_DESC="Edit content"
COM_PHOCACOMMANDER_FIELD_FILENAME_LABEL="Filename"
COM_PHOCACOMMANDER_FIELD_FILENAME_DESC="Filename (include path)"
COM_PHOCACOMMANDER_ERROR_NEW_NAME_SAME_OLD="New name is the same like the old one"
COM_PHOCACOMMANDER_EDITING_FILE="Editing file"
COM_PHOCACOMMANDER_TOGGLE_FULL_SCREEN="Press Ctrl-Q to toggle Full Screen editing."
COM_PHOCACOMMANDER_ERROR_FILE_NOT_WRITABLE="Error - file is not writable"
COM_PHOCACOMMANDER_FILE_PERMISSIONS="Permissions"
COM_PHOCACOMMANDER_CHECK_FILE_OWNERSHIP="Check file ownership"
COM_PHOCACOMMANDER_ERROR_SOURCE_FILE_NOT_UNWRITABLE="Source file can't be returned to unwritable status"
COM_PHOCACOMMANDER_ERROR_FAILED_TO_SAVE_FILENAME="Error - the file %s could not be saved."
COM_PHOCACOMMANDER_ERROR_SOURCE_SAME_DESTINATION="Error - source is the same as destination"
COM_PHOCACOMMANDER_SERVER_ERROR="Server error"
COM_PHOCACOMMANDER_OVERWRITE_EXISTING_FOLDERS_FILES="Overwrite existing folders and files"
COM_PHOCACOMMANDER_COPY="Copy"
COM_PHOCACOMMANDER_ALL_FILES_COPIED="All files copied"
COM_PHOCACOMMANDER_FILES_COPIED="files copied"
COM_PHOCACOMMANDER_FILES_NOT_COPIED="files not copied"
COM_PHOCACOMMANDER_ALL_FOLDERS_COPIED="All folders copied"
COM_PHOCACOMMANDER_FOLDERS_COPIED="folders copied"
COM_PHOCACOMMANDER_FOLDERS_NOT_COPIED="files not copied"
COM_PHOCACOMMANDER_NO_FILES_COPIED="No files copied"
COM_PHOCACOMMANDER_NO_FOLDERS_COPIED="No folders copied"
COM_PHOCACOMMANDER_NO_ALL_FILES_COPIED="Not all files copied"
COM_PHOCACOMMANDER_NO_ALL_FOLDERS_COPIED="Not all folders copied"
COM_PHOCACOMMANDER_FILE_COPIED="File copied"
COM_PHOCACOMMANDER_FOLDER_COPIED="Folder copied"
COM_PHOCACOMMANDER_FILE_NOT_COPIED="File not copied"
COM_PHOCACOMMANDER_FOLDER_NOT_COPIED="Folder not copied"
COM_PHOCACOMMANDER_FOLDER_CANNOT_BE_COPIED_OWN_SUBFOLDER="Folder cannot be copied to its own subfolder"
COM_PHOCACOMMANDER_MOVE="Move"
COM_PHOCACOMMANDER_ALL_FILES_MOVED="All files moved"
COM_PHOCACOMMANDER_FILES_MOVED="files moved"
COM_PHOCACOMMANDER_FILES_NOT_MOVED="files not moved"
COM_PHOCACOMMANDER_ALL_FOLDERS_MOVED="All folders moved"
COM_PHOCACOMMANDER_FOLDERS_MOVED="folders moved"
COM_PHOCACOMMANDER_FOLDERS_NOT_MOVED="folders not moved"
COM_PHOCACOMMANDER_NO_FILES_MOVED="No files moved"
COM_PHOCACOMMANDER_NO_FOLDERS_MOVED="No folders moved"
COM_PHOCACOMMANDER_NO_ALL_FILES_MOVED="Not all files moved"
COM_PHOCACOMMANDER_NO_ALL_FOLDERS_MOVED="Not all folders moved"
COM_PHOCACOMMANDER_FILE_MOVED="File moved"
COM_PHOCACOMMANDER_FOLDER_MOVED="Folder moved"
COM_PHOCACOMMANDER_FILE_NOT_MOVED="File not moved"
COM_PHOCACOMMANDER_FOLDER_NOT_MOVED="Folder not moved"
COM_PHOCACOMMANDER_FOLDER_CANNOT_BE_MOVED_OWN_SUBFOLDER="Folder cannot be moved to its own subfolder"
COM_PHOCACOMMANDER_FOLDER_NOT_OVERWRITTEN="Folder not overwritten"
COM_PHOCACOMMANDER_FILE_NOT_OVERWRITTEN="File not overwritten"
COM_PHOCACOMMANDER_GENERAL_OPTIONS_LABEL="General Options"
COM_PHOCACOMMANDER_FIELD_F_KEYS_DESC="Display F keys with titles or without titles"
COM_PHOCACOMMANDER_FIELD_F_KEYS_LABEL="F Keys"
COM_PHOCACOMMANDER_WITHOUT_TITLES="Without Titles"
COM_PHOCACOMMANDER_WITH_TITLES="With Titles"
COM_PHOCACOMMANDER_FIELD_BOX_HEIGHT_DESC="Set box (panel) height in px"
COM_PHOCACOMMANDER_FIELD_BOX_HEIGHT_LABEL="Box (Panel) Height"
COM_PHOCACOMMANDER_ERROR_NEW_FOLDER_NAME_EXISTS="New folder name is the same like existing folder"
COM_PHOCACOMMANDER_ERROR_NEW_FILE_NAME_EXISTS="New file name is the same like existing file"
COM_PHOCACOMMANDER_ERROR_NEW_FOLDER_CREATED="New folder created"
COM_PHOCACOMMANDER_ERROR_NEW_FOLDER_NOT_CREATED="New folder not created"
COM_PHOCACOMMANDER_FILE_DELETED="File deleted"
COM_PHOCACOMMANDER_FILES_DELETED="files deleted"
COM_PHOCACOMMANDER_FILE_NOT_DELETED="File not deleted"
COM_PHOCACOMMANDER_NO_FILES_DELETED="No files deleted"
COM_PHOCACOMMANDER_FILES_NOT_DELETED="files not deleted"
COM_PHOCACOMMANDER_FOLDER_DELETED="Folder deleted (include its subfolders and files)"
COM_PHOCACOMMANDER_FOLDERS_DELETED="folders deleted (include their subfolders and files)"
COM_PHOCACOMMANDER_FOLDER_NOT_DELETED="Folder not deleted"
COM_PHOCACOMMANDER_NO_FOLDERS_DELETED="No folders deleted"
COM_PHOCACOMMANDER_FOLDERS_NOT_DELETED="folders not deleted"
COM_PHOCACOMMANDER_ARE_YOU_SURE_UNPACK="Are you sure you want to unpack"
COM_PHOCACOMMANDER_UNPACK="Unpack"
COM_PHOCACOMMANDER_ONLY_ARCHIVE_FILE_CAN_BE_UNPACKED="Only archive file can be unpacked"
COM_PHOCACOMMANDER_FILE_NOT_ARCHIVE="File is not archive package"
COM_PHOCACOMMANDER_FILE_CANNOT_BE_UNPACKED_FILE_EXISTS="File cannot be unpacked. One of the files or folders included in archive package exists in destination folder"
COM_PHOCACOMMANDER_FILE_UNPACKED="File unpacked"
COM_PHOCACOMMANDER_FILE_NOT_UNPACKED="File not unpacked"
COM_PHOCACOMMANDER_WRONG_REQUEST="Wrong request"
COM_PHOCACOMMANDER_UPLOAD="Upload"
COM_PHOCACOMMANDER_UPLOAD_FILE="Unpload File"
COM_PHOCACOMMANDER_MAX_SIZE="Max Size"
COM_PHOCACOMMANDER_SELECT_FILES="Select files"
COM_PHOCACOMMANDER_ADD_FILES="Add Files"
COM_PHOCACOMMANDER_ADD_FILES_TO_UPLOAD_QUEUE_AND_CLICK_START_BUTTON="Add files to the upload queue and click the start button."
COM_PHOCACOMMANDER_FILENAME="Filename"
COM_PHOCACOMMANDER_SIZE="Size"
COM_PHOCACOMMANDER_STATUS="Status"
COM_PHOCACOMMANDER_NOT_AUTHORISED_ACTION="You are not authorized to do this action"
COM_PHOCACOMMANDER_NOT_AUTHORISED_TO_UPLOAD="You are not authorized to upload file"
COM_PHOCACOMMANDER_NOT_INSTALLED_BROWSERPLUS="You browser doesn't have BrowserPlus installed."
COM_PHOCACOMMANDER_NOT_INSTALLED_FLASH="You browser doesn't have Flash installed."
COM_PHOCACOMMANDER_NOT_INSTALLED_GEARS="You browser doesn't have Gears installed."
COM_PHOCACOMMANDER_NOT_INSTALLED_SILVERLIGHT="You browser doesn't have Silverlight installed."
COM_PHOCACOMMANDER_NOT_SUPPORTED_HTML4="You browser doesn't have HTML 4 support."
COM_PHOCACOMMANDER_NOT_SUPPORTED_HTML5="You browser doesn't have HTML 5 support."
COM_PHOCACOMMANDER_START="Start"
COM_PHOCACOMMANDER_START_PUBLISHING="Start Publishing"
COM_PHOCACOMMANDER_START_UPLOAD="Start Upload"
COM_PHOCACOMMANDER_START_UPLOADING_QUEUE="Start Uploading Queue"
COM_PHOCACOMMANDER_STATISTICS="Statistics"
COM_PHOCACOMMANDER_STATUS="Status"
COM_PHOCACOMMANDER_STOP_CURRENT_UPLOAD="Stop Current Upload"
COM_PHOCACOMMANDER_SUCCESS="Success"
COM_PHOCACOMMANDER_SUCCESS_FILE_UPLOAD="File uploaded"
COM_PHOCACOMMANDER_SUCCESS_FILE_UPLOADED="File uploaded"
COM_PHOCACOMMANDER_SUCCESS_FOLDER_CREATING="Folder created"
COM_PHOCACOMMANDER_SUCCESS_RESET_USER_STAT="User Statistics reset"
COM_PHOCACOMMANDER_THERE_IS_NO_FILE="There is no file"
COM_PHOCACOMMANDER_DRAG_FILES_HERE="Drag files here"
COM_PHOCACOMMANDER_UPLOADING_FINISHED="Uploading finished"
COM_PHOCACOMMANDER_ERROR="Error"
COM_PHOCACOMMANDER_WARNFILENAME="File name must only contain alphanumeric characters, underscores, hyphens and spaces."
COM_PHOCACOMMANDER_WARNFILETOOLARGE="This file is too large to upload."
COM_PHOCACOMMANDER_WARNFILETYPE="This file type is not supported (or there are some restrictions on the server)."
COM_PHOCACOMMANDER_WARNFILETYPE_DISALLOWED="The file type is disallowed - file cannot be uploaded"
COM_PHOCACOMMANDER_WARNFILETYPE_DISALLOWED_DOWNLOAD="Error while downloading file (Disallowed Mime Type)"
COM_PHOCACOMMANDER_WARNFILETYPE_DOWNLOAD="Error while downloading file (Mime Type not found)"
COM_PHOCACOMMANDER_WARNFILETYPE_NOT_ALLOWED="The file type is not allowed - file cannot be uploaded"
COM_PHOCACOMMANDER_INVALID_TOKEN="Invalid Token"
COM_PHOCACOMMANDER_FILE_ALREADY_EXISTS="File already exists"
COM_PHOCACOMMANDER_ERROR_FOLDER_UPLOAD_NOT_EXISTS="Folder does not exist or it is not accessible"
COM_PHOCACOMMANDER_ERROR_OPEN_INPUT_STREAM="Failed to open input stream"
COM_PHOCACOMMANDER_ERROR_OPEN_OUTPUT_STREAM="Failed to open output stream"
COM_PHOCACOMMANDER_ERROR_MOVE_UPLOADED_FILE="Failed to move uploaded file"
COM_PHOCACOMMANDER_ERROR_UNABLE_TO_MOVE_FILE="Unable to move file"
COM_PHOCACOMMANDER_CHECK_PERMISSIONS_OWNERSHIP="Check permissions and ownership of files and folders"
COM_PHOCACOMMANDER_SUCCESS="Success"
COM_PHOCACOMMANDER_FILES_UPLOADED="Files uploaded"
COM_PHOCACOMMANDER_ERROR_UNABLE_TO_UPLOAD_FILE="Unable to upload file"
COM_PHOCACOMMANDER_WARNING_INPUT_FILE_UPLOAD="Please input a file for upload"
COM_PHOCACOMMANDER_WARNINVALIDMIME="Illegal or invalid mime type detected."
COM_PHOCACOMMANDER_WARNIEXSS="Possible IE XSS Attack found."
COM_PHOCACOMMANDER_FTP_LOGIN_DESC="For uploading files, Joomla! will most likely need your FTP account details. Please enter them in the form fields below."
COM_PHOCACOMMANDER_FTP_LOGIN_LABEL="FTP Login Details"
COM_PHOCACOMMANDER_MAX_UPLOAD_SIZE="Max upload size"
COM_PHOCACOMMANDER_FIELD_ALLOWED_FILE_TYPES_UPLOAD_DESC="Set allowed file types for upload. Default list of filetypes is not complete and should be modified to fit your needs."
COM_PHOCACOMMANDER_FIELD_ALLOWED_FILE_TYPES_UPLOAD_LABEL="Allowed File Types (Upload)"
COM_PHOCACOMMANDER_FIELD_DISALLOWED_FILE_TYPES_UPLOAD_DESC="Set disallowed file types for upload"
COM_PHOCACOMMANDER_FIELD_DISALLOWED_FILE_TYPES_UPLOAD_LABEL="Disallowed File Types (Upload)"
COM_PHOCACOMMANDER_FIELD_OVERWRITE_EXISTING_FILES_DESC="Set if uploaded files should overwrite existing files on the server"
COM_PHOCACOMMANDER_FIELD_OVERWRITE_EXISTING_FILES_LABEL="Overwrite Existing Files"
COM_PHOCACOMMANDER_FIELD_UPLOAD_MAX_SIZE_ADMIN_DESC="Set the maximum size for an upload. Use zero for no limit. Do not forget, that the upload size can be limited by the server settings (in bytes)"
COM_PHOCACOMMANDER_FIELD_UPLOAD_MAX_SIZE_ADMIN_LABEL="Maximum Upload Size"
COM_PHOCACOMMANDER_IGNORE_FILE_TYPES_CHECK_LABEL="Ignore File Types Checking"
COM_PHOCACOMMANDER_IGNORE_FILE_TYPES_CHECK_DESC="Set if checking of file types will be ignored. If yes: Allowed File Types (Upload) and Disallowed File Types (Upload) will be ignored."
COM_PHOCACOMMANDER_YES="Yes"
COM_PHOCACOMMANDER_NO="No"
COM_PHOCACOMMANDER_FILES_CHMOD_CHANGED="files changed (permission)"
COM_PHOCACOMMANDER_FILES_NOT_CHMOD_CHANGED="files not changed (permission)"
COM_PHOCACOMMANDER_FOLDERS_CHMOD_CHANGED="folders changed (permission)"
COM_PHOCACOMMANDER_FOLDERS_NOT_CHMOD_CHANGED="folders not changed (permission)"
COM_PHOCACOMMANDER_NO_FILES_CHMOD_CHANGED="No files changed (permission)"
COM_PHOCACOMMANDER_NO_FOLDERS_CHMOD_CHANGED="No folders changed (permission)"
COM_PHOCACOMMANDER_FILE_CHMOD_CHANGED="File changed (permission)"
COM_PHOCACOMMANDER_FOLDER_CHMOD_CHANGED="Folder changed (permission)"
COM_PHOCACOMMANDER_FILE_NOT_CHMOD_CHANGED="File not changed (permission)"
COM_PHOCACOMMANDER_FOLDER_NOT_CHMOD_CHANGED="Folder not changed (permission)"
COM_PHOCACOMMANDER_FILE_PERMISSIONS="File permissions"
COM_PHOCACOMMANDER_ERROR_FAILED_TO_SAVE_FILENAME="Error - failed to save filename"
COM_PHOCACOMMANDER_FIELD_EDIT_NOT_WRITABLE_FILES_LABEL="Edit Not Writable Files"
COM_PHOCACOMMANDER_FIELD_EDIT_NOT_WRITABLE_FILES_DESC="Set if edit function can store files which should be not writable"
COM_PHOCACOMMANDER_EXTRACTED_FILES_OVERWRITE_EXISTING_FILES_WARNING="Be aware, extracted files will overwrite existing files"
COM_PHOCACOMMANDER_WELCOME_WARNING="<div class="_QQ_"ph-main-warning"_QQ_"><div class="_QQ_"ph-warning-text"_QQ_">Be aware, you are about to manage real folders and files on your server.</div><ul><li>Files can be managed like in your FTP client</li><li>There is no UNDO action</li><li>Some tasks like DELETE or MOVE can remove folders or files permanently</li><li>Unpacking archive files can overwrite existing files permanently</li><li>Some features may not work if they are limited by server settings</li><li>Success in working with folders and files depends on server settings (permissions, ownership)</li><li>Check file handling (FTP layer) in Global Configuration</li></ul><div>Please see <a href="_QQ_"http://www.phoca.cz/documentation"_QQ_" target="_QQ_"_blank"_QQ_">Documentation</a>.<br />If you get some problems while using Phoca Commander, please ask in <a href="_QQ_"http://www.phoca.cz/forum"_QQ_" target="_QQ_"_blank"_QQ_">Phoca Forum</a>.</div>"

View File

@ -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 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.0]
COM_PHOCACOMMANDER="Phoca Commander"
COM_PHOCACOMMANDER_CONTROLPANEL="Control Panel"
COM_PHOCACOMMANDER_INFO="Info"
COM_PHOCACOMMANDER_XML_DESCRIPTION="Phoca Commander - Joomla! CMS component. File manager for Joomla! CMS."
COM_PHOCACOMMANDER_UPDATE_TEXT="Phoca Commander updated"
COM_PHOCACOMMANDER_VERSION="Version"

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@ -0,0 +1 @@
<html><body style="background-color: #000;"></body></html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,42 @@
/* Corner radius */
.ui-corner-all,
.ui-corner-top,
.ui-corner-left,
.ui-corner-tl {
border-top-left-radius: 0px/*{cornerRadius}*/;
}
.ui-corner-all,
.ui-corner-top,
.ui-corner-right,
.ui-corner-tr {
border-top-right-radius: 0px/*{cornerRadius}*/;
}
.ui-corner-all,
.ui-corner-bottom,
.ui-corner-left,
.ui-corner-bl {
border-bottom-left-radius: 0px/*{cornerRadius}*/;
}
.ui-corner-all,
.ui-corner-bottom,
.ui-corner-right,
.ui-corner-br {
border-bottom-right-radius: 0px/*{cornerRadius}*/;
}
.ui-dialog {
border: 1px solid #fff;
-webkit-box-shadow: 0px 1px 4px rgba(70,70,70,0.5);
box-shadow: 0px 1px 4px rgba(70,70,70,0.5);
}
.ui-dialog-titlebar {
background:#f0f0f0;
border: 0px;
}
.ui-widget-overlay {
background: #fff;
opacity: .7/*{opacityOverlay}*/;
filter: Alpha(Opacity=70)/*{opacityFilterOverlay}*/;
}

View File

@ -0,0 +1,220 @@
table.ph-table {
width: 100%;
}
table.ph-table tr td,
table.ph-table tr th {
}
/* Checkbox */
#phPromptValueMove,
#phPromptValueUnpack,
#phPromptValueUnpackOther,
#phPromptValueCopy {
margin-bottom:5px;
}
#selectAllA,
#selectAllB {
margin-left: 2px;
margin-bottom: 3px;
}
.ph-box-s {
border-bottom: 1px solid #c5c5c5;
}
.ph-box-b {
border-top: 1px solid #c5c5c5;
}
.ph-box-o table,
.ph-box-o table.ph-table tr,
.ph-box-o table.ph-table tr, td {
margin:0;
padding:0px;
border-collapse: collapse;
}
.ph-box-o table.ph-table tr td{
border: 1px solid #fcfcfc;
}
table.ph-table tr th {
text-align: center;
}
.ph-box-s {
margin: 0;
padding: 0;
padding-right: 17px;
}
.ph-status {
height:4px;
margin-right:-17px;
background: #f0f0f0;
}
.ph-box-o {
overflow: auto;
margin: 0;
padding: 0;
}
th.ph-check { width: 1%; padding-left: 2px;white-space: nowrap}
th.ph-name { width: 44%;}
td.ph-name { width: 45%;}
td.ph-size, th.ph-size { width: 15%; text-align: right;padding-right: 5px !important;}
td.ph-date, th.ph-date { width: 20%; text-align: center;}
td.ph-attributes, th.ph-attributes { width: 10%; text-align: center;}
td.ph-owner, th.ph-owner {width: 10%; text-align: center;}
.ph-a,
.ph-b {
border: 1px solid #d0d0d0;
}
label.ph-checkbox {
display: block;
margin: 0; padding: 0;
}
label.ph-checkbox input {
padding: 0;
margin:0;
vertical-align: bottom;
position: relative;
top: -2px;
*overflow: hidden;
}
.ph-path {
background: #f0f0f0;
padding-left: 5px;
font-size: small;
}
#ph-ajaxtop {
display: none;
}
.ph-commander-box {
margin-left: 15px;
}
.ph-commander-box-in {
margin: 0 auto !important;
}
.ph-arrow {
font-size: 15px;
font-weight: 900;
}
/*
label.ph-checkbox:hover {
background: #f0f0f0
}*/
label.ph-checkbox {
padding:2px;
border: 1px solid transparent;
}
label.ph-checkbox:hover {
border: 1px solid #CCE6FF;
}
.ph-active {
background: #CCE6FF;
}
.ph-status-active {
background: #0059b2;
}
/* Bootstrap conflict */
.ui-icon-closethick {
margin-top: -2px;
margin-left: 0px;
}
#ph-ajaxtop-message {
position:fixed;
top:0px;
left:0;
right:0;
width:50%;
background:#ffe500;
border:5px solid #bfb130;
border-top: 0px;
-webkit-border-radius: 0px 0px 3px 3px;
border-radius: 0px 0px 3px 3px;
padding:10px;
margin: 0 auto;
text-align:center;
z-index: 9999;
color: #a69500;
}
#ph-ajaxtop {
display: none;
}
.ph-success-txt {
color: #468847;
font-weight: bold;
}
.ph-error-txt {
color: #B94A48;
font-weight: bold;
}
.ph-file-folder {
font-weight: bold;
background: #CCE6FF;
padding: 0px 10px;
}
.ph-dialog {
line-height: 1.7;
text-align: center !important;
display:none;
}
.ph-prepend-text {
}
.ph-table-attribs tr td,
.ph-table-attribs tr th{
padding: 5px;
}
.ph-table-attribs tr td .ph-input-attribs {
margin-top: 5px;
}
.ph-input-box-prompt {
margin-top:10px;
}
label.ph-input-prompt span{
}
label.ph-input-prompt input.ph-input-checkbox-prompt {
}
.ph-warning-text {
color: #FF3D3D;
}
.ph-main-warning {
}
.ph-main-warning ul li {
text-align: left;
}
.ph-main-warning a {
text-decoration: underline;
font-weight: bold;
}
#adminForm {
margin: 0 0 0 0 !important;
}

View File

@ -0,0 +1,34 @@
label {
}
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;
}
.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;
}

View File

@ -0,0 +1 @@
<html><body style="background-color: #000;"></body></html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 439 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 413 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Some files were not shown because too many files have changed in this diff Show More