Pour corriger l'incompatibilité entre module DigressivePrice et le multi-déclinaisons, sur la page produit

This commit is contained in:
2021-08-06 13:50:28 +02:00
parent d73500fd0a
commit 1fd221182e
92 changed files with 6458 additions and 6452 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 475 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 579 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 497 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 534 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 127 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 291 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 291 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

View File

@@ -1,2 +1,2 @@
csdcvdcsccsdc
csdcvdcsccsdc
ccsdcds

View File

@@ -1,490 +1,490 @@
{extends file="admin-layout.tpl"}
{block name="after-bootstrap-css"}
{/block}
{block name="no-return-functions"}
{$admin_current_location = 'module'}
{/block}
{block name="page-title"}Configuration CustomerFamily{/block}
{block name="check-resource"}admin.module{/block}
{block name="check-access"}view{/block}
{block name="check-module"}CustomerFamily{/block}
{block name="main-content"}
<div class="general-block-decorator" id="CustomerFamily">
<div class="title">
{intl l="Customer Family" d='customerfamily.bo.default'}
</div>
<div class="row">
<div class="col-md-12">
<!-- Tab menu -->
<ul id="tabbed-menu" class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#families">{intl l="Families" d='customerfamily.bo.default'}</a> </li>
<li><a data-toggle="tab" href="#prices_definition">{intl l="Prices definition" d='customerfamily.bo.default'}</a></li>
<li><a data-toggle="tab" href="#category_restrictions">{intl l="Category restrictions" d='customerfamily.bo.default'}</a></li>
<li><a data-toggle="tab" href="#brand_restrictions">{intl l="Brand restrictions" d='customerfamily.bo.default'}</a></li>
</ul>
<div class="tab-content">
<!-- Families managing tab -->
<div id="families" class="tab-pane active form-container">
<div class="row">
<div class="col-md-6">
{if $hide_flags != true}
<ul class="nav nav-pills">
{loop name="lang_list" type="lang"}
<li {if $ID == $edit_language_id}class="active"{/if}>
{if $current_tab}
{$lang_url = {url path="/admin/module/CustomerFamily" edit_language_id=$ID current_tab=$current_tab}}
{else}
{$lang_url = {url path="/admin/module/CustomerFamily" edit_language_id=$ID}}
{/if}
<a class="language-change-button" data-language-id="{$ID}" href="{$lang_url nofilter}" title="{intl l='Edit information in %lng' lng={$TITLE}}">
<img src="{image file="assets/img/flags/$CODE.png"}" alt="{$TITLE}" />
</a>
</li>
{/loop}
</ul>
{/if}
</div>
{form name="customer.family.delete.form"}
{if $form_error}
<div class="alert alert-danger">{$form_error_message}</div
{/if}
{/form}
<div class="col-md-12">
<table class="table">
<thead>
<tr>
<th>
{intl l="ID"}
</th>
<th>
{intl l="Code"}
</th>
<th>
{intl l="Title"}
</th>
<th>
{intl l="Default"}
</th>
<th>
{intl l="Action"}
</th>
</tr>
</thead>
<tbody>
{ifloop rel="customer_family"}
<!-- Default family -->
{form name='customer_family_update_default_form'}
<form action="{url path='/admin/module/CustomerFamily/update-default'}" method="post" id="update-default-family-form">
{form_hidden_fields form=$form}
{form_field form=$form field="customer_family_id"}
<input type="hidden" name="{$name}" id="default_family_id">
{/form_field}
</form>
{/form}
<!-- Families list -->
{loop type="customer_family" name="customer_family" lang=$edit_language_id force_return="on"}
<tr>
<td>
{$CUSTOMER_FAMILY_ID}
</td>
<td>
{$CODE}
</td>
<td>
{$TITLE_CUSTOMER_FAMILY}
</td>
<td>
<div class="switch-small update-default-family" data-id="{$CUSTOMER_FAMILY_ID}" data-on="success" data-off="danger" data-on-label="<i class='glyphicon glyphicon-ok-circle'></i>" data-off-label="<i class='glyphicon glyphicon-remove-circle'></i>">
<input type="radio" name="is_default" {if $IS_DEFAULT}checked{/if} />
</div>
</td>
<td>
<a class="btn btn-info pull-left js-action-update" data-id="{$CUSTOMER_FAMILY_ID}" data-code="{$CODE}" data-title="{$TITLE_CUSTOMER_FAMILY}" style="margin-right: 5px;">{intl l="Edit" d='customerfamily.bo.default'}</a>
<a class="btn btn-danger pull-left js-action-delete" data-id="{$CUSTOMER_FAMILY_ID}" style="margin-right: 5px;">{intl l="Delete"}</a>
</td>
</tr>
{/loop}
{/ifloop}
{elseloop rel="customer_family"}
<tr>
<td colspan="4" class="text-center">
{intl l="No family" d='customerfamily.bo.default'}
</td>
</tr>
{/elseloop}
</tbody>
<tfoot class="text-center">
<tr>
<td colspan="4">
{form name="customer.family.create.form"}
<form action="{url path="/admin/module/CustomerFamily/create"}" method="POST" class="form-inline">
{if $form_error}
<div class="alert alert-danger">{$form_error_message}</div
{/if}
{form_hidden_fields form=$form}
{form_field form=$form field="locale"}
<input type="hidden" name="{$name}" value="{$edit_language_locale}" />
{/form_field}
{form_field form=$form field="code"}
<div class="form-group{if $error} has-error{/if}">
<input class="form-control" type="text" required placeholder="{$label}" name="{$name}" value="{$value}" />
</div>
{/form_field}
{form_field form=$form field="title"}
<div class="form-group{if $error} has-error{/if}">
<input class="form-control" type="text" required placeholder="{$label}" name="{$name}" value="{$value}" />
</div>
{/form_field}
<div class="form-group">
<button type="submit" class="btn btn-primary js-action-create">{intl l="Add"}</button>
</div>
</form>
{/form}
</td>
</tr>
</tfoot>
</table>
</div>
</div>
{form name="customer.family.delete.form"}
<div class="modal js-modal-delete" tabindex="-1" role="dialog" aria-labelledby="Delete family" aria-hidden="true">
<div class="modal-dialog">
<form action="" method="POST">
{form_hidden_fields form=$form}
<div class="modal-content">
<div class="modal-body">
{intl l="Do you really want to delete this customer family ?" d='customerfamily.bo.default'}
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{intl l="No"}</button>
<button type="submit" type="button" class="btn btn-danger js-action-delete-confirm">{intl l="Yes"}</button>
</div>
</div>
</form>
</div>
</div>
{/form}
{form name="customer.family.update.form"}
<div class="modal js-modal-update" tabindex="-1" role="dialog" aria-labelledby="Update family" aria-hidden="true">
<div class="modal-dialog">
<form action="" method="POST">
{form_hidden_fields form=$form}
<div class="modal-content">
<div class="modal-body">
{form_field form=$form field="locale"}
<input type="hidden" name="{$name}" value="{$edit_language_locale}" />
{/form_field}
{form_field form=$form field="code"}
<div class="form-group{if $error} has-error{/if}">
<label>{$label}</label>
<input class="form-control js-field-code" type="text" required placeholder="{$label}" name="{$name}" value="{$value}" />
</div>
{/form_field}
{form_field form=$form field="title"}
<div class="form-group{if $error} has-error{/if}">
<label>{$label}</label>
<input class="form-control js-field-title" type="text" required placeholder="{$label}" name="{$name}" value="{$value}" />
</div>
{/form_field}
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{intl l="Cancel"}</button>
<button type="submit" type="button" class="btn btn-primary js-action-delete-confirm">{intl l="Update"}</button>
</div>
</div>
</form>
</div>
</div>
{/form}
<div>
{form name="customer_family_price_mode"}
<form action="{url path="/admin/CustomerFamily/selectPriceMode"}" method="post">
{form_hidden_fields form=$form}
{form_field form=$form field="price_mode"}
<input type="checkbox" name="{$name}" id="{$name}" value="{$value}" {if $checked}checked{/if} onchange="this.form.submit()">
<label for="{$name}">{$label}</label>
{/form_field}
<div class="help-block">
<span>{$label_attr.help}</span>
</div>
</form>
{/form}
</div>
</div>
<!-- Prices definition tab -->
<div id="prices_definition" class="tab-pane form-container">
<br>
<!-- Configure prices equation -->
<div class="row">
<div class="col-md-12">
<h4 class="text-center">
{intl l="Define if your prices are the products' ones or if they are calculated by the equation with your parameters." d='customerfamily.bo.default'}
</h4>
<h4 class="text-center">
{intl l="Not using the equation will display the fix product price to customers." d='customerfamily.bo.default'}
</h4>
<h3 class="text-center">
{intl l='Equation: ( ( product_purchase_price + fix_amount_1 ) x factor ) + fix_amount_2' d='customerfamily.bo.default'}
</h3>
<br>
<table class="table table-striped">
<thead>
<tr>
<th>{intl l='Customer family' d='customerfamily.bo.default'}</th>
<th>{intl l='Use equation' d='customerfamily.bo.default'}</th>
<th>{intl l='Fix amount 1' d='customerfamily.bo.default'}</th>
<th>{intl l='Factor' d='customerfamily.bo.default'}</th>
<th>{intl l='Fix amount 2' d='customerfamily.bo.default'}</th>
<th>{intl l='Show taxes' d='customerfamily.bo.default'}<br>{intl l='(need specific integration)' d='customerfamily.bo.default'}</th>
<th>{intl l='Save' d='customerfamily.bo.default'}</th>
</tr>
</thead>
<tbody>
{loop type='customer_family' name='customerfamily_loop'}
{assign var='amount_added_before' value=0}
{assign var='coefficient' value=1}
{assign var='amount_added_after' value=0}
{assign var='is_taxed' value=1}
{assign var='use_equation' value=0}
<!-- Standard price equation -->
<tr>
{form name='customer_family_price_update'}
<form action="{url path='/admin/module/CustomerFamily/update-price-calculation'}" method="post">
{form_hidden_fields form=$form}
{form_field form=$form field='promo'}
<input type="hidden" name="{$name}" value="0">
{/form_field}
{loop type='customer_family_price' name='customer_family_price_loop' promo=0 customer_family_id=$CUSTOMER_FAMILY_ID}
{assign var='amount_added_before' value=$AMOUNT_ADDED_BEFORE}
{assign var='coefficient' value=$COEFFICIENT}
{assign var='amount_added_after' value=$AMOUNT_ADDED_AFTER}
{assign var='is_taxed' value=$IS_TAXED}
{assign var='use_equation' value=$USE_EQUATION}
{/loop}
<td>
{$TITLE_CUSTOMER_FAMILY}
{form_field form=$form field="customer_family_id"}
<input type="hidden" name="{$name}" value="{$CUSTOMER_FAMILY_ID}">
{/form_field}
</td>
<td>
{form_field form=$form field="use_equation"}
<input type="checkbox" name="{$name}" {if $use_equation}checked{/if}>
{/form_field}
</td>
<td>
{form_field form=$form field="amount_added_before"}
<input type="number" name="{$name}" maxlength="16" step="any" value="{$amount_added_before}" class="form-control">
{/form_field}
</td>
<td>
{form_field form=$form field="coefficient"}
<input type="number" name="{$name}" maxlength="16" step="any" value="{$coefficient}" class="form-control">
{/form_field}
</td>
<td>
{form_field form=$form field="amount_added_after"}
<input type="number" name="{$name}" maxlength="16" step="any" value="{$amount_added_after}" class="form-control">
{/form_field}
</td>
<td>
{form_field form=$form field="is_taxed"}
<input type="checkbox" name="{$name}" {if $is_taxed}checked{/if}>
{/form_field}
</td>
<td>
<button type="submit" class="btn btn-primary"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span></button>
</td>
</form>
{/form}
</tr>
{assign var='amount_added_before' value=0}
{assign var='coefficient' value=1}
{assign var='amount_added_after' value=0}
{assign var='is_taxed' value=1}
{assign var='use_equation' value=0}
<!-- Promo price equation -->
<tr>
{form name='customer_family_price_update'}
<form action="{url path='/admin/module/CustomerFamily/update-price-calculation'}" method="post">
{form_hidden_fields form=$form}
{form_field form=$form field='promo'}
<input type="hidden" name="{$name}" value="1">
{/form_field}
{loop type='customer_family_price' name='customer_family_price_promo_loop' promo=1 customer_family_id=$CUSTOMER_FAMILY_ID}
{assign var='amount_added_before' value=$AMOUNT_ADDED_BEFORE}
{assign var='coefficient' value=$COEFFICIENT}
{assign var='amount_added_after' value=$AMOUNT_ADDED_AFTER}
{assign var='is_taxed' value=$IS_TAXED}
{assign var='use_equation' value=$USE_EQUATION}
{/loop}
<td>
{$TITLE_CUSTOMER_FAMILY} - {intl l='Promo' d='customerfamily.bo.default'}
{form_field form=$form field="customer_family_id"}
<input type="hidden" name="{$name}" value="{$CUSTOMER_FAMILY_ID}">
{/form_field}
</td>
<td>
{form_field form=$form field="use_equation"}
<input type="checkbox" name="{$name}" {if $use_equation}checked{/if}>
{/form_field}
</td>
<td>
{form_field form=$form field="amount_added_before"}
<input type="number" name="{$name}" maxlength="16" step="any" value="{$amount_added_before}" class="form-control">
{/form_field}
</td>
<td>
{form_field form=$form field="coefficient"}
<input type="number" name="{$name}" maxlength="16" step="any" value="{$coefficient}" class="form-control">
{/form_field}
</td>
<td>
{form_field form=$form field="amount_added_after"}
<input type="number" name="{$name}" maxlength="16" step="any" value="{$amount_added_after}" class="form-control">
{/form_field}
</td>
<td>
{form_field form=$form field="is_taxed"}
<input type="checkbox" name="{$name}" {if $is_taxed}checked{/if}>
{/form_field}
</td>
<td>
<button type="submit" class="btn btn-primary"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span></button>
</td>
</form>
{/form}
</tr>
{/loop}
</tbody>
</table>
</div>
</div>
</div>
<div id="category_restrictions" class="tab-pane form-container">
<div class="row">
{loop type='customer_family' name='customerfamily_loop'}
<div class="col-md-12 general-block-decorator">
<form method="post" action="{url path="/admin/module/CustomerFamily/category_restriction/%customerFamilyId" customerFamilyId=$CUSTOMER_FAMILY_ID}">
<div class="title title-without-tabs">
{$TITLE_CUSTOMER_FAMILY}
</div>
<label for="category_restriction_{$CUSTOMER_FAMILY_ID}">
<input name="restriction_enabled" class="restriction_toggler" id="category_restriction_{$CUSTOMER_FAMILY_ID}" type="checkbox" {if $CATEGORY_RESTRICTION_ENABLED}checked{/if}>
<span>{intl l="Enable category restriction for this customer family" d='customerfamily.bo.default'}</span>
</label>
<div class="restriction_toggled toggled_by_category_restriction_{$CUSTOMER_FAMILY_ID}">
<p>{intl l="Choose what categories will be available for this customer family" d='customerfamily.bo.default'}</p>
<select class="form-control" name="available_categories[]" id="" multiple>
{foreach from=$categoryRestrictions[$CUSTOMER_FAMILY_ID] item=categoryRestriction}
<option value="{$categoryRestriction.id}" {if $categoryRestriction.available}selected{/if}>{$categoryRestriction.title}</option>
{/foreach}
</select>
</div>
<input type="submit" class="btn-block btn btn-success"/>
</form>
</div>
{/loop}
</div>
</div>
<div id="brand_restrictions" class="tab-pane form-container">
<div class="row">
{loop type='customer_family' name='customerfamily_loop'}
<div class="col-md-12 general-block-decorator">
<form method="post" action="{url path="/admin/module/CustomerFamily/brand_restriction/%customerFamilyId" customerFamilyId=$CUSTOMER_FAMILY_ID}">
<div class="title title-without-tabs">
{$TITLE_CUSTOMER_FAMILY}
</div>
<label for="brand_restriction_{$CUSTOMER_FAMILY_ID}">
<input name="restriction_enabled" class="restriction_toggler" id="brand_restriction_{$CUSTOMER_FAMILY_ID}" type="checkbox" {if $BRAND_RESTRICTION_ENABLED}checked{/if}>
<span>{intl l="Enable brand restriction for this customer family" d='customerfamily.bo.default'}</span>
</label>
<div class="restriction_toggled toggled_by_brand_restriction_{$CUSTOMER_FAMILY_ID}">
<p>{intl l="Choose what brands will be available for this customer family" d='customerfamily.bo.default'}</p>
<select class="form-control" name="available_categories[]" id="" multiple>
{foreach from=$brandRestrictions[$CUSTOMER_FAMILY_ID] item=brandRestriction}
<option value="{$brandRestriction.id}" {if $brandRestriction.available}selected{/if}>{$brandRestriction.title}</option>
{/foreach}
</select>
</div>
<input type="submit" class="btn-block btn btn-success"/>
</form>
</div>
{/loop}
</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal fade" id="update-default-family-failed" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h3>{intl l="An error occured" d='customerfamily.bo.default'}</h3>
</div>
<div class="modal-body" id="update-default-family-failed-body">
</div>
</div>
</div>
</div>
{/block}
{block name="javascript-initialization"}
<script>
$('.restriction_toggler').each(function () {
triggerRestrictionToggler($(this));
});
$('.restriction_toggler').on('change', function () {
triggerRestrictionToggler($(this));
});
function triggerRestrictionToggler(restrictionToggler) {
var toggled = $('.toggled_by_'+restrictionToggler.attr('id'));
if (restrictionToggler.is(":checked")) {
toggled.show();
} else {
toggled.hide();
}
}
</script>
{extends file="admin-layout.tpl"}
{block name="after-bootstrap-css"}
{/block}
{block name="no-return-functions"}
{$admin_current_location = 'module'}
{/block}
{block name="page-title"}Configuration CustomerFamily{/block}
{block name="check-resource"}admin.module{/block}
{block name="check-access"}view{/block}
{block name="check-module"}CustomerFamily{/block}
{block name="main-content"}
<div class="general-block-decorator" id="CustomerFamily">
<div class="title">
{intl l="Customer Family" d='customerfamily.bo.default'}
</div>
<div class="row">
<div class="col-md-12">
<!-- Tab menu -->
<ul id="tabbed-menu" class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#families">{intl l="Families" d='customerfamily.bo.default'}</a> </li>
<li><a data-toggle="tab" href="#prices_definition">{intl l="Prices definition" d='customerfamily.bo.default'}</a></li>
<li><a data-toggle="tab" href="#category_restrictions">{intl l="Category restrictions" d='customerfamily.bo.default'}</a></li>
<li><a data-toggle="tab" href="#brand_restrictions">{intl l="Brand restrictions" d='customerfamily.bo.default'}</a></li>
</ul>
<div class="tab-content">
<!-- Families managing tab -->
<div id="families" class="tab-pane active form-container">
<div class="row">
<div class="col-md-6">
{if $hide_flags != true}
<ul class="nav nav-pills">
{loop name="lang_list" type="lang"}
<li {if $ID == $edit_language_id}class="active"{/if}>
{if $current_tab}
{$lang_url = {url path="/admin/module/CustomerFamily" edit_language_id=$ID current_tab=$current_tab}}
{else}
{$lang_url = {url path="/admin/module/CustomerFamily" edit_language_id=$ID}}
{/if}
<a class="language-change-button" data-language-id="{$ID}" href="{$lang_url nofilter}" title="{intl l='Edit information in %lng' lng={$TITLE}}">
<img src="{image file="assets/img/flags/$CODE.png"}" alt="{$TITLE}" />
</a>
</li>
{/loop}
</ul>
{/if}
</div>
{form name="customer.family.delete.form"}
{if $form_error}
<div class="alert alert-danger">{$form_error_message}</div
{/if}
{/form}
<div class="col-md-12">
<table class="table">
<thead>
<tr>
<th>
{intl l="ID"}
</th>
<th>
{intl l="Code"}
</th>
<th>
{intl l="Title"}
</th>
<th>
{intl l="Default"}
</th>
<th>
{intl l="Action"}
</th>
</tr>
</thead>
<tbody>
{ifloop rel="customer_family"}
<!-- Default family -->
{form name='customer_family_update_default_form'}
<form action="{url path='/admin/module/CustomerFamily/update-default'}" method="post" id="update-default-family-form">
{form_hidden_fields form=$form}
{form_field form=$form field="customer_family_id"}
<input type="hidden" name="{$name}" id="default_family_id">
{/form_field}
</form>
{/form}
<!-- Families list -->
{loop type="customer_family" name="customer_family" lang=$edit_language_id force_return="on"}
<tr>
<td>
{$CUSTOMER_FAMILY_ID}
</td>
<td>
{$CODE}
</td>
<td>
{$TITLE_CUSTOMER_FAMILY}
</td>
<td>
<div class="switch-small update-default-family" data-id="{$CUSTOMER_FAMILY_ID}" data-on="success" data-off="danger" data-on-label="<i class='glyphicon glyphicon-ok-circle'></i>" data-off-label="<i class='glyphicon glyphicon-remove-circle'></i>">
<input type="radio" name="is_default" {if $IS_DEFAULT}checked{/if} />
</div>
</td>
<td>
<a class="btn btn-info pull-left js-action-update" data-id="{$CUSTOMER_FAMILY_ID}" data-code="{$CODE}" data-title="{$TITLE_CUSTOMER_FAMILY}" style="margin-right: 5px;">{intl l="Edit" d='customerfamily.bo.default'}</a>
<a class="btn btn-danger pull-left js-action-delete" data-id="{$CUSTOMER_FAMILY_ID}" style="margin-right: 5px;">{intl l="Delete"}</a>
</td>
</tr>
{/loop}
{/ifloop}
{elseloop rel="customer_family"}
<tr>
<td colspan="4" class="text-center">
{intl l="No family" d='customerfamily.bo.default'}
</td>
</tr>
{/elseloop}
</tbody>
<tfoot class="text-center">
<tr>
<td colspan="4">
{form name="customer.family.create.form"}
<form action="{url path="/admin/module/CustomerFamily/create"}" method="POST" class="form-inline">
{if $form_error}
<div class="alert alert-danger">{$form_error_message}</div
{/if}
{form_hidden_fields form=$form}
{form_field form=$form field="locale"}
<input type="hidden" name="{$name}" value="{$edit_language_locale}" />
{/form_field}
{form_field form=$form field="code"}
<div class="form-group{if $error} has-error{/if}">
<input class="form-control" type="text" required placeholder="{$label}" name="{$name}" value="{$value}" />
</div>
{/form_field}
{form_field form=$form field="title"}
<div class="form-group{if $error} has-error{/if}">
<input class="form-control" type="text" required placeholder="{$label}" name="{$name}" value="{$value}" />
</div>
{/form_field}
<div class="form-group">
<button type="submit" class="btn btn-primary js-action-create">{intl l="Add"}</button>
</div>
</form>
{/form}
</td>
</tr>
</tfoot>
</table>
</div>
</div>
{form name="customer.family.delete.form"}
<div class="modal js-modal-delete" tabindex="-1" role="dialog" aria-labelledby="Delete family" aria-hidden="true">
<div class="modal-dialog">
<form action="" method="POST">
{form_hidden_fields form=$form}
<div class="modal-content">
<div class="modal-body">
{intl l="Do you really want to delete this customer family ?" d='customerfamily.bo.default'}
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{intl l="No"}</button>
<button type="submit" type="button" class="btn btn-danger js-action-delete-confirm">{intl l="Yes"}</button>
</div>
</div>
</form>
</div>
</div>
{/form}
{form name="customer.family.update.form"}
<div class="modal js-modal-update" tabindex="-1" role="dialog" aria-labelledby="Update family" aria-hidden="true">
<div class="modal-dialog">
<form action="" method="POST">
{form_hidden_fields form=$form}
<div class="modal-content">
<div class="modal-body">
{form_field form=$form field="locale"}
<input type="hidden" name="{$name}" value="{$edit_language_locale}" />
{/form_field}
{form_field form=$form field="code"}
<div class="form-group{if $error} has-error{/if}">
<label>{$label}</label>
<input class="form-control js-field-code" type="text" required placeholder="{$label}" name="{$name}" value="{$value}" />
</div>
{/form_field}
{form_field form=$form field="title"}
<div class="form-group{if $error} has-error{/if}">
<label>{$label}</label>
<input class="form-control js-field-title" type="text" required placeholder="{$label}" name="{$name}" value="{$value}" />
</div>
{/form_field}
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{intl l="Cancel"}</button>
<button type="submit" type="button" class="btn btn-primary js-action-delete-confirm">{intl l="Update"}</button>
</div>
</div>
</form>
</div>
</div>
{/form}
<div>
{form name="customer_family_price_mode"}
<form action="{url path="/admin/CustomerFamily/selectPriceMode"}" method="post">
{form_hidden_fields form=$form}
{form_field form=$form field="price_mode"}
<input type="checkbox" name="{$name}" id="{$name}" value="{$value}" {if $checked}checked{/if} onchange="this.form.submit()">
<label for="{$name}">{$label}</label>
{/form_field}
<div class="help-block">
<span>{$label_attr.help}</span>
</div>
</form>
{/form}
</div>
</div>
<!-- Prices definition tab -->
<div id="prices_definition" class="tab-pane form-container">
<br>
<!-- Configure prices equation -->
<div class="row">
<div class="col-md-12">
<h4 class="text-center">
{intl l="Define if your prices are the products' ones or if they are calculated by the equation with your parameters." d='customerfamily.bo.default'}
</h4>
<h4 class="text-center">
{intl l="Not using the equation will display the fix product price to customers." d='customerfamily.bo.default'}
</h4>
<h3 class="text-center">
{intl l='Equation: ( ( product_purchase_price + fix_amount_1 ) x factor ) + fix_amount_2' d='customerfamily.bo.default'}
</h3>
<br>
<table class="table table-striped">
<thead>
<tr>
<th>{intl l='Customer family' d='customerfamily.bo.default'}</th>
<th>{intl l='Use equation' d='customerfamily.bo.default'}</th>
<th>{intl l='Fix amount 1' d='customerfamily.bo.default'}</th>
<th>{intl l='Factor' d='customerfamily.bo.default'}</th>
<th>{intl l='Fix amount 2' d='customerfamily.bo.default'}</th>
<th>{intl l='Show taxes' d='customerfamily.bo.default'}<br>{intl l='(need specific integration)' d='customerfamily.bo.default'}</th>
<th>{intl l='Save' d='customerfamily.bo.default'}</th>
</tr>
</thead>
<tbody>
{loop type='customer_family' name='customerfamily_loop'}
{assign var='amount_added_before' value=0}
{assign var='coefficient' value=1}
{assign var='amount_added_after' value=0}
{assign var='is_taxed' value=1}
{assign var='use_equation' value=0}
<!-- Standard price equation -->
<tr>
{form name='customer_family_price_update'}
<form action="{url path='/admin/module/CustomerFamily/update-price-calculation'}" method="post">
{form_hidden_fields form=$form}
{form_field form=$form field='promo'}
<input type="hidden" name="{$name}" value="0">
{/form_field}
{loop type='customer_family_price' name='customer_family_price_loop' promo=0 customer_family_id=$CUSTOMER_FAMILY_ID}
{assign var='amount_added_before' value=$AMOUNT_ADDED_BEFORE}
{assign var='coefficient' value=$COEFFICIENT}
{assign var='amount_added_after' value=$AMOUNT_ADDED_AFTER}
{assign var='is_taxed' value=$IS_TAXED}
{assign var='use_equation' value=$USE_EQUATION}
{/loop}
<td>
{$TITLE_CUSTOMER_FAMILY}
{form_field form=$form field="customer_family_id"}
<input type="hidden" name="{$name}" value="{$CUSTOMER_FAMILY_ID}">
{/form_field}
</td>
<td>
{form_field form=$form field="use_equation"}
<input type="checkbox" name="{$name}" {if $use_equation}checked{/if}>
{/form_field}
</td>
<td>
{form_field form=$form field="amount_added_before"}
<input type="number" name="{$name}" maxlength="16" step="any" value="{$amount_added_before}" class="form-control">
{/form_field}
</td>
<td>
{form_field form=$form field="coefficient"}
<input type="number" name="{$name}" maxlength="16" step="any" value="{$coefficient}" class="form-control">
{/form_field}
</td>
<td>
{form_field form=$form field="amount_added_after"}
<input type="number" name="{$name}" maxlength="16" step="any" value="{$amount_added_after}" class="form-control">
{/form_field}
</td>
<td>
{form_field form=$form field="is_taxed"}
<input type="checkbox" name="{$name}" {if $is_taxed}checked{/if}>
{/form_field}
</td>
<td>
<button type="submit" class="btn btn-primary"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span></button>
</td>
</form>
{/form}
</tr>
{assign var='amount_added_before' value=0}
{assign var='coefficient' value=1}
{assign var='amount_added_after' value=0}
{assign var='is_taxed' value=1}
{assign var='use_equation' value=0}
<!-- Promo price equation -->
<tr>
{form name='customer_family_price_update'}
<form action="{url path='/admin/module/CustomerFamily/update-price-calculation'}" method="post">
{form_hidden_fields form=$form}
{form_field form=$form field='promo'}
<input type="hidden" name="{$name}" value="1">
{/form_field}
{loop type='customer_family_price' name='customer_family_price_promo_loop' promo=1 customer_family_id=$CUSTOMER_FAMILY_ID}
{assign var='amount_added_before' value=$AMOUNT_ADDED_BEFORE}
{assign var='coefficient' value=$COEFFICIENT}
{assign var='amount_added_after' value=$AMOUNT_ADDED_AFTER}
{assign var='is_taxed' value=$IS_TAXED}
{assign var='use_equation' value=$USE_EQUATION}
{/loop}
<td>
{$TITLE_CUSTOMER_FAMILY} - {intl l='Promo' d='customerfamily.bo.default'}
{form_field form=$form field="customer_family_id"}
<input type="hidden" name="{$name}" value="{$CUSTOMER_FAMILY_ID}">
{/form_field}
</td>
<td>
{form_field form=$form field="use_equation"}
<input type="checkbox" name="{$name}" {if $use_equation}checked{/if}>
{/form_field}
</td>
<td>
{form_field form=$form field="amount_added_before"}
<input type="number" name="{$name}" maxlength="16" step="any" value="{$amount_added_before}" class="form-control">
{/form_field}
</td>
<td>
{form_field form=$form field="coefficient"}
<input type="number" name="{$name}" maxlength="16" step="any" value="{$coefficient}" class="form-control">
{/form_field}
</td>
<td>
{form_field form=$form field="amount_added_after"}
<input type="number" name="{$name}" maxlength="16" step="any" value="{$amount_added_after}" class="form-control">
{/form_field}
</td>
<td>
{form_field form=$form field="is_taxed"}
<input type="checkbox" name="{$name}" {if $is_taxed}checked{/if}>
{/form_field}
</td>
<td>
<button type="submit" class="btn btn-primary"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span></button>
</td>
</form>
{/form}
</tr>
{/loop}
</tbody>
</table>
</div>
</div>
</div>
<div id="category_restrictions" class="tab-pane form-container">
<div class="row">
{loop type='customer_family' name='customerfamily_loop'}
<div class="col-md-12 general-block-decorator">
<form method="post" action="{url path="/admin/module/CustomerFamily/category_restriction/%customerFamilyId" customerFamilyId=$CUSTOMER_FAMILY_ID}">
<div class="title title-without-tabs">
{$TITLE_CUSTOMER_FAMILY}
</div>
<label for="category_restriction_{$CUSTOMER_FAMILY_ID}">
<input name="restriction_enabled" class="restriction_toggler" id="category_restriction_{$CUSTOMER_FAMILY_ID}" type="checkbox" {if $CATEGORY_RESTRICTION_ENABLED}checked{/if}>
<span>{intl l="Enable category restriction for this customer family" d='customerfamily.bo.default'}</span>
</label>
<div class="restriction_toggled toggled_by_category_restriction_{$CUSTOMER_FAMILY_ID}">
<p>{intl l="Choose what categories will be available for this customer family" d='customerfamily.bo.default'}</p>
<select class="form-control" name="available_categories[]" id="" multiple>
{foreach from=$categoryRestrictions[$CUSTOMER_FAMILY_ID] item=categoryRestriction}
<option value="{$categoryRestriction.id}" {if $categoryRestriction.available}selected{/if}>{$categoryRestriction.title}</option>
{/foreach}
</select>
</div>
<input type="submit" class="btn-block btn btn-success"/>
</form>
</div>
{/loop}
</div>
</div>
<div id="brand_restrictions" class="tab-pane form-container">
<div class="row">
{loop type='customer_family' name='customerfamily_loop'}
<div class="col-md-12 general-block-decorator">
<form method="post" action="{url path="/admin/module/CustomerFamily/brand_restriction/%customerFamilyId" customerFamilyId=$CUSTOMER_FAMILY_ID}">
<div class="title title-without-tabs">
{$TITLE_CUSTOMER_FAMILY}
</div>
<label for="brand_restriction_{$CUSTOMER_FAMILY_ID}">
<input name="restriction_enabled" class="restriction_toggler" id="brand_restriction_{$CUSTOMER_FAMILY_ID}" type="checkbox" {if $BRAND_RESTRICTION_ENABLED}checked{/if}>
<span>{intl l="Enable brand restriction for this customer family" d='customerfamily.bo.default'}</span>
</label>
<div class="restriction_toggled toggled_by_brand_restriction_{$CUSTOMER_FAMILY_ID}">
<p>{intl l="Choose what brands will be available for this customer family" d='customerfamily.bo.default'}</p>
<select class="form-control" name="available_categories[]" id="" multiple>
{foreach from=$brandRestrictions[$CUSTOMER_FAMILY_ID] item=brandRestriction}
<option value="{$brandRestriction.id}" {if $brandRestriction.available}selected{/if}>{$brandRestriction.title}</option>
{/foreach}
</select>
</div>
<input type="submit" class="btn-block btn btn-success"/>
</form>
</div>
{/loop}
</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal fade" id="update-default-family-failed" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h3>{intl l="An error occured" d='customerfamily.bo.default'}</h3>
</div>
<div class="modal-body" id="update-default-family-failed-body">
</div>
</div>
</div>
</div>
{/block}
{block name="javascript-initialization"}
<script>
$('.restriction_toggler').each(function () {
triggerRestrictionToggler($(this));
});
$('.restriction_toggler').on('change', function () {
triggerRestrictionToggler($(this));
});
function triggerRestrictionToggler(restrictionToggler) {
var toggled = $('.toggled_by_'+restrictionToggler.attr('id'));
if (restrictionToggler.is(":checked")) {
toggled.show();
} else {
toggled.hide();
}
}
</script>
{/block}

View File

@@ -12,6 +12,10 @@
}
$(document).on('change', '#quantity', function() {
var $hasDigressivePrice = ($('#has-digressive-price').val() === 'true');
if (!$hasDigressivePrice) return;
var $form = $(this).closest('form');
$.ajax({
url: "{url path="/digressive-price-update"}",
@@ -36,6 +40,6 @@
});
});
$('#quantity').change();
// $('#quantity').change();
});
</script>

View File

@@ -1,340 +1,340 @@
<?php
/********************************
* The following commented code can be uncommented if you wish
* to quickly find information about your system's MIME setup.
*
* Simply remove the "REMOVE ME TO TEST" lines below to have
* the code run when this file runs.
*
* In addition to these tests, you'll find some commented code
* at the bottom of the file that can be used to test the
* function.
*
* Run the code with this command:
* php mime_type_lib.php
********************************/
/* REMOVE ME TO TEST
echo "magicfile: " . ini_get( 'mime_magic.magicfile' ) . "\n";
if ( function_exists( 'finfo_open' ) )
echo "Found finfo_open function\n";
else
echo "Did not find finfo_open function\n";
if ( function_exists( 'mime_content_type' ) )
echo "Found mime_content_type function\n";
else
echo "Did not find mime_content_type function\n";
REMOVE ME TO TEST */
$mime_types = array(
'ai' => 'application/postscript',
'aif' => 'audio/x-aiff',
'aifc' => 'audio/x-aiff',
'aiff' => 'audio/x-aiff',
'asc' => 'text/plain',
'asf' => 'video/x-ms-asf',
'asx' => 'video/x-ms-asf',
'au' => 'audio/basic',
'avi' => 'video/x-msvideo',
'bcpio' => 'application/x-bcpio',
'bin' => 'application/octet-stream',
'bmp' => 'image/bmp',
'bz2' => 'application/x-bzip2',
'cdf' => 'application/x-netcdf',
'chrt' => 'application/x-kchart',
'class' => 'application/octet-stream',
'cpio' => 'application/x-cpio',
'cpt' => 'application/mac-compactpro',
'csh' => 'application/x-csh',
'css' => 'text/css',
'dcr' => 'application/x-director',
'dir' => 'application/x-director',
'djv' => 'image/vnd.djvu',
'djvu' => 'image/vnd.djvu',
'dll' => 'application/octet-stream',
'dms' => 'application/octet-stream',
'dvi' => 'application/x-dvi',
'dwg' => 'image/vnd.dwg',
'dxr' => 'application/x-director',
'eps' => 'application/postscript',
'etx' => 'text/x-setext',
'exe' => 'application/octet-stream',
'ez' => 'application/andrew-inset',
'flv' => 'video/x-flv',
'gif' => 'image/gif',
'gtar' => 'application/x-gtar',
'gz' => 'application/x-gzip',
'hdf' => 'application/x-hdf',
'hqx' => 'application/mac-binhex40',
'htm' => 'text/html',
'html' => 'text/html',
'ice' => 'x-conference/x-cooltalk',
'ief' => 'image/ief',
'iges' => 'model/iges',
'igs' => 'model/iges',
'img' => 'application/octet-stream',
'iso' => 'application/octet-stream',
'jad' => 'text/vnd.sun.j2me.app-descriptor',
'jar' => 'application/x-java-archive',
'jnlp' => 'application/x-java-jnlp-file',
'jpe' => 'image/jpeg',
'jpeg' => 'image/jpeg',
'jpg' => 'image/jpeg',
'js' => 'application/x-javascript',
'kar' => 'audio/midi',
'kil' => 'application/x-killustrator',
'kpr' => 'application/x-kpresenter',
'kpt' => 'application/x-kpresenter',
'ksp' => 'application/x-kspread',
'kwd' => 'application/x-kword',
'kwt' => 'application/x-kword',
'kml' => 'application/vnd.google-earth.kml+xml',
'kmz' => 'application/vnd.google-earth.kmz',
'latex' => 'application/x-latex',
'lha' => 'application/octet-stream',
'lzh' => 'application/octet-stream',
'm3u' => 'audio/x-mpegurl',
'man' => 'application/x-troff-man',
'me' => 'application/x-troff-me',
'mesh' => 'model/mesh',
'mid' => 'audio/midi',
'midi' => 'audio/midi',
'mif' => 'application/vnd.mif',
'mov' => 'video/quicktime',
'movie' => 'video/x-sgi-movie',
'mp2' => 'audio/mpeg',
'mp3' => 'audio/mpeg',
'mp4' => 'video/mp4',
'mpe' => 'video/mpeg',
'mpg' => 'video/mpeg',
'mpeg' => 'video/mpeg',
'ms' => 'application/x-troff-ms',
'msh' => 'model/mesh',
'mxu' => 'video/vnd.mpegurl',
'nc' => 'application/x-netcdf',
'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',
'ogg' => 'application/ogg',
'otg' => 'application/vnd.oasis.opendocument.graphics-template',
'oth' => 'application/vnd.oasis.opendocument.text-web',
'otp' => 'application/vnd.oasis.opendocument.presentation-template',
'ots' => 'application/vnd.oasis.opendocument.spreadsheet-template',
'ott' => 'application/vnd.oasis.opendocument.text-template',
'pbm' => 'image/x-portable-bitmap',
'pdb' => 'chemical/x-pdb',
'pdf' => 'application/pdf',
'pgm' => 'image/x-portable-graymap',
'pgn' => 'application/x-chess-pgn',
'php' => 'text/x-php',
'png' => 'image/png',
'pnm' => 'image/x-portable-anymap',
'ppm' => 'image/x-portable-pixmap',
'ppt' => 'application/vnd.ms-powerpoint',
'ps' => 'application/postscript',
'qt' => 'video/quicktime',
'ra' => 'audio/x-realaudio',
'ram' => 'audio/x-pn-realaudio',
'ras' => 'image/x-cmu-raster',
'rgb' => 'image/x-rgb',
'rm' => 'audio/x-pn-realaudio',
'roff' => 'application/x-troff',
'rpm' => 'application/x-rpm',
'rtf' => 'text/rtf',
'rtx' => 'text/richtext',
'sgm' => 'text/sgml',
'sgml' => 'text/sgml',
'sh' => 'application/x-sh',
'shar' => 'application/x-shar',
'silo' => 'model/mesh',
'sis' => 'application/vnd.symbian.install',
'sit' => 'application/x-stuffit',
'skd' => 'application/x-koan',
'skm' => 'application/x-koan',
'skp' => 'application/x-koan',
'skt' => 'application/x-koan',
'smi' => 'application/smil',
'smil' => 'application/smil',
'snd' => 'audio/basic',
'svg' => 'image/svg+xml',
'so' => 'application/octet-stream',
'spl' => 'application/x-futuresplash',
'src' => 'application/x-wais-source',
'stc' => 'application/vnd.sun.xml.calc.template',
'std' => 'application/vnd.sun.xml.draw.template',
'sti' => 'application/vnd.sun.xml.impress.template',
'stw' => 'application/vnd.sun.xml.writer.template',
'sv4cpio' => 'application/x-sv4cpio',
'sv4crc' => 'application/x-sv4crc',
'swf' => 'application/x-shockwave-flash',
'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',
't' => 'application/x-troff',
'tar' => 'application/x-tar',
'tcl' => 'application/x-tcl',
'tex' => 'application/x-tex',
'texi' => 'application/x-texinfo',
'texinfo' => 'application/x-texinfo',
'tgz' => 'application/x-gzip',
'tif' => 'image/tiff',
'tiff' => 'image/tiff',
'torrent' => 'application/x-bittorrent',
'tr' => 'application/x-troff',
'tsv' => 'text/tab-separated-values',
'txt' => 'text/plain',
'ustar' => 'application/x-ustar',
'vcd' => 'application/x-cdlink',
'vrml' => 'model/vrml',
'wav' => 'audio/x-wav',
'wax' => 'audio/x-ms-wax',
'wbmp' => 'image/vnd.wap.wbmp',
'wbxml' => 'application/vnd.wap.wbxml',
'wm' => 'video/x-ms-wm',
'wma' => 'audio/x-ms-wma',
'wml' => 'text/vnd.wap.wml',
'wmlc' => 'application/vnd.wap.wmlc',
'wmls' => 'text/vnd.wap.wmlscript',
'wmlsc' => 'application/vnd.wap.wmlscriptc',
'wmv' => 'video/x-ms-wmv',
'wmx' => 'video/x-ms-wmx',
'wrl' => 'model/vrml',
'wvx' => 'video/x-ms-wvx',
'xbm' => 'image/x-xbitmap',
'xht' => 'application/xhtml+xml',
'xhtml' => 'application/xhtml+xml',
'xml' => 'text/xml',
'xml' => 'application/xml',
'xpm' => 'image/x-xpixmap',
'xsl' => 'text/xsl',
'xwd' => 'image/x-xwindowdump',
'xyz' => 'chemical/x-xyz',
'zip' => 'application/zip',
'doc' => 'application/msword',
'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
'dotx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.template',
'docm' => 'application/vnd.ms-word.document.macroEnabled.12',
'xls' => 'application/vnd.ms-excel',
'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
'xltx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.template',
'xlsm' => 'application/vnd.ms-excel.sheet.macroEnabled.12',
'xltm' => 'application/vnd.ms-excel.template.macroEnabled.12',
'xlam' => 'application/vnd.ms-excel.addin.macroEnabled.12',
'xlsb' => 'application/vnd.ms-excel.sheet.binary.macroEnabled.12',
'ppt' => 'application/vnd.ms-powerpoint',
'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
'potx' => 'application/vnd.openxmlformats-officedocument.presentationml.template',
'ppsx' => 'application/vnd.openxmlformats-officedocument.presentationml.slideshow',
'ppam' => 'application/vnd.ms-powerpoint.addin.macroEnabled.12',
'pptm' => 'application/vnd.ms-powerpoint.presentation.macroEnabled.12',
'potm' => 'application/vnd.ms-powerpoint.template.macroEnabled.12',
'ppsm' => 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12',
);
if ( ! function_exists('get_extension_from_mime'))
{
function get_extension_from_mime($mime){
global $mime_types;
if(strpos($mime, ';')!==FALSE){
$mime = substr($mime, 0,strpos($mime, ';'));
}
$mime_types_conv = array_flip($mime_types);
if(isset($mime_types_conv[$mime])){
return $mime_types_conv[$mime];
}
return '';
}
}
if ( ! function_exists('get_file_mime_type'))
{
function get_file_mime_type($filename, $debug = false)
{
if (function_exists('finfo_open') && function_exists('finfo_file') && function_exists('finfo_close'))
{
$fileinfo = finfo_open(FILEINFO_MIME_TYPE);
$mime_type = finfo_file($fileinfo, $filename);
finfo_close($fileinfo);
if ( ! empty($mime_type))
{
if (true === $debug)
{
return array( 'mime_type' => $mime_type, 'method' => 'fileinfo' );
}
return $mime_type;
}
}
if (function_exists('mime_content_type'))
{
$mime_type = mime_content_type($filename);
if ( ! empty($mime_type))
{
if (true === $debug)
{
return array( 'mime_type' => $mime_type, 'method' => 'mime_content_type' );
}
return $mime_type;
}
}
global $mime_types;
$tmp_array = explode('.', $filename);
$ext = strtolower(array_pop($tmp_array));
if ( ! empty($mime_types[ $ext ]))
{
if (true === $debug)
{
return array( 'mime_type' => $mime_types[ $ext ], 'method' => 'from_array' );
}
return $mime_types[ $ext ];
}
if (true === $debug)
{
return array( 'mime_type' => 'application/octet-stream', 'method' => 'last_resort' );
}
return 'application/octet-stream';
}
}
/********************
* The following code can be used to test the function.
* First put a plain text file named "test.txt" and a
* JPEG image file named "image.jpg" in the same folder
* as this file.
*
* Simply remove the "REMOVE ME TO TEST" lines below to have
* the code run when this file runs.
*
* Run the code with this command:
* php mime_type_lib.php
********************/
/* REMOVE ME TO TEST
echo get_file_mime_type( 'test.txt' ) . "\n";
echo print_r( get_file_mime_type( 'image.jpg', true ), true ) . "\n";
REMOVE ME TO TEST */
<?php
/********************************
* The following commented code can be uncommented if you wish
* to quickly find information about your system's MIME setup.
*
* Simply remove the "REMOVE ME TO TEST" lines below to have
* the code run when this file runs.
*
* In addition to these tests, you'll find some commented code
* at the bottom of the file that can be used to test the
* function.
*
* Run the code with this command:
* php mime_type_lib.php
********************************/
/* REMOVE ME TO TEST
echo "magicfile: " . ini_get( 'mime_magic.magicfile' ) . "\n";
if ( function_exists( 'finfo_open' ) )
echo "Found finfo_open function\n";
else
echo "Did not find finfo_open function\n";
if ( function_exists( 'mime_content_type' ) )
echo "Found mime_content_type function\n";
else
echo "Did not find mime_content_type function\n";
REMOVE ME TO TEST */
$mime_types = array(
'ai' => 'application/postscript',
'aif' => 'audio/x-aiff',
'aifc' => 'audio/x-aiff',
'aiff' => 'audio/x-aiff',
'asc' => 'text/plain',
'asf' => 'video/x-ms-asf',
'asx' => 'video/x-ms-asf',
'au' => 'audio/basic',
'avi' => 'video/x-msvideo',
'bcpio' => 'application/x-bcpio',
'bin' => 'application/octet-stream',
'bmp' => 'image/bmp',
'bz2' => 'application/x-bzip2',
'cdf' => 'application/x-netcdf',
'chrt' => 'application/x-kchart',
'class' => 'application/octet-stream',
'cpio' => 'application/x-cpio',
'cpt' => 'application/mac-compactpro',
'csh' => 'application/x-csh',
'css' => 'text/css',
'dcr' => 'application/x-director',
'dir' => 'application/x-director',
'djv' => 'image/vnd.djvu',
'djvu' => 'image/vnd.djvu',
'dll' => 'application/octet-stream',
'dms' => 'application/octet-stream',
'dvi' => 'application/x-dvi',
'dwg' => 'image/vnd.dwg',
'dxr' => 'application/x-director',
'eps' => 'application/postscript',
'etx' => 'text/x-setext',
'exe' => 'application/octet-stream',
'ez' => 'application/andrew-inset',
'flv' => 'video/x-flv',
'gif' => 'image/gif',
'gtar' => 'application/x-gtar',
'gz' => 'application/x-gzip',
'hdf' => 'application/x-hdf',
'hqx' => 'application/mac-binhex40',
'htm' => 'text/html',
'html' => 'text/html',
'ice' => 'x-conference/x-cooltalk',
'ief' => 'image/ief',
'iges' => 'model/iges',
'igs' => 'model/iges',
'img' => 'application/octet-stream',
'iso' => 'application/octet-stream',
'jad' => 'text/vnd.sun.j2me.app-descriptor',
'jar' => 'application/x-java-archive',
'jnlp' => 'application/x-java-jnlp-file',
'jpe' => 'image/jpeg',
'jpeg' => 'image/jpeg',
'jpg' => 'image/jpeg',
'js' => 'application/x-javascript',
'kar' => 'audio/midi',
'kil' => 'application/x-killustrator',
'kpr' => 'application/x-kpresenter',
'kpt' => 'application/x-kpresenter',
'ksp' => 'application/x-kspread',
'kwd' => 'application/x-kword',
'kwt' => 'application/x-kword',
'kml' => 'application/vnd.google-earth.kml+xml',
'kmz' => 'application/vnd.google-earth.kmz',
'latex' => 'application/x-latex',
'lha' => 'application/octet-stream',
'lzh' => 'application/octet-stream',
'm3u' => 'audio/x-mpegurl',
'man' => 'application/x-troff-man',
'me' => 'application/x-troff-me',
'mesh' => 'model/mesh',
'mid' => 'audio/midi',
'midi' => 'audio/midi',
'mif' => 'application/vnd.mif',
'mov' => 'video/quicktime',
'movie' => 'video/x-sgi-movie',
'mp2' => 'audio/mpeg',
'mp3' => 'audio/mpeg',
'mp4' => 'video/mp4',
'mpe' => 'video/mpeg',
'mpg' => 'video/mpeg',
'mpeg' => 'video/mpeg',
'ms' => 'application/x-troff-ms',
'msh' => 'model/mesh',
'mxu' => 'video/vnd.mpegurl',
'nc' => 'application/x-netcdf',
'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',
'ogg' => 'application/ogg',
'otg' => 'application/vnd.oasis.opendocument.graphics-template',
'oth' => 'application/vnd.oasis.opendocument.text-web',
'otp' => 'application/vnd.oasis.opendocument.presentation-template',
'ots' => 'application/vnd.oasis.opendocument.spreadsheet-template',
'ott' => 'application/vnd.oasis.opendocument.text-template',
'pbm' => 'image/x-portable-bitmap',
'pdb' => 'chemical/x-pdb',
'pdf' => 'application/pdf',
'pgm' => 'image/x-portable-graymap',
'pgn' => 'application/x-chess-pgn',
'php' => 'text/x-php',
'png' => 'image/png',
'pnm' => 'image/x-portable-anymap',
'ppm' => 'image/x-portable-pixmap',
'ppt' => 'application/vnd.ms-powerpoint',
'ps' => 'application/postscript',
'qt' => 'video/quicktime',
'ra' => 'audio/x-realaudio',
'ram' => 'audio/x-pn-realaudio',
'ras' => 'image/x-cmu-raster',
'rgb' => 'image/x-rgb',
'rm' => 'audio/x-pn-realaudio',
'roff' => 'application/x-troff',
'rpm' => 'application/x-rpm',
'rtf' => 'text/rtf',
'rtx' => 'text/richtext',
'sgm' => 'text/sgml',
'sgml' => 'text/sgml',
'sh' => 'application/x-sh',
'shar' => 'application/x-shar',
'silo' => 'model/mesh',
'sis' => 'application/vnd.symbian.install',
'sit' => 'application/x-stuffit',
'skd' => 'application/x-koan',
'skm' => 'application/x-koan',
'skp' => 'application/x-koan',
'skt' => 'application/x-koan',
'smi' => 'application/smil',
'smil' => 'application/smil',
'snd' => 'audio/basic',
'svg' => 'image/svg+xml',
'so' => 'application/octet-stream',
'spl' => 'application/x-futuresplash',
'src' => 'application/x-wais-source',
'stc' => 'application/vnd.sun.xml.calc.template',
'std' => 'application/vnd.sun.xml.draw.template',
'sti' => 'application/vnd.sun.xml.impress.template',
'stw' => 'application/vnd.sun.xml.writer.template',
'sv4cpio' => 'application/x-sv4cpio',
'sv4crc' => 'application/x-sv4crc',
'swf' => 'application/x-shockwave-flash',
'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',
't' => 'application/x-troff',
'tar' => 'application/x-tar',
'tcl' => 'application/x-tcl',
'tex' => 'application/x-tex',
'texi' => 'application/x-texinfo',
'texinfo' => 'application/x-texinfo',
'tgz' => 'application/x-gzip',
'tif' => 'image/tiff',
'tiff' => 'image/tiff',
'torrent' => 'application/x-bittorrent',
'tr' => 'application/x-troff',
'tsv' => 'text/tab-separated-values',
'txt' => 'text/plain',
'ustar' => 'application/x-ustar',
'vcd' => 'application/x-cdlink',
'vrml' => 'model/vrml',
'wav' => 'audio/x-wav',
'wax' => 'audio/x-ms-wax',
'wbmp' => 'image/vnd.wap.wbmp',
'wbxml' => 'application/vnd.wap.wbxml',
'wm' => 'video/x-ms-wm',
'wma' => 'audio/x-ms-wma',
'wml' => 'text/vnd.wap.wml',
'wmlc' => 'application/vnd.wap.wmlc',
'wmls' => 'text/vnd.wap.wmlscript',
'wmlsc' => 'application/vnd.wap.wmlscriptc',
'wmv' => 'video/x-ms-wmv',
'wmx' => 'video/x-ms-wmx',
'wrl' => 'model/vrml',
'wvx' => 'video/x-ms-wvx',
'xbm' => 'image/x-xbitmap',
'xht' => 'application/xhtml+xml',
'xhtml' => 'application/xhtml+xml',
'xml' => 'text/xml',
'xml' => 'application/xml',
'xpm' => 'image/x-xpixmap',
'xsl' => 'text/xsl',
'xwd' => 'image/x-xwindowdump',
'xyz' => 'chemical/x-xyz',
'zip' => 'application/zip',
'doc' => 'application/msword',
'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
'dotx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.template',
'docm' => 'application/vnd.ms-word.document.macroEnabled.12',
'xls' => 'application/vnd.ms-excel',
'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
'xltx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.template',
'xlsm' => 'application/vnd.ms-excel.sheet.macroEnabled.12',
'xltm' => 'application/vnd.ms-excel.template.macroEnabled.12',
'xlam' => 'application/vnd.ms-excel.addin.macroEnabled.12',
'xlsb' => 'application/vnd.ms-excel.sheet.binary.macroEnabled.12',
'ppt' => 'application/vnd.ms-powerpoint',
'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
'potx' => 'application/vnd.openxmlformats-officedocument.presentationml.template',
'ppsx' => 'application/vnd.openxmlformats-officedocument.presentationml.slideshow',
'ppam' => 'application/vnd.ms-powerpoint.addin.macroEnabled.12',
'pptm' => 'application/vnd.ms-powerpoint.presentation.macroEnabled.12',
'potm' => 'application/vnd.ms-powerpoint.template.macroEnabled.12',
'ppsm' => 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12',
);
if ( ! function_exists('get_extension_from_mime'))
{
function get_extension_from_mime($mime){
global $mime_types;
if(strpos($mime, ';')!==FALSE){
$mime = substr($mime, 0,strpos($mime, ';'));
}
$mime_types_conv = array_flip($mime_types);
if(isset($mime_types_conv[$mime])){
return $mime_types_conv[$mime];
}
return '';
}
}
if ( ! function_exists('get_file_mime_type'))
{
function get_file_mime_type($filename, $debug = false)
{
if (function_exists('finfo_open') && function_exists('finfo_file') && function_exists('finfo_close'))
{
$fileinfo = finfo_open(FILEINFO_MIME_TYPE);
$mime_type = finfo_file($fileinfo, $filename);
finfo_close($fileinfo);
if ( ! empty($mime_type))
{
if (true === $debug)
{
return array( 'mime_type' => $mime_type, 'method' => 'fileinfo' );
}
return $mime_type;
}
}
if (function_exists('mime_content_type'))
{
$mime_type = mime_content_type($filename);
if ( ! empty($mime_type))
{
if (true === $debug)
{
return array( 'mime_type' => $mime_type, 'method' => 'mime_content_type' );
}
return $mime_type;
}
}
global $mime_types;
$tmp_array = explode('.', $filename);
$ext = strtolower(array_pop($tmp_array));
if ( ! empty($mime_types[ $ext ]))
{
if (true === $debug)
{
return array( 'mime_type' => $mime_types[ $ext ], 'method' => 'from_array' );
}
return $mime_types[ $ext ];
}
if (true === $debug)
{
return array( 'mime_type' => 'application/octet-stream', 'method' => 'last_resort' );
}
return 'application/octet-stream';
}
}
/********************
* The following code can be used to test the function.
* First put a plain text file named "test.txt" and a
* JPEG image file named "image.jpg" in the same folder
* as this file.
*
* Simply remove the "REMOVE ME TO TEST" lines below to have
* the code run when this file runs.
*
* Run the code with this command:
* php mime_type_lib.php
********************/
/* REMOVE ME TO TEST
echo get_file_mime_type( 'test.txt' ) . "\n";
echo print_r( get_file_mime_type( 'image.jpg', true ), true ) . "\n";
REMOVE ME TO TEST */

View File

@@ -1,295 +1,295 @@
/*
* jPlayer Plugin for jQuery JavaScript Library
* http://www.jplayer.org
*
* Copyright (c) 2009 - 2013 Happyworm Ltd
* Licensed under the MIT license.
* http://opensource.org/licenses/MIT
*
* Author: Robert M. Hall
* Date: 7th August 2012
* Custom NetConnection Manager for more robust RTMP support
* Based in part on work by Will Law for the old Akamai NCManager.as
* and some of Will's new work in the OVP base classes (Open Video Player)
* as well as similar approaches by many other NetConnection managers
*
*/
/*
TODO LIST 08/18/2011:
1. Wired up errors to dispatch events to Jplayer events to allow them to bubble up to JS
2. Rework event dispatch to handoff netconnection instead of a passed in reference
3. Allow a customizeable list of protocols and ports to be used instead of entire list
4. Allow a specific port/protocol (1 connect type) to be used first, and then optionally fallback on a custom list or the default list
5. Remove some traces and check a few other items below where I've made notes
*/
package happyworm.jPlayer {
import flash.events.*;
import flash.net.*;
import flash.utils.Timer;
import flash.utils.getTimer;
import flash.utils.clearInterval;
import flash.utils.setInterval;
public class ConnectManager extends Object {
private var protocols_arr:Array = new Array("rtmp","rtmpt","rtmpe","rtmpte","rtmps");
private var ports_arr:Array = new Array("",":1935",":80",":443");
private const protCount:Number = 5;
private const portCount:Number = 4;
private var _ncRef:Object;
private var _aNC:Array;
private var k_TIMEOUT:Number = 30000;
private var k_startConns:Number;
private var m_connList:Array = [];
private var m_serverName:String;
private var m_appName:String;
private var m_streamName:String;
private var m_connListCounter:Number;
private var m_flashComConnectTimeOut:Number;
private var m_validNetConnection:NetConnection;
private var connectSuccess:Boolean=false;
private var negotiating:Boolean=false;
private var idleTimeOut:Boolean=false;
public function ConnectManager() {
trace ("ConnectManager Initialized Version: 1.00 DT");
createPortsProtocolsArray();
}
private function createPortsProtocolsArray():void {
var outerLoop:Number=0;
var innerLoop:Number=0;
for (outerLoop=0; outerLoop<protocols_arr.length; outerLoop++) {
for (innerLoop=0; innerLoop<ports_arr.length; innerLoop++) {
m_connList.push( { protocol: protocols_arr[outerLoop], port: ports_arr[innerLoop] } );
}
}
}
public function negotiateConnect(ncRef:Object,p_serverName:String,p_appName:String):void
{
negotiating=true;
_ncRef=ncRef;
trace("*** SERVER NAME: "+p_serverName);
trace("*** APP NAME: "+p_serverName);
k_startConns = getTimer();
m_serverName = p_serverName;
m_appName = p_appName;
// Set a timeout function, just in case we never connect successfully
clearInterval(m_flashComConnectTimeOut);
m_flashComConnectTimeOut = setInterval(onFlashComConnectTimeOut,k_TIMEOUT,k_TIMEOUT);
// Createe a NetConnection for each of the protocols/ports listed in the m_connList list.
// Connection attempts occur at intervals of 1.5 seconds.
// The first connection to succeed will be used, all the others will be closed.
_aNC = new Array();
for (var i:uint = 0; i < m_connList.length; i++)
{
_aNC[i] = new NetConnection();
_aNC[i].addEventListener(NetStatusEvent.NET_STATUS,netStatus);
_aNC[i].addEventListener(SecurityErrorEvent.SECURITY_ERROR,netSecurityError);
_aNC[i].addEventListener(AsyncErrorEvent.ASYNC_ERROR,asyncError);
_aNC[i].client = new Object;
_aNC[i].client.owner = this;
_aNC[i].client.connIndex = i;
_aNC[i].client.id = i;
_aNC[i].client.pending = true;
/* Revisit this chunk - not needed at the moment as NC is handed off and this
// is handled elsewhere
// Need to put in some event dispatching as a more elegant solution and leave it here
_aNC[i].client.onBWDone = function (p_bw, deltaDown, deltaTime, latency) {
//this.owner.dispatchEvent ({type:"ncBandWidth", kbps:p_bw, latency:latency});
};
_aNC[i].client.onBWCheck = function (counter) {
return ++counter;
};
_aNC[i].client.onStatus = function (info) {
//
};
*/
}
m_connListCounter = 0;
nextConnect ();
}
private function nextConnect():void
{
trace("*** Connection: "+ m_connListCounter + ": "+m_connList[m_connListCounter].protocol + "://" + m_serverName + m_connList[m_connListCounter].port + "/" + m_appName);
try {
_aNC[m_connListCounter].connect(m_connList[m_connListCounter].protocol + "://" + m_serverName + m_connList[m_connListCounter].port + "/" + m_appName);
} catch (error:Error) {
// statements
trace("*** Caught an error condition: "+error);
m_connListCounter = m_connList.length+1;
}
// statements
clearInterval(_aNC["ncInt" + m_connListCounter]);
if ((m_connListCounter < m_connList.length - 1))
{
m_connListCounter++;
_aNC["ncInt" + m_connListCounter] = setInterval(nextConnect,1500);
}
}
// Cleans up all connections if none have succeeded by the timeout interval
private function onFlashComConnectTimeOut(timeout:Number):void
{
stopAll();
}
private function handleGoodConnect(_nc:NetConnection):void {
negotiating=false;
trace("Handing OFF NetConnection");
clearInterval(m_flashComConnectTimeOut);
_ncRef.connectStream();
_ncRef.onBWDone(null,_nc);
//dispatchEvent(event);
// Need to enable and pass to Jplayer event system- revisit
// right now handing back a hardcoded reference that is passed in
// Should come up with a more loosely coupled way via event dispatch
}
public function getNegotiating():Boolean {
return negotiating;
}
public function setNegotiating(bool:Boolean):void {
negotiating=bool;
}
public function stopAll(bool:Boolean=false):void {
//this.dispatchEvent ({type:"ncFailedToConnect", timeout:timeout});
// Need to enable and pass to Jplayer event system- revisit
// trace(_aNC+":"+m_flashComConnectTimeOut+":"+m_connList.length)
if(_aNC!=null && !isNaN(m_flashComConnectTimeOut) ) {
clearInterval(m_flashComConnectTimeOut);
for (var i:uint = 0; i < m_connList.length; i++)
{
if (_aNC[i]!=null)
{
clearInterval(_aNC["ncInt" + i]);
_aNC[i].close();
if(bool==false) {
_aNC[i].client = null;
}
_aNC[i] = null;
delete _aNC[i];
}
}
}
}
private function netStatus(event:NetStatusEvent):void {
trace(event.info.code);
if(event.info.description != undefined) {
trace(event.info.description);
}
_aNC[event.target.client.id].client.pending = true;
// this.owner.m_validNetConnection = this.client.owner[this.client.connIndex];
// if (info.description == "[ License.Limit.Exceeded ]") {
switch (event.info.code) {
case "NetConnection.Connect.IdleTimeOut":
trace("IDLE TIMEOUT OCCURRED!")
negotiating=true;
idleTimeOut=true;
_ncRef.shutDownNcNs();
break;
case "NetConnection.Connect.Closed":
if(!negotiating && !idleTimeOut) {
idleTimeOut = false;
_ncRef.doneYet();
}
break;
case "NetConnection.Connect.InvalidApp":
case "NetConnection.Connect.Rejected":
//handleRejectedOrInvalid(event)
break;
case "NetConnection.Call.Failed":
/*
if (event.info.description.indexOf("_checkbw") != -1) {
event.target.expectBWDone = true;
event.target.call("checkBandwidth",null);
}
*/
break;
case "NetConnection.Connect.Success":
var i:uint=0;
for ( i = 0; i<_aNC.length; i++) {
if (_aNC[i] && (i != event.target.client.id)) {
_aNC[i].close();
_aNC[i] = null;
}
}
var _nc:NetConnection = NetConnection(event.target);
var connID:Number = event.target.client.id;
var _actualPort:String = m_connList[m_connListCounter].port;
var _actualProtocol:String = m_connList[m_connListCounter].protocol;
// See if we have version info
var _serverVersion:String = "UNKNOWN";
if (event.info.data && event.info.data.version) {
_serverVersion = event.info.data.version;
}
trace("Connect ID: "+connID+" - PORT: "+_actualPort+" - PROTOCOL: "+_actualProtocol+" - FMS Version: "+_serverVersion);
clearInterval(_aNC["ncInt" + connID]);
clearInterval(_aNC["ncInt" + m_connListCounter]);
handleGoodConnect(_nc);
break;
}
}
/** Catches any netconnection net security errors
* @private
*/
private function netSecurityError(event:SecurityErrorEvent):void {
trace("SECURITY ERROR:"+event);
//dispatchEvent(event);
// Need to enable and pass to Jplayer event system- revisit
}
/** Catches any async errors
* @private
*/
private function asyncError(event:AsyncErrorEvent):void {
trace("ASYNC ERROR:"+event.error);
//dispatchEvent(event);
// Need to enable and pass to Jplayer event system- revisit
}
}// class
} //package
/*
* jPlayer Plugin for jQuery JavaScript Library
* http://www.jplayer.org
*
* Copyright (c) 2009 - 2013 Happyworm Ltd
* Licensed under the MIT license.
* http://opensource.org/licenses/MIT
*
* Author: Robert M. Hall
* Date: 7th August 2012
* Custom NetConnection Manager for more robust RTMP support
* Based in part on work by Will Law for the old Akamai NCManager.as
* and some of Will's new work in the OVP base classes (Open Video Player)
* as well as similar approaches by many other NetConnection managers
*
*/
/*
TODO LIST 08/18/2011:
1. Wired up errors to dispatch events to Jplayer events to allow them to bubble up to JS
2. Rework event dispatch to handoff netconnection instead of a passed in reference
3. Allow a customizeable list of protocols and ports to be used instead of entire list
4. Allow a specific port/protocol (1 connect type) to be used first, and then optionally fallback on a custom list or the default list
5. Remove some traces and check a few other items below where I've made notes
*/
package happyworm.jPlayer {
import flash.events.*;
import flash.net.*;
import flash.utils.Timer;
import flash.utils.getTimer;
import flash.utils.clearInterval;
import flash.utils.setInterval;
public class ConnectManager extends Object {
private var protocols_arr:Array = new Array("rtmp","rtmpt","rtmpe","rtmpte","rtmps");
private var ports_arr:Array = new Array("",":1935",":80",":443");
private const protCount:Number = 5;
private const portCount:Number = 4;
private var _ncRef:Object;
private var _aNC:Array;
private var k_TIMEOUT:Number = 30000;
private var k_startConns:Number;
private var m_connList:Array = [];
private var m_serverName:String;
private var m_appName:String;
private var m_streamName:String;
private var m_connListCounter:Number;
private var m_flashComConnectTimeOut:Number;
private var m_validNetConnection:NetConnection;
private var connectSuccess:Boolean=false;
private var negotiating:Boolean=false;
private var idleTimeOut:Boolean=false;
public function ConnectManager() {
trace ("ConnectManager Initialized Version: 1.00 DT");
createPortsProtocolsArray();
}
private function createPortsProtocolsArray():void {
var outerLoop:Number=0;
var innerLoop:Number=0;
for (outerLoop=0; outerLoop<protocols_arr.length; outerLoop++) {
for (innerLoop=0; innerLoop<ports_arr.length; innerLoop++) {
m_connList.push( { protocol: protocols_arr[outerLoop], port: ports_arr[innerLoop] } );
}
}
}
public function negotiateConnect(ncRef:Object,p_serverName:String,p_appName:String):void
{
negotiating=true;
_ncRef=ncRef;
trace("*** SERVER NAME: "+p_serverName);
trace("*** APP NAME: "+p_serverName);
k_startConns = getTimer();
m_serverName = p_serverName;
m_appName = p_appName;
// Set a timeout function, just in case we never connect successfully
clearInterval(m_flashComConnectTimeOut);
m_flashComConnectTimeOut = setInterval(onFlashComConnectTimeOut,k_TIMEOUT,k_TIMEOUT);
// Createe a NetConnection for each of the protocols/ports listed in the m_connList list.
// Connection attempts occur at intervals of 1.5 seconds.
// The first connection to succeed will be used, all the others will be closed.
_aNC = new Array();
for (var i:uint = 0; i < m_connList.length; i++)
{
_aNC[i] = new NetConnection();
_aNC[i].addEventListener(NetStatusEvent.NET_STATUS,netStatus);
_aNC[i].addEventListener(SecurityErrorEvent.SECURITY_ERROR,netSecurityError);
_aNC[i].addEventListener(AsyncErrorEvent.ASYNC_ERROR,asyncError);
_aNC[i].client = new Object;
_aNC[i].client.owner = this;
_aNC[i].client.connIndex = i;
_aNC[i].client.id = i;
_aNC[i].client.pending = true;
/* Revisit this chunk - not needed at the moment as NC is handed off and this
// is handled elsewhere
// Need to put in some event dispatching as a more elegant solution and leave it here
_aNC[i].client.onBWDone = function (p_bw, deltaDown, deltaTime, latency) {
//this.owner.dispatchEvent ({type:"ncBandWidth", kbps:p_bw, latency:latency});
};
_aNC[i].client.onBWCheck = function (counter) {
return ++counter;
};
_aNC[i].client.onStatus = function (info) {
//
};
*/
}
m_connListCounter = 0;
nextConnect ();
}
private function nextConnect():void
{
trace("*** Connection: "+ m_connListCounter + ": "+m_connList[m_connListCounter].protocol + "://" + m_serverName + m_connList[m_connListCounter].port + "/" + m_appName);
try {
_aNC[m_connListCounter].connect(m_connList[m_connListCounter].protocol + "://" + m_serverName + m_connList[m_connListCounter].port + "/" + m_appName);
} catch (error:Error) {
// statements
trace("*** Caught an error condition: "+error);
m_connListCounter = m_connList.length+1;
}
// statements
clearInterval(_aNC["ncInt" + m_connListCounter]);
if ((m_connListCounter < m_connList.length - 1))
{
m_connListCounter++;
_aNC["ncInt" + m_connListCounter] = setInterval(nextConnect,1500);
}
}
// Cleans up all connections if none have succeeded by the timeout interval
private function onFlashComConnectTimeOut(timeout:Number):void
{
stopAll();
}
private function handleGoodConnect(_nc:NetConnection):void {
negotiating=false;
trace("Handing OFF NetConnection");
clearInterval(m_flashComConnectTimeOut);
_ncRef.connectStream();
_ncRef.onBWDone(null,_nc);
//dispatchEvent(event);
// Need to enable and pass to Jplayer event system- revisit
// right now handing back a hardcoded reference that is passed in
// Should come up with a more loosely coupled way via event dispatch
}
public function getNegotiating():Boolean {
return negotiating;
}
public function setNegotiating(bool:Boolean):void {
negotiating=bool;
}
public function stopAll(bool:Boolean=false):void {
//this.dispatchEvent ({type:"ncFailedToConnect", timeout:timeout});
// Need to enable and pass to Jplayer event system- revisit
// trace(_aNC+":"+m_flashComConnectTimeOut+":"+m_connList.length)
if(_aNC!=null && !isNaN(m_flashComConnectTimeOut) ) {
clearInterval(m_flashComConnectTimeOut);
for (var i:uint = 0; i < m_connList.length; i++)
{
if (_aNC[i]!=null)
{
clearInterval(_aNC["ncInt" + i]);
_aNC[i].close();
if(bool==false) {
_aNC[i].client = null;
}
_aNC[i] = null;
delete _aNC[i];
}
}
}
}
private function netStatus(event:NetStatusEvent):void {
trace(event.info.code);
if(event.info.description != undefined) {
trace(event.info.description);
}
_aNC[event.target.client.id].client.pending = true;
// this.owner.m_validNetConnection = this.client.owner[this.client.connIndex];
// if (info.description == "[ License.Limit.Exceeded ]") {
switch (event.info.code) {
case "NetConnection.Connect.IdleTimeOut":
trace("IDLE TIMEOUT OCCURRED!")
negotiating=true;
idleTimeOut=true;
_ncRef.shutDownNcNs();
break;
case "NetConnection.Connect.Closed":
if(!negotiating && !idleTimeOut) {
idleTimeOut = false;
_ncRef.doneYet();
}
break;
case "NetConnection.Connect.InvalidApp":
case "NetConnection.Connect.Rejected":
//handleRejectedOrInvalid(event)
break;
case "NetConnection.Call.Failed":
/*
if (event.info.description.indexOf("_checkbw") != -1) {
event.target.expectBWDone = true;
event.target.call("checkBandwidth",null);
}
*/
break;
case "NetConnection.Connect.Success":
var i:uint=0;
for ( i = 0; i<_aNC.length; i++) {
if (_aNC[i] && (i != event.target.client.id)) {
_aNC[i].close();
_aNC[i] = null;
}
}
var _nc:NetConnection = NetConnection(event.target);
var connID:Number = event.target.client.id;
var _actualPort:String = m_connList[m_connListCounter].port;
var _actualProtocol:String = m_connList[m_connListCounter].protocol;
// See if we have version info
var _serverVersion:String = "UNKNOWN";
if (event.info.data && event.info.data.version) {
_serverVersion = event.info.data.version;
}
trace("Connect ID: "+connID+" - PORT: "+_actualPort+" - PROTOCOL: "+_actualProtocol+" - FMS Version: "+_serverVersion);
clearInterval(_aNC["ncInt" + connID]);
clearInterval(_aNC["ncInt" + m_connListCounter]);
handleGoodConnect(_nc);
break;
}
}
/** Catches any netconnection net security errors
* @private
*/
private function netSecurityError(event:SecurityErrorEvent):void {
trace("SECURITY ERROR:"+event);
//dispatchEvent(event);
// Need to enable and pass to Jplayer event system- revisit
}
/** Catches any async errors
* @private
*/
private function asyncError(event:AsyncErrorEvent):void {
trace("ASYNC ERROR:"+event.error);
//dispatchEvent(event);
// Need to enable and pass to Jplayer event system- revisit
}
}// class
} //package

View File

@@ -1,62 +1,62 @@
/*
* jPlayer Plugin for jQuery JavaScript Library
* http://www.jplayer.org
*
* Copyright (c) 2009 - 2013 Happyworm Ltd
* Licensed under the MIT license.
* http://opensource.org/licenses/MIT
*
* Author: Robert M. Hall
* Date: 7th August 2012
*/
package happyworm.jPlayer
{
import flash.net.LocalConnection;
import flash.events.StatusEvent;
import flash.system.Capabilities;
import flash.utils.getTimer;
public class TraceOut
{
private var outgoing_lc:LocalConnection = new LocalConnection ();
private var firstEvent:Boolean = true;
private var _localAIRDebug:Boolean = false;
public function TraceOut()
{
outgoing_lc.addEventListener(StatusEvent.STATUS, lcListener);
outgoing_lc.send("_log_output","startLogging","");
}
private function lcListener(event:StatusEvent):void
{
// Must have this listener to avoid errors
if (event.level == "error")
{
_localAIRDebug = false;
}
else if(event.level =="status" && firstEvent==true)
{
firstEvent = false;
tracer("<< Successful Connection To Event Logger >>");
tracer("DEBUG INFO: \n<"+Capabilities.serverString + ">\nFlash Player Version: " + Capabilities.version + "\n");
_localAIRDebug = true;
}
}
public function localAIRDebug():Boolean
{
return _localAIRDebug;
}
public function tracer(msg:String):void
{
trace(msg);
var outMsg:String = "[" + getTimer() + "ms] " + msg;
outgoing_lc.send("_log_output","displayMsg",outMsg);
}
}
}
/*
* jPlayer Plugin for jQuery JavaScript Library
* http://www.jplayer.org
*
* Copyright (c) 2009 - 2013 Happyworm Ltd
* Licensed under the MIT license.
* http://opensource.org/licenses/MIT
*
* Author: Robert M. Hall
* Date: 7th August 2012
*/
package happyworm.jPlayer
{
import flash.net.LocalConnection;
import flash.events.StatusEvent;
import flash.system.Capabilities;
import flash.utils.getTimer;
public class TraceOut
{
private var outgoing_lc:LocalConnection = new LocalConnection ();
private var firstEvent:Boolean = true;
private var _localAIRDebug:Boolean = false;
public function TraceOut()
{
outgoing_lc.addEventListener(StatusEvent.STATUS, lcListener);
outgoing_lc.send("_log_output","startLogging","");
}
private function lcListener(event:StatusEvent):void
{
// Must have this listener to avoid errors
if (event.level == "error")
{
_localAIRDebug = false;
}
else if(event.level =="status" && firstEvent==true)
{
firstEvent = false;
tracer("<< Successful Connection To Event Logger >>");
tracer("DEBUG INFO: \n<"+Capabilities.serverString + ">\nFlash Player Version: " + Capabilities.version + "\n");
_localAIRDebug = true;
}
}
public function localAIRDebug():Boolean
{
return _localAIRDebug;
}
public function tracer(msg:String):void
{
trace(msg);
var outMsg:String = "[" + getTimer() + "ms] " + msg;
outgoing_lc.send("_log_output","displayMsg",outMsg);
}
}
}

View File

@@ -1,122 +1,122 @@
<?php
return array(
'Select' => 'Seleccionar',
'Erase' => 'Eliminar',
'Open' => 'Obrir',
'Confirm_del' => 'Segur que desitges eliminar aquest arxiu?',
'All' => 'Tots',
'Files' => 'Arxius',
'Images' => 'Imatges',
'Archives' => 'Fitxers',
'Error_Upload' => 'L\'arxiu que intenta pujar excedeix el màxim permès.',
'Error_extension' => 'L\'extensió de l\'arxiu no està permesa.',
'Upload_file' => 'Pujar',
'Filters' => 'Filtres',
'Videos' => 'Vídeos',
'Music' => 'Musica',
'New_Folder' => 'Nova carpeta',
'Folder_Created' => 'La carpeta ha estat creada exitosament.',
'Existing_Folder' => 'Carpeta existent',
'Confirm_Folder_del' => 'Segur que desitges eliminar la carpeta i tots els elements que conté?',
'Return_Files_List' => 'Tornar a la llista d\'arxius',
'Preview' => 'Vista prèvia',
'Download' => 'Descarregar',
'Insert_Folder_Name' => 'Nom de la carpeta:',
'Root' => 'arrel',
'Rename' => 'Renombrar',
'Back' => 'enrere',
'View' => 'Vista',
'View_list' => 'Vista de llista',
'View_columns_list' => 'Vista de columnes',
'View_boxes' => 'Vista de miniatures',
'Toolbar' => 'Barra d\'eines',
'Actions' => 'Accions',
'Rename_existing_file' => 'L\'arxiu ja existeix',
'Rename_existing_folder' => 'La carpeta ja existeix',
'Empty_name' => 'El nom es troba buit',
'Text_filter' => 'filtre de text',
'Swipe_help' => 'Deslize el nom de l\'arxiu/carpeta per mostrar les opcions',
'Upload_base' => 'Pujada d\'arxius SIMPLE',
'Upload_java' => 'Pujada d\'arxius JAVA (para arxius pesats)',
'Upload_url' => 'URL',
'Upload_java_help' => "Si el applet no carrega: 1. Assegura't de tenir Java instal·lat; sinó descarrega-ho i instal·la-ho <a href='http://java.com/en/download/'>des d'aquí</a> 2. Assegura't que el teu firewall no estigui bloquejant res.",
'Upload_base_help' => "Arrossega i deixa anar els arxius dins d'aquesta àrea o faci clic en ella (per a navegadors moderns) en cas contrari, seleccioni l'arxiu i faci clic en el botó. Quan finalitzi la pujada, faci clic en el botó superior per tornar.",
'Type_dir' => 'Carpeta',
'Type' => 'Tipus',
'Dimension' => 'Dimensions',
'Size' => 'Pes',
'Date' => 'Data',
'Filename' => 'Nom',
'Operations' => 'Operacions',
'Date_type' => 'd-m-y',
'OK' => 'OK',
'Cancel' => 'Cancel·lar',
'Sorting' => 'Ordenar',
'Show_url' => 'Mostrar URL',
'Extract' => 'Extreure aquí',
'File_info' => 'Informació',
'Edit_image' => 'Editar imatge',
'Duplicate' => 'Duplicar',
'Folders' => 'Folders',
'Copy' => 'Copy',
'Cut' => 'Cut',
'Paste' => 'Paste',
'CB' => 'CB', // clipboard
'Paste_Here' => 'Paste to this directory',
'Paste_Confirm' => 'Are you sure you want to paste to this directory? This will overwrite existing files/folders if encountered any.',
'Paste_Failed' => 'Failed to paste file(s)',
'Clear_Clipboard' => 'Clear clipboard',
'Clear_Clipboard_Confirm' => 'Are you sure you want to clear the clipboard?',
'Files_ON_Clipboard' => 'There are files on the clipboard.',
'Copy_Cut_Size_Limit' => 'The selected files/folders are too big to %s. Limit: %d MB/operation', // %s = cut or copy
'Copy_Cut_Count_Limit' => 'You selected too many files/folders to %s. Limit: %d files/operation', // %s = cut or copy
'Copy_Cut_Not_Allowed' => 'You are not allowed to %s files.', // %s(1) = cut or copy, %s(2) = files or folders
'Aviary_No_Save' => 'Could not save image',
'Zip_No_Extract' => 'Could not extract. File might be corrupt.',
'Zip_Invalid' => 'This extension is not supported. Valid: zip, gz, tar.',
'Dir_No_Write' => 'The directory you selected is not writable.',
'Function_Disabled' => 'The %s function has been disabled by the server.', // %s = cut or copy
'File_Permission' => 'File permission',
'File_Permission_Not_Allowed' => 'Changing %s permissions are not allowed.', // %s = files or folders
'File_Permission_Recursive' => 'Apply recursively?',
'File_Permission_Wrong_Mode' => "The supplied permission mode is incorrect.",
'User' => 'User',
'Group' => 'Group',
'Yes' => 'Yes',
'No' => 'No',
'Lang_Not_Found' => 'Could not find language.',
'Lang_Change' => 'Change the language',
'File_Not_Found' => 'Could not find the file.',
'File_Open_Edit_Not_Allowed' => 'You are not allowed to %s this file.', // %s = open or edit
'Edit' => 'Edit',
'Edit_File' => "Edit file's content",
'File_Save_OK' => "File successfully saved.",
'File_Save_Error' => "There was an error while saving the file.",
'New_File' => 'New File',
'No_Extension' => 'You have to add a file extension.',
'Valid_Extensions' => 'Valid extensions: %s', // %s = txt,log etc.
'Upload_message' => "Drop file here to upload",
'SERVER ERROR' => "SERVER ERROR",
'forbiden' => "Forbiden",
'wrong path' => "Wrong path",
'wrong name' => "Wrong name",
'wrong extension' => "Wrong extension",
'wrong option' => "Wrong option",
'wrong data' => "Wrong data",
'wrong action' => "Wrong action",
'wrong sub-action' => "Wrong sub-actio",
'no action passed' => "No action passed",
'no path' => "No path",
'no file' => "No file",
'view type number missing' => "View type number missing",
'Not enought Memory' => "Not enought Memory",
'max_size_reached' => "Your image folder has reach its maximale size of %d MB.", //%d = max overall size
'B' => "B",
'KB' => "KB",
'MB' => "MB",
'GB' => "GB",
'TB' => "TB",
'total size' => "Total size",
);
<?php
return array(
'Select' => 'Seleccionar',
'Erase' => 'Eliminar',
'Open' => 'Obrir',
'Confirm_del' => 'Segur que desitges eliminar aquest arxiu?',
'All' => 'Tots',
'Files' => 'Arxius',
'Images' => 'Imatges',
'Archives' => 'Fitxers',
'Error_Upload' => 'L\'arxiu que intenta pujar excedeix el màxim permès.',
'Error_extension' => 'L\'extensió de l\'arxiu no està permesa.',
'Upload_file' => 'Pujar',
'Filters' => 'Filtres',
'Videos' => 'Vídeos',
'Music' => 'Musica',
'New_Folder' => 'Nova carpeta',
'Folder_Created' => 'La carpeta ha estat creada exitosament.',
'Existing_Folder' => 'Carpeta existent',
'Confirm_Folder_del' => 'Segur que desitges eliminar la carpeta i tots els elements que conté?',
'Return_Files_List' => 'Tornar a la llista d\'arxius',
'Preview' => 'Vista prèvia',
'Download' => 'Descarregar',
'Insert_Folder_Name' => 'Nom de la carpeta:',
'Root' => 'arrel',
'Rename' => 'Renombrar',
'Back' => 'enrere',
'View' => 'Vista',
'View_list' => 'Vista de llista',
'View_columns_list' => 'Vista de columnes',
'View_boxes' => 'Vista de miniatures',
'Toolbar' => 'Barra d\'eines',
'Actions' => 'Accions',
'Rename_existing_file' => 'L\'arxiu ja existeix',
'Rename_existing_folder' => 'La carpeta ja existeix',
'Empty_name' => 'El nom es troba buit',
'Text_filter' => 'filtre de text',
'Swipe_help' => 'Deslize el nom de l\'arxiu/carpeta per mostrar les opcions',
'Upload_base' => 'Pujada d\'arxius SIMPLE',
'Upload_java' => 'Pujada d\'arxius JAVA (para arxius pesats)',
'Upload_url' => 'URL',
'Upload_java_help' => "Si el applet no carrega: 1. Assegura't de tenir Java instal·lat; sinó descarrega-ho i instal·la-ho <a href='http://java.com/en/download/'>des d'aquí</a> 2. Assegura't que el teu firewall no estigui bloquejant res.",
'Upload_base_help' => "Arrossega i deixa anar els arxius dins d'aquesta àrea o faci clic en ella (per a navegadors moderns) en cas contrari, seleccioni l'arxiu i faci clic en el botó. Quan finalitzi la pujada, faci clic en el botó superior per tornar.",
'Type_dir' => 'Carpeta',
'Type' => 'Tipus',
'Dimension' => 'Dimensions',
'Size' => 'Pes',
'Date' => 'Data',
'Filename' => 'Nom',
'Operations' => 'Operacions',
'Date_type' => 'd-m-y',
'OK' => 'OK',
'Cancel' => 'Cancel·lar',
'Sorting' => 'Ordenar',
'Show_url' => 'Mostrar URL',
'Extract' => 'Extreure aquí',
'File_info' => 'Informació',
'Edit_image' => 'Editar imatge',
'Duplicate' => 'Duplicar',
'Folders' => 'Folders',
'Copy' => 'Copy',
'Cut' => 'Cut',
'Paste' => 'Paste',
'CB' => 'CB', // clipboard
'Paste_Here' => 'Paste to this directory',
'Paste_Confirm' => 'Are you sure you want to paste to this directory? This will overwrite existing files/folders if encountered any.',
'Paste_Failed' => 'Failed to paste file(s)',
'Clear_Clipboard' => 'Clear clipboard',
'Clear_Clipboard_Confirm' => 'Are you sure you want to clear the clipboard?',
'Files_ON_Clipboard' => 'There are files on the clipboard.',
'Copy_Cut_Size_Limit' => 'The selected files/folders are too big to %s. Limit: %d MB/operation', // %s = cut or copy
'Copy_Cut_Count_Limit' => 'You selected too many files/folders to %s. Limit: %d files/operation', // %s = cut or copy
'Copy_Cut_Not_Allowed' => 'You are not allowed to %s files.', // %s(1) = cut or copy, %s(2) = files or folders
'Aviary_No_Save' => 'Could not save image',
'Zip_No_Extract' => 'Could not extract. File might be corrupt.',
'Zip_Invalid' => 'This extension is not supported. Valid: zip, gz, tar.',
'Dir_No_Write' => 'The directory you selected is not writable.',
'Function_Disabled' => 'The %s function has been disabled by the server.', // %s = cut or copy
'File_Permission' => 'File permission',
'File_Permission_Not_Allowed' => 'Changing %s permissions are not allowed.', // %s = files or folders
'File_Permission_Recursive' => 'Apply recursively?',
'File_Permission_Wrong_Mode' => "The supplied permission mode is incorrect.",
'User' => 'User',
'Group' => 'Group',
'Yes' => 'Yes',
'No' => 'No',
'Lang_Not_Found' => 'Could not find language.',
'Lang_Change' => 'Change the language',
'File_Not_Found' => 'Could not find the file.',
'File_Open_Edit_Not_Allowed' => 'You are not allowed to %s this file.', // %s = open or edit
'Edit' => 'Edit',
'Edit_File' => "Edit file's content",
'File_Save_OK' => "File successfully saved.",
'File_Save_Error' => "There was an error while saving the file.",
'New_File' => 'New File',
'No_Extension' => 'You have to add a file extension.',
'Valid_Extensions' => 'Valid extensions: %s', // %s = txt,log etc.
'Upload_message' => "Drop file here to upload",
'SERVER ERROR' => "SERVER ERROR",
'forbiden' => "Forbiden",
'wrong path' => "Wrong path",
'wrong name' => "Wrong name",
'wrong extension' => "Wrong extension",
'wrong option' => "Wrong option",
'wrong data' => "Wrong data",
'wrong action' => "Wrong action",
'wrong sub-action' => "Wrong sub-actio",
'no action passed' => "No action passed",
'no path' => "No path",
'no file' => "No file",
'view type number missing' => "View type number missing",
'Not enought Memory' => "Not enought Memory",
'max_size_reached' => "Your image folder has reach its maximale size of %d MB.", //%d = max overall size
'B' => "B",
'KB' => "KB",
'MB' => "MB",
'GB' => "GB",
'TB' => "TB",
'total size' => "Total size",
);

View File

@@ -1,123 +1,123 @@
<?php
return array(
'Select' => 'Vybrat',
'Erase' => 'Smazat',
'Open' => 'Otevřít',
'Confirm_del' => 'Opravdu chcete smazat tento soubor?',
'All' => 'Vše',
'Files' => 'Soubory',
'Images' => 'Obrázky',
'Archives' => 'Archivy',
'Error_Upload' => 'Nahrávaný soubor je příliš velký.',
'Error_extension' => 'Nahrávání souborů s touto příponou není povoleno.',
'Upload_file' => 'Nahrát soubor',
'Filters' => 'Filtr',
'Videos' => 'Videa',
'Music' => 'Hudba',
'New_Folder' => 'Nová složka',
'Folder_Created' => 'Složka vytvořena',
'Existing_Folder' => 'Existující složka',
'Confirm_Folder_del' => 'Opravdu chcete smazat tuto složku a její obsah?',
'Return_Files_List' => 'Zpět k seznamu souborů',
'Preview' => 'Náhled',
'Download' => 'Stáhnout',
'Insert_Folder_Name' => 'Vložte název složky:',
'Root' => 'root',
'Rename' => 'Přejmenovat',
'Back' => 'zpět',
'View' => 'Zobrazení',
'View_list' => 'Seznam souborů',
'View_columns_list' => 'Dvousloupcový seznam souborů',
'View_boxes' => 'Dlaždicové zobrazení',
'Toolbar' => 'Panel nástrojů',
'Actions' => 'Akce',
'Rename_existing_file' => 'Tento soubor již existuje',
'Rename_existing_folder' => 'Tato složka již existuje',
'Empty_name' => 'Zadali jste prázdný název',
'Text_filter' => 'textový filtr',
'Swipe_help' => 'Pro zobrazení možností klikněte na název souboru/složky.',
'Upload_base' => 'Základní nahrávání',
'Upload_url' => 'URL',
'Upload_java' => 'JAVA upload (pro velké soubory)',
'Upload_java_help' => "Pokud se Java Applet nenačítá, ujistěte se, že: 1. je ve vašem počítači nainstalována Java <a href='http://java.com/en/download/'>[odkaz pro stažení]</a> 2. nic není blokováno firewallem",
'Upload_base_help' => "Přetáhněte soubor(y) do prostoru výše nebo do něj klikněte myší (moderní prohlížeče) a vyberte soubory. Po dokončení nahrávání klikněte na tlačítko 'Zpět k seznamu souborů'.",
'Type_dir' => 'složka',
'Type' => 'Typ',
'Dimension' => 'Rozměr',
'Size' => 'Velikost',
'Date' => 'Datum',
'Filename' => 'Název',
'Operations' => 'Operace',
'Date_type' => 'd.m.Y',
'OK' => 'OK',
'Cancel' => 'Zrušit',
'Sorting' => 'Řazení',
'Show_url' => 'Zobrazit URL adresu',
'Extract' => 'Rozbalit zde',
'File_info' => 'Informace o souboru',
'Edit_image' => 'Upravit obrázek',
'Duplicate' => 'Duplikovat',
'Folders' => 'Složky',
'Copy' => 'Kopírovat',
'Cut' => 'Vyjmout',
'Paste' => 'Vložit',
'CB' => 'Schránka', // clipboard
'Paste_Here' => 'Vložit do této složky',
'Paste_Confirm' => 'Skutečně chcete vložit obsah schránky do této složky? Existující soubory či složky budou přepsány.',
'Paste_Failed' => 'Vložení selhalo',
'Clear_Clipboard' => 'Vymazat schránku',
'Clear_Clipboard_Confirm' => 'Skutečně chcete vymazat obsah schránky?',
'Files_ON_Clipboard' => 'Ve schránce jsou soubory.',
'Copy_Cut_Size_Limit' => 'Zvolené soubory/složky jsou příliš velké pro operaci %s. Limit: %d MB/operace', // %s = cut or copy
'Copy_Cut_Count_Limit' => 'Zvolili jste příliš mnoho souborů/složek pro operaci %s. Limit: %d souborů/operace', // %s = cut or copy
'Copy_Cut_Not_Allowed' => 'Nemáte oprávnění %s.', // %s(1) = cut or copy, %s(2) = files or folders
'Aviary_No_Save' => 'Obrázek nelze uložit',
'Zip_No_Extract' => 'Archív nelze rozbalit. Soubor může být poškozen.',
'Zip_Invalid' => 'Přípona není podporována. Povolené: zip, gz, tar.',
'Dir_No_Write' => 'Vybraná složka není zapisovatelná.',
'Function_Disabled' => 'Funkce %s byla zamítnuta serverem.', // %s = cut or copy
'File_Permission' => 'Práva souboru',
'File_Permission_Not_Allowed' => 'Změna oprávnění pro %s není povolena.', // %s = files or folders
'File_Permission_Recursive' => 'Použít rekurzivně?',
'File_Permission_Wrong_Mode' => "Zadaný kód oprávnění není platný.",
'User' => 'Uživatel',
'Group' => 'Skupina',
'Yes' => 'Ano',
'No' => 'Ne',
'Lang_Not_Found' => 'Jazyk nebyl nalezen.',
'Lang_Change' => 'Změnit jazyk',
'File_Not_Found' => 'Soubor nebyl nalezen.',
'File_Open_Edit_Not_Allowed' => 'Nemáte oprávnění %s tento soubor.', // %s = open or edit
'Edit' => 'Upravit',
'Edit_File' => "Upravit obsah souboru",
'File_Save_OK' => "Soubor byl úspěšně uložen.",
'File_Save_Error' => "Došlo k chybě při ukládání souboru.",
'New_File' => 'Nový soubor',
'No_Extension' => 'Musíte doplnit příponu souboru.',
'Valid_Extensions' => 'Povolené přípony: %s', // %s = txt,log etc.
'Upload_message' => "Pro nahrání přetáhněte soubor(y) sem",
'SERVER ERROR' => "CHYBA SERVERU",
'forbiden' => "Zakázáno",
'wrong path' => "Neplatná cesta",
'wrong name' => "Neplatná název",
'wrong extension' => "Neplatná přípona",
'wrong option' => "Neplatná volba",
'wrong data' => "Neplatná data",
'wrong action' => "Neplatná akce",
'wrong sub-action' => "Neplatná podakce",
'no action passed' => "Nebyla předána žádná akce",
'no path' => "Žádná cesta",
'no file' => "Žádný soubor",
'view type number missing' => "Chybí číslo typu pro zobrazení",
'Not enought Memory' => "Nedostatek paměti",
'max_size_reached' => "Vaše složka s obrázky dosáhla maximální velikosti %d MB.", //%d = max overall size
'B' => "B",
'KB' => "KB",
'MB' => "MB",
'GB' => "GB",
'TB' => "TB",
'total size' => "Celková velikost",
);
<?php
return array(
'Select' => 'Vybrat',
'Erase' => 'Smazat',
'Open' => 'Otevřít',
'Confirm_del' => 'Opravdu chcete smazat tento soubor?',
'All' => 'Vše',
'Files' => 'Soubory',
'Images' => 'Obrázky',
'Archives' => 'Archivy',
'Error_Upload' => 'Nahrávaný soubor je příliš velký.',
'Error_extension' => 'Nahrávání souborů s touto příponou není povoleno.',
'Upload_file' => 'Nahrát soubor',
'Filters' => 'Filtr',
'Videos' => 'Videa',
'Music' => 'Hudba',
'New_Folder' => 'Nová složka',
'Folder_Created' => 'Složka vytvořena',
'Existing_Folder' => 'Existující složka',
'Confirm_Folder_del' => 'Opravdu chcete smazat tuto složku a její obsah?',
'Return_Files_List' => 'Zpět k seznamu souborů',
'Preview' => 'Náhled',
'Download' => 'Stáhnout',
'Insert_Folder_Name' => 'Vložte název složky:',
'Root' => 'root',
'Rename' => 'Přejmenovat',
'Back' => 'zpět',
'View' => 'Zobrazení',
'View_list' => 'Seznam souborů',
'View_columns_list' => 'Dvousloupcový seznam souborů',
'View_boxes' => 'Dlaždicové zobrazení',
'Toolbar' => 'Panel nástrojů',
'Actions' => 'Akce',
'Rename_existing_file' => 'Tento soubor již existuje',
'Rename_existing_folder' => 'Tato složka již existuje',
'Empty_name' => 'Zadali jste prázdný název',
'Text_filter' => 'textový filtr',
'Swipe_help' => 'Pro zobrazení možností klikněte na název souboru/složky.',
'Upload_base' => 'Základní nahrávání',
'Upload_url' => 'URL',
'Upload_java' => 'JAVA upload (pro velké soubory)',
'Upload_java_help' => "Pokud se Java Applet nenačítá, ujistěte se, že: 1. je ve vašem počítači nainstalována Java <a href='http://java.com/en/download/'>[odkaz pro stažení]</a> 2. nic není blokováno firewallem",
'Upload_base_help' => "Přetáhněte soubor(y) do prostoru výše nebo do něj klikněte myší (moderní prohlížeče) a vyberte soubory. Po dokončení nahrávání klikněte na tlačítko 'Zpět k seznamu souborů'.",
'Type_dir' => 'složka',
'Type' => 'Typ',
'Dimension' => 'Rozměr',
'Size' => 'Velikost',
'Date' => 'Datum',
'Filename' => 'Název',
'Operations' => 'Operace',
'Date_type' => 'd.m.Y',
'OK' => 'OK',
'Cancel' => 'Zrušit',
'Sorting' => 'Řazení',
'Show_url' => 'Zobrazit URL adresu',
'Extract' => 'Rozbalit zde',
'File_info' => 'Informace o souboru',
'Edit_image' => 'Upravit obrázek',
'Duplicate' => 'Duplikovat',
'Folders' => 'Složky',
'Copy' => 'Kopírovat',
'Cut' => 'Vyjmout',
'Paste' => 'Vložit',
'CB' => 'Schránka', // clipboard
'Paste_Here' => 'Vložit do této složky',
'Paste_Confirm' => 'Skutečně chcete vložit obsah schránky do této složky? Existující soubory či složky budou přepsány.',
'Paste_Failed' => 'Vložení selhalo',
'Clear_Clipboard' => 'Vymazat schránku',
'Clear_Clipboard_Confirm' => 'Skutečně chcete vymazat obsah schránky?',
'Files_ON_Clipboard' => 'Ve schránce jsou soubory.',
'Copy_Cut_Size_Limit' => 'Zvolené soubory/složky jsou příliš velké pro operaci %s. Limit: %d MB/operace', // %s = cut or copy
'Copy_Cut_Count_Limit' => 'Zvolili jste příliš mnoho souborů/složek pro operaci %s. Limit: %d souborů/operace', // %s = cut or copy
'Copy_Cut_Not_Allowed' => 'Nemáte oprávnění %s.', // %s(1) = cut or copy, %s(2) = files or folders
'Aviary_No_Save' => 'Obrázek nelze uložit',
'Zip_No_Extract' => 'Archív nelze rozbalit. Soubor může být poškozen.',
'Zip_Invalid' => 'Přípona není podporována. Povolené: zip, gz, tar.',
'Dir_No_Write' => 'Vybraná složka není zapisovatelná.',
'Function_Disabled' => 'Funkce %s byla zamítnuta serverem.', // %s = cut or copy
'File_Permission' => 'Práva souboru',
'File_Permission_Not_Allowed' => 'Změna oprávnění pro %s není povolena.', // %s = files or folders
'File_Permission_Recursive' => 'Použít rekurzivně?',
'File_Permission_Wrong_Mode' => "Zadaný kód oprávnění není platný.",
'User' => 'Uživatel',
'Group' => 'Skupina',
'Yes' => 'Ano',
'No' => 'Ne',
'Lang_Not_Found' => 'Jazyk nebyl nalezen.',
'Lang_Change' => 'Změnit jazyk',
'File_Not_Found' => 'Soubor nebyl nalezen.',
'File_Open_Edit_Not_Allowed' => 'Nemáte oprávnění %s tento soubor.', // %s = open or edit
'Edit' => 'Upravit',
'Edit_File' => "Upravit obsah souboru",
'File_Save_OK' => "Soubor byl úspěšně uložen.",
'File_Save_Error' => "Došlo k chybě při ukládání souboru.",
'New_File' => 'Nový soubor',
'No_Extension' => 'Musíte doplnit příponu souboru.',
'Valid_Extensions' => 'Povolené přípony: %s', // %s = txt,log etc.
'Upload_message' => "Pro nahrání přetáhněte soubor(y) sem",
'SERVER ERROR' => "CHYBA SERVERU",
'forbiden' => "Zakázáno",
'wrong path' => "Neplatná cesta",
'wrong name' => "Neplatná název",
'wrong extension' => "Neplatná přípona",
'wrong option' => "Neplatná volba",
'wrong data' => "Neplatná data",
'wrong action' => "Neplatná akce",
'wrong sub-action' => "Neplatná podakce",
'no action passed' => "Nebyla předána žádná akce",
'no path' => "Žádná cesta",
'no file' => "Žádný soubor",
'view type number missing' => "Chybí číslo typu pro zobrazení",
'Not enought Memory' => "Nedostatek paměti",
'max_size_reached' => "Vaše složka s obrázky dosáhla maximální velikosti %d MB.", //%d = max overall size
'B' => "B",
'KB' => "KB",
'MB' => "MB",
'GB' => "GB",
'TB' => "TB",
'total size' => "Celková velikost",
);

View File

@@ -1,123 +1,123 @@
<?php
return array(
'Select' => 'Vælg',
'Erase' => 'Slet',
'Open' => 'Åbn',
'Confirm_del' => 'Er du sikker på at du vil slette denne fil?',
'All' => 'Alle',
'Files' => 'Filer',
'Images' => 'Billeder',
'Archives' => 'Mapper',
'Error_Upload' => 'Den uploadede fil er større end tilladt (100MB).',
'Error_extension' => 'Fil typen er ikke tilladt.',
'Upload_file' => 'Upload',
'Filters' => 'Filter',
'Videos' => 'Videoer',
'Music' => 'Musik',
'New_Folder' => 'Ny mappe',
'Folder_Created' => 'Mappen er oprettet korrekt',
'Existing_Folder' => 'Mappen findes allerede',
'Confirm_Folder_del' => 'Er du sikker på at du vil slette mappen og alt dens indhold?',
'Return_Files_List' => 'Tilbage til fil oversigten',
'Preview' => 'Preview',
'Download' => 'Download',
'Insert_Folder_Name' => 'Indsæt mappe navn:',
'Root' => 'rod',
'Rename' => 'Omdøb',
'Back' => 'tilbage',
'View' => 'Se',
'View_list' => 'Vis liste',
'View_columns_list' => 'Søjle liste',
'View_boxes' => 'Box list',
'Toolbar' => 'Toolbar',
'Actions' => 'Handlinger',
'Rename_existing_file' => 'Filen findes allerede',
'Rename_existing_folder' => 'Mappen findes allerede',
'Empty_name' => 'Indsæt et navn',
'Text_filter' => 'tekst filter',
'Swipe_help' => 'Swipe over navnet på fil/mappe for at se muligheder',
'Upload_base' => 'Basis upload',
'Upload_url' => 'URL',
'Upload_java' => 'JAVA upload (store filer)',
'Upload_java_help' => "Hvis Java Appletten ikke starter, så: 1. sørg for at sikre dig at du har Java installeret, alternativt <a href='http://java.com/en/download/'>[download link]</a> 2. sørg for at sikre dig at der ikke er noget der blokeres af din firewall",
'Upload_base_help' => "Drag & Drop filer eller klik i området herover (moderne browsers) og vælg fil(erne). Når upload er færdigt, så tryk på 'Vend tilbage til filoversigt' knappen.",
'Type_dir' => 'dir',
'Type' => 'Type',
'Dimension' => 'Dimensioner',
'Size' => 'Størrelse',
'Date' => 'Dato',
'Filename' => 'Filenavn',
'Operations' => 'Operationer',
'Date_type' => 'år-måned-dag',
'OK' => 'OK',
'Cancel' => 'Afbryd',
'Sorting' => 'sortering',
'Show_url' => 'Vis sti',
'Extract' => 'Fold ud her',
'File_info' => 'fil info',
'Edit_image' => 'Redigér billede',
'Duplicate' => 'Kopiér',
'Folders' => 'Mapper',
'Copy' => 'Kopiér',
'Cut' => 'Klip',
'Paste' => 'Indsæt',
'CB' => 'UKH', // clipboard
'Paste_Here' => 'Indsæt i denne mappe',
'Paste_Confirm' => 'Er du sikker på at du vil indsætte i denne mappe? Det vil overkrive allerede eksisterende filer/mapper, hvis der findes nogen.',
'Paste_Failed' => 'Det lykkedes ikke at indsætte fil(en/erne)',
'Clear_Clipboard' => 'Slet indholdet af udklipsholderen',
'Clear_Clipboard_Confirm' => 'Er du sikker på at du vil slette indholdet af udklipsholderen?',
'Files_ON_Clipboard' => 'Der findes filer i udklipsholderen.',
'Copy_Cut_Size_Limit' => 'De valgte filer/mapper er for store til at %s. Max.: %d MB/operation', // %s = cut or copy
'Copy_Cut_Count_Limit' => 'Du har valgt for mange filer/mapper til at %s. Max.: %d filer/operation', // %s = cut or copy
'Copy_Cut_Not_Allowed' => 'Du har ikke tilladelse til at %s filer. Tal med din administrator.', // %s(1) = cut or copy, %s(2) = files or folders
'Aviary_No_Save' => 'Det var ikke muligt at gemme billedet',
'Zip_No_Extract' => 'Det var ikke muligt at hente. Filen er muligvis ødelagt.',
'Zip_Invalid' => 'Denne filtype understøttes ikke. De mulige filtyper er: zip, gz, tar.',
'Dir_No_Write' => 'Der kan ikke skrives til den valgte mappe. Kontakt din administrator.',
'Function_Disabled' => 'Denne %s funktion er slået fra af serveren.', // %s = cut or copy
'File_Permission' => 'Fil tilladelser',
'File_Permission_Not_Allowed' => 'Det er ikke tilladt at ændre tilladelsen for %s.', // %s = files or folders
'File_Permission_Recursive' => 'Gøres ved alle mapper og filer (rekursivt)?',
'File_Permission_Wrong_Mode' => "Den anvendte indstilling for tilladelse er ikke korrekt.",
'User' => 'Bruger',
'Group' => 'Gruppe',
'Yes' => 'Ja',
'No' => 'Nej',
'Lang_Not_Found' => 'Cet var ikke muligt at finde sprog-filen.',
'Lang_Change' => 'Andet sprog',
'File_Not_Found' => 'Det var ikke muligt at finde filen.',
'File_Open_Edit_Not_Allowed' => 'Du har ikke tiladelse til at %s denne fil.', // %s = open or edit
'Edit' => 'Redigér',
'Edit_File' => "Redigér filens indhold",
'File_Save_OK' => "Filen blev gemt.",
'File_Save_Error' => "Der opstod en fejl i forsøget på at gemme filen.",
'New_File' => 'Opret ny fil',
'No_Extension' => 'Husk at tilføje filtype.',
'Valid_Extensions' => 'Gyldige filtyper er: %s', // %s = txt,log etc.
'Upload_message' => "Drop file here to upload",
'SERVER ERROR' => "SERVER ERROR",
'forbiden' => "Forbiden",
'wrong path' => "Wrong path",
'wrong name' => "Wrong name",
'wrong extension' => "Wrong extension",
'wrong option' => "Wrong option",
'wrong data' => "Wrong data",
'wrong action' => "Wrong action",
'wrong sub-action' => "Wrong sub-actio",
'no action passed' => "No action passed",
'no path' => "No path",
'no file' => "No file",
'view type number missing' => "View type number missing",
'Not enought Memory' => "Not enought Memory",
'max_size_reached' => "Your image folder has reach its maximale size of %d MB.", //%d = max overall size
'B' => "B",
'KB' => "KB",
'MB' => "MB",
'GB' => "GB",
'TB' => "TB",
'total size' => "Total size",
);
<?php
return array(
'Select' => 'Vælg',
'Erase' => 'Slet',
'Open' => 'Åbn',
'Confirm_del' => 'Er du sikker på at du vil slette denne fil?',
'All' => 'Alle',
'Files' => 'Filer',
'Images' => 'Billeder',
'Archives' => 'Mapper',
'Error_Upload' => 'Den uploadede fil er større end tilladt (100MB).',
'Error_extension' => 'Fil typen er ikke tilladt.',
'Upload_file' => 'Upload',
'Filters' => 'Filter',
'Videos' => 'Videoer',
'Music' => 'Musik',
'New_Folder' => 'Ny mappe',
'Folder_Created' => 'Mappen er oprettet korrekt',
'Existing_Folder' => 'Mappen findes allerede',
'Confirm_Folder_del' => 'Er du sikker på at du vil slette mappen og alt dens indhold?',
'Return_Files_List' => 'Tilbage til fil oversigten',
'Preview' => 'Preview',
'Download' => 'Download',
'Insert_Folder_Name' => 'Indsæt mappe navn:',
'Root' => 'rod',
'Rename' => 'Omdøb',
'Back' => 'tilbage',
'View' => 'Se',
'View_list' => 'Vis liste',
'View_columns_list' => 'Søjle liste',
'View_boxes' => 'Box list',
'Toolbar' => 'Toolbar',
'Actions' => 'Handlinger',
'Rename_existing_file' => 'Filen findes allerede',
'Rename_existing_folder' => 'Mappen findes allerede',
'Empty_name' => 'Indsæt et navn',
'Text_filter' => 'tekst filter',
'Swipe_help' => 'Swipe over navnet på fil/mappe for at se muligheder',
'Upload_base' => 'Basis upload',
'Upload_url' => 'URL',
'Upload_java' => 'JAVA upload (store filer)',
'Upload_java_help' => "Hvis Java Appletten ikke starter, så: 1. sørg for at sikre dig at du har Java installeret, alternativt <a href='http://java.com/en/download/'>[download link]</a> 2. sørg for at sikre dig at der ikke er noget der blokeres af din firewall",
'Upload_base_help' => "Drag & Drop filer eller klik i området herover (moderne browsers) og vælg fil(erne). Når upload er færdigt, så tryk på 'Vend tilbage til filoversigt' knappen.",
'Type_dir' => 'dir',
'Type' => 'Type',
'Dimension' => 'Dimensioner',
'Size' => 'Størrelse',
'Date' => 'Dato',
'Filename' => 'Filenavn',
'Operations' => 'Operationer',
'Date_type' => 'år-måned-dag',
'OK' => 'OK',
'Cancel' => 'Afbryd',
'Sorting' => 'sortering',
'Show_url' => 'Vis sti',
'Extract' => 'Fold ud her',
'File_info' => 'fil info',
'Edit_image' => 'Redigér billede',
'Duplicate' => 'Kopiér',
'Folders' => 'Mapper',
'Copy' => 'Kopiér',
'Cut' => 'Klip',
'Paste' => 'Indsæt',
'CB' => 'UKH', // clipboard
'Paste_Here' => 'Indsæt i denne mappe',
'Paste_Confirm' => 'Er du sikker på at du vil indsætte i denne mappe? Det vil overkrive allerede eksisterende filer/mapper, hvis der findes nogen.',
'Paste_Failed' => 'Det lykkedes ikke at indsætte fil(en/erne)',
'Clear_Clipboard' => 'Slet indholdet af udklipsholderen',
'Clear_Clipboard_Confirm' => 'Er du sikker på at du vil slette indholdet af udklipsholderen?',
'Files_ON_Clipboard' => 'Der findes filer i udklipsholderen.',
'Copy_Cut_Size_Limit' => 'De valgte filer/mapper er for store til at %s. Max.: %d MB/operation', // %s = cut or copy
'Copy_Cut_Count_Limit' => 'Du har valgt for mange filer/mapper til at %s. Max.: %d filer/operation', // %s = cut or copy
'Copy_Cut_Not_Allowed' => 'Du har ikke tilladelse til at %s filer. Tal med din administrator.', // %s(1) = cut or copy, %s(2) = files or folders
'Aviary_No_Save' => 'Det var ikke muligt at gemme billedet',
'Zip_No_Extract' => 'Det var ikke muligt at hente. Filen er muligvis ødelagt.',
'Zip_Invalid' => 'Denne filtype understøttes ikke. De mulige filtyper er: zip, gz, tar.',
'Dir_No_Write' => 'Der kan ikke skrives til den valgte mappe. Kontakt din administrator.',
'Function_Disabled' => 'Denne %s funktion er slået fra af serveren.', // %s = cut or copy
'File_Permission' => 'Fil tilladelser',
'File_Permission_Not_Allowed' => 'Det er ikke tilladt at ændre tilladelsen for %s.', // %s = files or folders
'File_Permission_Recursive' => 'Gøres ved alle mapper og filer (rekursivt)?',
'File_Permission_Wrong_Mode' => "Den anvendte indstilling for tilladelse er ikke korrekt.",
'User' => 'Bruger',
'Group' => 'Gruppe',
'Yes' => 'Ja',
'No' => 'Nej',
'Lang_Not_Found' => 'Cet var ikke muligt at finde sprog-filen.',
'Lang_Change' => 'Andet sprog',
'File_Not_Found' => 'Det var ikke muligt at finde filen.',
'File_Open_Edit_Not_Allowed' => 'Du har ikke tiladelse til at %s denne fil.', // %s = open or edit
'Edit' => 'Redigér',
'Edit_File' => "Redigér filens indhold",
'File_Save_OK' => "Filen blev gemt.",
'File_Save_Error' => "Der opstod en fejl i forsøget på at gemme filen.",
'New_File' => 'Opret ny fil',
'No_Extension' => 'Husk at tilføje filtype.',
'Valid_Extensions' => 'Gyldige filtyper er: %s', // %s = txt,log etc.
'Upload_message' => "Drop file here to upload",
'SERVER ERROR' => "SERVER ERROR",
'forbiden' => "Forbiden",
'wrong path' => "Wrong path",
'wrong name' => "Wrong name",
'wrong extension' => "Wrong extension",
'wrong option' => "Wrong option",
'wrong data' => "Wrong data",
'wrong action' => "Wrong action",
'wrong sub-action' => "Wrong sub-actio",
'no action passed' => "No action passed",
'no path' => "No path",
'no file' => "No file",
'view type number missing' => "View type number missing",
'Not enought Memory' => "Not enought Memory",
'max_size_reached' => "Your image folder has reach its maximale size of %d MB.", //%d = max overall size
'B' => "B",
'KB' => "KB",
'MB' => "MB",
'GB' => "GB",
'TB' => "TB",
'total size' => "Total size",
);

View File

@@ -1,123 +1,123 @@
<?php
return array(
'Select' => 'Seleccionar',
'Erase' => 'Eliminar',
'Open' => 'Abrir',
'Confirm_del' => '¿Seguro que deseas eliminar este archivo?',
'All' => 'Todos',
'Files' => 'Archivos',
'Images' => 'Imágenes',
'Archives' => 'Ficheros',
'Error_Upload' => 'El archivo que intenta subir excede el máximo permitido.',
'Error_extension' => 'La extensión del archivo no está permitida.',
'Upload_file' => 'Subir',
'Filters' => 'Filtros',
'Videos' => 'Videos',
'Music' => 'Música',
'New_Folder' => 'Nueva carpeta',
'Folder_Created' => 'La carpeta ha sido creada exitosamente.',
'Existing_Folder' => 'Carpeta existente',
'Confirm_Folder_del' => '¿Seguro que deseas eliminar la carpeta y todos los elementos que contiene?',
'Return_Files_List' => 'Regresar a la lista de archivos',
'Preview' => 'Vista previa',
'Download' => 'Descargar',
'Insert_Folder_Name' => 'Nombre de la carpeta:',
'Root' => 'raíz',
'Rename' => 'Renombrar',
'Back' => 'Atrás',
'View' => 'Vista',
'View_list' => 'Vista de lista',
'View_columns_list' => 'Vista de columnas',
'View_boxes' => 'Vista de miniaturas',
'Toolbar' => 'Barra de herramientas',
'Actions' => 'Acciones',
'Rename_existing_file' => 'El archivo ya existe',
'Rename_existing_folder' => 'La carpeta ya existe',
'Empty_name' => 'El nombre se encuentra vacío',
'Text_filter' => 'filtro de texto',
'Swipe_help' => 'Deslize el nombre del archivo/carpeta para mostrar las opciones',
'Upload_base' => 'Subida de archivos SIMPLE',
'Upload_url' => 'URL',
'Upload_java' => 'Subida de archivos JAVA (para archivos pesados)',
'Upload_java_help' => "Si el applet no carga: 1. Asegúrate de tener Java instalado; sino descárgalo e instálalo <a href='http://java.com/en/download/'>desde aquí</a> 2. Asegúrate que tu firewall no esté bloqueando nada.",
'Upload_base_help' => "Arrastra y suelta los archivos dentro de esta área o haga clic en ella (para navegadores modernos) de lo contrario, seleccione el archivo y haga clic en el botón. Cuando finalice la subida, haga clic en el botón superior para regresar.",
'Type_dir' => 'Carpeta',
'Type' => 'Tipo',
'Dimension' => 'Dimensiones',
'Size' => 'Peso',
'Date' => 'Fecha',
'Filename' => 'Nombre',
'Operations' => 'Operaciones',
'Date_type' => 'y-m-d',
'OK' => 'OK',
'Cancel' => 'Cancelar',
'Sorting' => 'Ordenar',
'Show_url' => 'Mostrar URL',
'Extract' => 'Extraer aquí',
'File_info' => 'Información',
'Edit_image' => 'Editar imagen',
'Duplicate' => 'Duplicar',
'Folders' => 'Carpetas',
'Copy' => 'Copiar',
'Cut' => 'Cortar',
'Paste' => 'Pegar',
'CB' => 'Portapapeles', // clipboard
'Paste_Here' => 'Pegar en esta carpeta',
'Paste_Confirm' => '¿Está seguro de pegar el contenido en esta carpeta? Esta acción sobreescribirá los archivos y carpetas existentes.',
'Paste_Failed' => 'Error al pegar los archivos',
'Clear_Clipboard' => 'Limpiar el portapapeles',
'Clear_Clipboard_Confirm' => '¿Está seguro que desea limpiar el portapapeles?',
'Files_ON_Clipboard' => 'Existen archivos en el portapapeles',
'Copy_Cut_Size_Limit' => 'Los archivos/carpetas seleccionados son demasiado grandes para %s. Límite: %d MB/operación', // %s = cut or copy
'Copy_Cut_Count_Limit' => 'Ha seleccionado demasiados archivos/carpetas para %s. Límite: %d archivos/operación', // %s = cut or copy
'Copy_Cut_Not_Allowed' => 'No está permitido de %s archivos.', // %s(1) = cut or copy, %s(2) = files or folders
'Aviary_No_Save' => 'No fue posible guardar la imagen',
'Zip_No_Extract' => 'No fue posible extraer los archivos. Es posible que el archivo esté corrupto.',
'Zip_Invalid' => 'Esta extensión no es soportada. Extensiones válidas: zip, gz, tar.',
'Dir_No_Write' => 'El directorio que ha seleccionado no tiene permisos de escritura.',
'Function_Disabled' => 'La función %s ha sido deshabilitada en el servidor.', // %s = cut or copy
'File_Permission' => 'File permission',
'File_Permission_Not_Allowed' => 'Changing %s permissions are not allowed.', // %s = files or folders
'File_Permission_Recursive' => 'Apply recursively?',
'File_Permission_Wrong_Mode' => "The supplied permission mode is incorrect.",
'User' => 'User',
'Group' => 'Group',
'Yes' => 'Yes',
'No' => 'No',
'Lang_Not_Found' => 'Could not find language.',
'Lang_Change' => 'Change the language',
'File_Not_Found' => 'Could not find the file.',
'File_Open_Edit_Not_Allowed' => 'You are not allowed to %s this file.', // %s = open or edit
'Edit' => 'Edit',
'Edit_File' => "Edit file's content",
'File_Save_OK' => "File successfully saved.",
'File_Save_Error' => "There was an error while saving the file.",
'New_File' => 'New File',
'No_Extension' => 'You have to add a file extension.',
'Valid_Extensions' => 'Valid extensions: %s', // %s = txt,log etc.
'Upload_message' => "Drop file here to upload",
'SERVER ERROR' => "SERVER ERROR",
'forbiden' => "Forbiden",
'wrong path' => "Wrong path",
'wrong name' => "Wrong name",
'wrong extension' => "Wrong extension",
'wrong option' => "Wrong option",
'wrong data' => "Wrong data",
'wrong action' => "Wrong action",
'wrong sub-action' => "Wrong sub-actio",
'no action passed' => "No action passed",
'no path' => "No path",
'no file' => "No file",
'view type number missing' => "View type number missing",
'Not enought Memory' => "Not enought Memory",
'max_size_reached' => "Your image folder has reach its maximale size of %d MB.", //%d = max overall size
'B' => "B",
'KB' => "KB",
'MB' => "MB",
'GB' => "GB",
'TB' => "TB",
'total size' => "Total size",
);
<?php
return array(
'Select' => 'Seleccionar',
'Erase' => 'Eliminar',
'Open' => 'Abrir',
'Confirm_del' => '¿Seguro que deseas eliminar este archivo?',
'All' => 'Todos',
'Files' => 'Archivos',
'Images' => 'Imágenes',
'Archives' => 'Ficheros',
'Error_Upload' => 'El archivo que intenta subir excede el máximo permitido.',
'Error_extension' => 'La extensión del archivo no está permitida.',
'Upload_file' => 'Subir',
'Filters' => 'Filtros',
'Videos' => 'Videos',
'Music' => 'Música',
'New_Folder' => 'Nueva carpeta',
'Folder_Created' => 'La carpeta ha sido creada exitosamente.',
'Existing_Folder' => 'Carpeta existente',
'Confirm_Folder_del' => '¿Seguro que deseas eliminar la carpeta y todos los elementos que contiene?',
'Return_Files_List' => 'Regresar a la lista de archivos',
'Preview' => 'Vista previa',
'Download' => 'Descargar',
'Insert_Folder_Name' => 'Nombre de la carpeta:',
'Root' => 'raíz',
'Rename' => 'Renombrar',
'Back' => 'Atrás',
'View' => 'Vista',
'View_list' => 'Vista de lista',
'View_columns_list' => 'Vista de columnas',
'View_boxes' => 'Vista de miniaturas',
'Toolbar' => 'Barra de herramientas',
'Actions' => 'Acciones',
'Rename_existing_file' => 'El archivo ya existe',
'Rename_existing_folder' => 'La carpeta ya existe',
'Empty_name' => 'El nombre se encuentra vacío',
'Text_filter' => 'filtro de texto',
'Swipe_help' => 'Deslize el nombre del archivo/carpeta para mostrar las opciones',
'Upload_base' => 'Subida de archivos SIMPLE',
'Upload_url' => 'URL',
'Upload_java' => 'Subida de archivos JAVA (para archivos pesados)',
'Upload_java_help' => "Si el applet no carga: 1. Asegúrate de tener Java instalado; sino descárgalo e instálalo <a href='http://java.com/en/download/'>desde aquí</a> 2. Asegúrate que tu firewall no esté bloqueando nada.",
'Upload_base_help' => "Arrastra y suelta los archivos dentro de esta área o haga clic en ella (para navegadores modernos) de lo contrario, seleccione el archivo y haga clic en el botón. Cuando finalice la subida, haga clic en el botón superior para regresar.",
'Type_dir' => 'Carpeta',
'Type' => 'Tipo',
'Dimension' => 'Dimensiones',
'Size' => 'Peso',
'Date' => 'Fecha',
'Filename' => 'Nombre',
'Operations' => 'Operaciones',
'Date_type' => 'y-m-d',
'OK' => 'OK',
'Cancel' => 'Cancelar',
'Sorting' => 'Ordenar',
'Show_url' => 'Mostrar URL',
'Extract' => 'Extraer aquí',
'File_info' => 'Información',
'Edit_image' => 'Editar imagen',
'Duplicate' => 'Duplicar',
'Folders' => 'Carpetas',
'Copy' => 'Copiar',
'Cut' => 'Cortar',
'Paste' => 'Pegar',
'CB' => 'Portapapeles', // clipboard
'Paste_Here' => 'Pegar en esta carpeta',
'Paste_Confirm' => '¿Está seguro de pegar el contenido en esta carpeta? Esta acción sobreescribirá los archivos y carpetas existentes.',
'Paste_Failed' => 'Error al pegar los archivos',
'Clear_Clipboard' => 'Limpiar el portapapeles',
'Clear_Clipboard_Confirm' => '¿Está seguro que desea limpiar el portapapeles?',
'Files_ON_Clipboard' => 'Existen archivos en el portapapeles',
'Copy_Cut_Size_Limit' => 'Los archivos/carpetas seleccionados son demasiado grandes para %s. Límite: %d MB/operación', // %s = cut or copy
'Copy_Cut_Count_Limit' => 'Ha seleccionado demasiados archivos/carpetas para %s. Límite: %d archivos/operación', // %s = cut or copy
'Copy_Cut_Not_Allowed' => 'No está permitido de %s archivos.', // %s(1) = cut or copy, %s(2) = files or folders
'Aviary_No_Save' => 'No fue posible guardar la imagen',
'Zip_No_Extract' => 'No fue posible extraer los archivos. Es posible que el archivo esté corrupto.',
'Zip_Invalid' => 'Esta extensión no es soportada. Extensiones válidas: zip, gz, tar.',
'Dir_No_Write' => 'El directorio que ha seleccionado no tiene permisos de escritura.',
'Function_Disabled' => 'La función %s ha sido deshabilitada en el servidor.', // %s = cut or copy
'File_Permission' => 'File permission',
'File_Permission_Not_Allowed' => 'Changing %s permissions are not allowed.', // %s = files or folders
'File_Permission_Recursive' => 'Apply recursively?',
'File_Permission_Wrong_Mode' => "The supplied permission mode is incorrect.",
'User' => 'User',
'Group' => 'Group',
'Yes' => 'Yes',
'No' => 'No',
'Lang_Not_Found' => 'Could not find language.',
'Lang_Change' => 'Change the language',
'File_Not_Found' => 'Could not find the file.',
'File_Open_Edit_Not_Allowed' => 'You are not allowed to %s this file.', // %s = open or edit
'Edit' => 'Edit',
'Edit_File' => "Edit file's content",
'File_Save_OK' => "File successfully saved.",
'File_Save_Error' => "There was an error while saving the file.",
'New_File' => 'New File',
'No_Extension' => 'You have to add a file extension.',
'Valid_Extensions' => 'Valid extensions: %s', // %s = txt,log etc.
'Upload_message' => "Drop file here to upload",
'SERVER ERROR' => "SERVER ERROR",
'forbiden' => "Forbiden",
'wrong path' => "Wrong path",
'wrong name' => "Wrong name",
'wrong extension' => "Wrong extension",
'wrong option' => "Wrong option",
'wrong data' => "Wrong data",
'wrong action' => "Wrong action",
'wrong sub-action' => "Wrong sub-actio",
'no action passed' => "No action passed",
'no path' => "No path",
'no file' => "No file",
'view type number missing' => "View type number missing",
'Not enought Memory' => "Not enought Memory",
'max_size_reached' => "Your image folder has reach its maximale size of %d MB.", //%d = max overall size
'B' => "B",
'KB' => "KB",
'MB' => "MB",
'GB' => "GB",
'TB' => "TB",
'total size' => "Total size",
);

View File

@@ -1,123 +1,123 @@
<?php
return array(
'Select' => 'Tallózás',
'Erase' => 'Törlés',
'Open' => 'Megnyitás',
'Confirm_del' => 'Biztos vagy benne, hogy törlöd ezt a fájlt?',
'All' => 'Összes',
'Files' => 'Fájlok',
'Images' => 'Képek',
'Archives' => 'Tömörített',
'Error_Upload' => 'A kiválasztott fájl mérete túl nagy!',
'Error_extension' => 'A megadott kiterjesztésű fájl nem engedélyezett.',
'Upload_file' => 'Fájl feltöltése',
'Filters' => 'Szűrő',
'Videos' => 'Videó',
'Music' => 'Zene',
'New_Folder' => 'Új mappa',
'Folder_Created' => 'Mappa létrehozva',
'Existing_Folder' => 'Mappa már létezik',
'Confirm_Folder_del' => 'Biztos, hogy törlöd a könyvtárat és annak tartalmát?',
'Return_Files_List' => 'Vissza a fájllistához',
'Preview' => 'Előnézet',
'Download' => 'Letöltés',
'Insert_Folder_Name' => 'Mappa neve:',
'Root' => 'root',
'Rename' => 'Átnevezés',
'Back' => 'vissza',
'View' => 'Nézet',
'View_list' => 'Lista',
'View_columns_list' => 'Oszlopok',
'View_boxes' => 'Miniatűrök',
'Toolbar' => 'Eszközök',
'Actions' => 'Műveletek',
'Rename_existing_file' => 'A fájl már létezik',
'Rename_existing_folder' => 'A mappa már létezik',
'Empty_name' => 'A név nincs megadva',
'Text_filter' => 'szűrés',
'Swipe_help' => 'Húzd az egered a fájl/mappa nevére, hogy lásd az opciókat.',
'Upload_base' => 'Alapértelmezett feltöltő',
'Upload_url' => 'URL',
'Upload_java' => 'JAVA feltöltő (nagyméretű fájlokhoz)',
'Upload_java_help' => "Ha a Java Applet nem töltődik be: 1. ellenőrizze, hogy a JAVA telepítve van-e, ha nincs: <a href='http://java.com/en/download/'>[letöltés]</a> 2. ellenőrizze, hogy a tűzfal nem blokkolja-e",
'Upload_base_help' => "Fogd meg és húzd az ablakba a fájlt vagy kattints bele és válaszd ki majd nyomd meg a megnyitás gombot (modern böngészők). Amikor a feltöltés befejeződött kattints a fenti gombra a visszatéréshez.",
'Type_dir' => 'Mappa',
'Type' => 'Típus',
'Dimension' => 'Felbontás',
'Size' => 'Méret',
'Date' => 'Dátum',
'Filename' => 'Név',
'Operations' => 'Műveletek',
'Date_type' => 'y-m-d',
'OK' => 'OK',
'Cancel' => 'Mégse',
'Sorting' => 'rendezés',
'Show_url' => 'URL mutatása',
'Extract' => 'kibontás ide',
'File_info' => 'fájl info',
'Edit_image' => 'kép szerkesztése',
'Duplicate' => 'Klónozás',
'Folders' => 'Mappák',
'Copy' => 'Másolás',
'Cut' => 'Kivágás',
'Paste' => 'Beillesztés',
'CB' => 'VL', // clipboard
'Paste_Here' => 'Beillesztés ebbe a mappába.',
'Paste_Confirm' => 'Biztos vagy benne, hogy ebbe a mappába szeretnéd beilleszteni a fájlokat? A létező fájlok/mappák felül lesznek írva.',
'Paste_Failed' => 'A beillesztés sikertelen!',
'Clear_Clipboard' => 'Vágólap törlése',
'Clear_Clipboard_Confirm' => 'Biztos törlöd a vágólap tartalmát?',
'Files_ON_Clipboard' => 'Fájlok találhatóak a vágólapon.',
'Copy_Cut_Size_Limit' => 'A kiválasztott fájlok/mappák túl nagyok a %shoz. Limit: %d MB/művelet', // %s = cut or copy
'Copy_Cut_Count_Limit' => 'Túl sok fájlt választottál ki a %shoz. Limit: %d fájl/művelet', // %s = cut or copy
'Copy_Cut_Not_Allowed' => 'A %s nem engedélyezett.', // %s(1) = cut or copy, %s(2) = files or folders
'Aviary_No_Save' => 'A kép mentése sikertelen.',
'Zip_No_Extract' => 'Kicsomagolás sikertelen. Lehet, hogy korrupt a fájl.',
'Zip_Invalid' => 'Ez a kiterjesztés nem támogatott. Támogatott: zip, gz, tar.',
'Dir_No_Write' => 'A kiválasztott mappa nem írható.',
'Function_Disabled' => 'A %s funkciót letiltotta a szerver.', // %s = cut or copy
'File_Permission' => 'Engedélyek',
'File_Permission_Not_Allowed' => 'A %s jogainak a megváltoztatása nem engedélyezett.', // %s = files or folders
'File_Permission_Recursive' => 'Rekurzív beállítás az almappákra?',
'File_Permission_Wrong_Mode' => "A beírt engedély nem megfelelő.",
'User' => 'Felhasználó',
'Group' => 'Csoport',
'Yes' => 'Igen',
'No' => 'Nem',
'Lang_Not_Found' => 'A nyelv nem található.',
'Lang_Change' => 'Nyelv megváltoztatása',
'File_Not_Found' => 'A fájl nem található.',
'File_Open_Edit_Not_Allowed' => 'Nincs jogod %s a fájlt.', // %s = open or edit
'Edit' => 'Szerkesztés',
'Edit_File' => "Fájl szerkesztése",
'File_Save_OK' => "Fájl sikeresen mentve.",
'File_Save_Error' => "Hiba történt a fájl mentése közben.",
'New_File' => 'Új fájl',
'No_Extension' => 'Meg kell adnod a fájl kiterjesztését.',
'Valid_Extensions' => 'Elfogadott kiterjesztések: %s', // %s = txt,log etc.
'Upload_message' => "Drop file here to upload",
'SERVER ERROR' => "SERVER ERROR",
'forbiden' => "Forbiden",
'wrong path' => "Wrong path",
'wrong name' => "Wrong name",
'wrong extension' => "Wrong extension",
'wrong option' => "Wrong option",
'wrong data' => "Wrong data",
'wrong action' => "Wrong action",
'wrong sub-action' => "Wrong sub-actio",
'no action passed' => "No action passed",
'no path' => "No path",
'no file' => "No file",
'view type number missing' => "View type number missing",
'Not enought Memory' => "Not enought Memory",
'max_size_reached' => "Your image folder has reach its maximale size of %d MB.", //%d = max overall size
'B' => "B",
'KB' => "KB",
'MB' => "MB",
'GB' => "GB",
'TB' => "TB",
'total size' => "Total size",
);
<?php
return array(
'Select' => 'Tallózás',
'Erase' => 'Törlés',
'Open' => 'Megnyitás',
'Confirm_del' => 'Biztos vagy benne, hogy törlöd ezt a fájlt?',
'All' => 'Összes',
'Files' => 'Fájlok',
'Images' => 'Képek',
'Archives' => 'Tömörített',
'Error_Upload' => 'A kiválasztott fájl mérete túl nagy!',
'Error_extension' => 'A megadott kiterjesztésű fájl nem engedélyezett.',
'Upload_file' => 'Fájl feltöltése',
'Filters' => 'Szűrő',
'Videos' => 'Videó',
'Music' => 'Zene',
'New_Folder' => 'Új mappa',
'Folder_Created' => 'Mappa létrehozva',
'Existing_Folder' => 'Mappa már létezik',
'Confirm_Folder_del' => 'Biztos, hogy törlöd a könyvtárat és annak tartalmát?',
'Return_Files_List' => 'Vissza a fájllistához',
'Preview' => 'Előnézet',
'Download' => 'Letöltés',
'Insert_Folder_Name' => 'Mappa neve:',
'Root' => 'root',
'Rename' => 'Átnevezés',
'Back' => 'vissza',
'View' => 'Nézet',
'View_list' => 'Lista',
'View_columns_list' => 'Oszlopok',
'View_boxes' => 'Miniatűrök',
'Toolbar' => 'Eszközök',
'Actions' => 'Műveletek',
'Rename_existing_file' => 'A fájl már létezik',
'Rename_existing_folder' => 'A mappa már létezik',
'Empty_name' => 'A név nincs megadva',
'Text_filter' => 'szűrés',
'Swipe_help' => 'Húzd az egered a fájl/mappa nevére, hogy lásd az opciókat.',
'Upload_base' => 'Alapértelmezett feltöltő',
'Upload_url' => 'URL',
'Upload_java' => 'JAVA feltöltő (nagyméretű fájlokhoz)',
'Upload_java_help' => "Ha a Java Applet nem töltődik be: 1. ellenőrizze, hogy a JAVA telepítve van-e, ha nincs: <a href='http://java.com/en/download/'>[letöltés]</a> 2. ellenőrizze, hogy a tűzfal nem blokkolja-e",
'Upload_base_help' => "Fogd meg és húzd az ablakba a fájlt vagy kattints bele és válaszd ki majd nyomd meg a megnyitás gombot (modern böngészők). Amikor a feltöltés befejeződött kattints a fenti gombra a visszatéréshez.",
'Type_dir' => 'Mappa',
'Type' => 'Típus',
'Dimension' => 'Felbontás',
'Size' => 'Méret',
'Date' => 'Dátum',
'Filename' => 'Név',
'Operations' => 'Műveletek',
'Date_type' => 'y-m-d',
'OK' => 'OK',
'Cancel' => 'Mégse',
'Sorting' => 'rendezés',
'Show_url' => 'URL mutatása',
'Extract' => 'kibontás ide',
'File_info' => 'fájl info',
'Edit_image' => 'kép szerkesztése',
'Duplicate' => 'Klónozás',
'Folders' => 'Mappák',
'Copy' => 'Másolás',
'Cut' => 'Kivágás',
'Paste' => 'Beillesztés',
'CB' => 'VL', // clipboard
'Paste_Here' => 'Beillesztés ebbe a mappába.',
'Paste_Confirm' => 'Biztos vagy benne, hogy ebbe a mappába szeretnéd beilleszteni a fájlokat? A létező fájlok/mappák felül lesznek írva.',
'Paste_Failed' => 'A beillesztés sikertelen!',
'Clear_Clipboard' => 'Vágólap törlése',
'Clear_Clipboard_Confirm' => 'Biztos törlöd a vágólap tartalmát?',
'Files_ON_Clipboard' => 'Fájlok találhatóak a vágólapon.',
'Copy_Cut_Size_Limit' => 'A kiválasztott fájlok/mappák túl nagyok a %shoz. Limit: %d MB/művelet', // %s = cut or copy
'Copy_Cut_Count_Limit' => 'Túl sok fájlt választottál ki a %shoz. Limit: %d fájl/művelet', // %s = cut or copy
'Copy_Cut_Not_Allowed' => 'A %s nem engedélyezett.', // %s(1) = cut or copy, %s(2) = files or folders
'Aviary_No_Save' => 'A kép mentése sikertelen.',
'Zip_No_Extract' => 'Kicsomagolás sikertelen. Lehet, hogy korrupt a fájl.',
'Zip_Invalid' => 'Ez a kiterjesztés nem támogatott. Támogatott: zip, gz, tar.',
'Dir_No_Write' => 'A kiválasztott mappa nem írható.',
'Function_Disabled' => 'A %s funkciót letiltotta a szerver.', // %s = cut or copy
'File_Permission' => 'Engedélyek',
'File_Permission_Not_Allowed' => 'A %s jogainak a megváltoztatása nem engedélyezett.', // %s = files or folders
'File_Permission_Recursive' => 'Rekurzív beállítás az almappákra?',
'File_Permission_Wrong_Mode' => "A beírt engedély nem megfelelő.",
'User' => 'Felhasználó',
'Group' => 'Csoport',
'Yes' => 'Igen',
'No' => 'Nem',
'Lang_Not_Found' => 'A nyelv nem található.',
'Lang_Change' => 'Nyelv megváltoztatása',
'File_Not_Found' => 'A fájl nem található.',
'File_Open_Edit_Not_Allowed' => 'Nincs jogod %s a fájlt.', // %s = open or edit
'Edit' => 'Szerkesztés',
'Edit_File' => "Fájl szerkesztése",
'File_Save_OK' => "Fájl sikeresen mentve.",
'File_Save_Error' => "Hiba történt a fájl mentése közben.",
'New_File' => 'Új fájl',
'No_Extension' => 'Meg kell adnod a fájl kiterjesztését.',
'Valid_Extensions' => 'Elfogadott kiterjesztések: %s', // %s = txt,log etc.
'Upload_message' => "Drop file here to upload",
'SERVER ERROR' => "SERVER ERROR",
'forbiden' => "Forbiden",
'wrong path' => "Wrong path",
'wrong name' => "Wrong name",
'wrong extension' => "Wrong extension",
'wrong option' => "Wrong option",
'wrong data' => "Wrong data",
'wrong action' => "Wrong action",
'wrong sub-action' => "Wrong sub-actio",
'no action passed' => "No action passed",
'no path' => "No path",
'no file' => "No file",
'view type number missing' => "View type number missing",
'Not enought Memory' => "Not enought Memory",
'max_size_reached' => "Your image folder has reach its maximale size of %d MB.", //%d = max overall size
'B' => "B",
'KB' => "KB",
'MB' => "MB",
'GB' => "GB",
'TB' => "TB",
'total size' => "Total size",
);

View File

@@ -1,123 +1,123 @@
<?php
return array(
'Select' => 'Сонгох',
'Erase' => 'Устгах',
'Open' => 'Нээх',
'Confirm_del' => 'Та энэ файлыг устгахдаа итгэлтэй байна уу?',
'All' => 'Бүгд',
'Files' => 'Файлууд',
'Images' => 'Зурагнууд',
'Archives' => 'Архивлагдсан файлууд',
'Error_Upload' => 'Хуулсан файл зөвшөөрөгдөх хэмжээнээс их байна.',
'Error_extension' => 'Файлын өргөтгөх зөвшөөрөгдөөгүй.',
'Upload_file' => 'Хуулах',
'Filters' => 'Шүүлтүүрүүд',
'Videos' => 'Бичлэгнүүд',
'Music' => 'Дуунууд',
'New_Folder' => 'Шинэ хавтас',
'Folder_Created' => 'Хавтас амжилттай үүслээ',
'Existing_Folder' => 'Давхардсан хавтас',
'Confirm_Folder_del' => 'Хавтас болон доторх бүх файлуудыг устгахдаа итгэлтэй байна уу?',
'Return_Files_List' => 'Файлын жагсаалт руу буцах',
'Preview' => 'Урьдчилан харах',
'Download' => 'Татаж авах',
'Insert_Folder_Name' => 'Хавтасны нэрийг оруулна уу:',
'Root' => 'root',
'Rename' => 'Нэрлэх',
'Back' => 'буцах',
'View' => 'Үзэх',
'View_list' => 'Жагсаалтаар харах',
'View_columns_list' => 'Баганаар харах',
'View_boxes' => 'Хайрцгаар харах',
'Toolbar' => 'Товчилсон товчнууд',
'Actions' => 'Үйлдэл',
'Rename_existing_file' => 'Файл аль хэдийнэ үүссэн байна',
'Rename_existing_folder' => 'Хавтас аль хэдийнэ үүсэн байна',
'Empty_name' => 'Нэр хоосон байна',
'Text_filter' => 'текстэн шүүлтүүр',
'Swipe_help' => 'Файл/Хавтасны нэрийг товшоод тохиргоог харна уу',
'Upload_base' => 'Энгийнээр хуулах',
'Upload_url' => 'URL',
'Upload_java' => 'JAVA-гаар хуулах (их хэмжээтэй файл)',
'Upload_java_help' => "Хэрэв Java Applet уншихгүй бол 1. Java суусан эсэхийг шалгана уу, үгүй бол <a href='http://java.com/en/download/'>[эндээс татаж авна уу]</a> 2. Галт хана дээр хаалт хийсэн эсэхийг шалгана уу",
'Upload_base_help' => "Хуулах хэсэг дээр файлыг зөөж тавих болон дээр нь дарж хуулж болно (орчин үеийн хөтөч дээр). Хуулж дууссан бол 'Файлын жагсаалт руу буцах' товчин дээр дарна уу.",
'Type_dir' => 'dir',
'Type' => 'Төрөл',
'Dimension' => 'Харьцаа',
'Size' => 'Хэмжээ',
'Date' => 'Огноо',
'Filename' => 'Файлын нэр',
'Operations' => 'Үйлдэлүүд',
'Date_type' => 'y-m-d',
'OK' => 'ОК',
'Cancel' => 'Буцах',
'Sorting' => 'эрэмбэлэх',
'Show_url' => 'URL-г харах',
'Extract' => 'энд задла',
'File_info' => 'файлын мэдээлэл',
'Edit_image' => 'зураг засварлах',
'Duplicate' => 'Давхардуулах',
'Folders' => 'Folders',
'Copy' => 'Copy',
'Cut' => 'Cut',
'Paste' => 'Paste',
'CB' => 'CB', // clipboard
'Paste_Here' => 'Paste to this directory',
'Paste_Confirm' => 'Are you sure you want to paste to this directory? This will overwrite existing files/folders if encountered any.',
'Paste_Failed' => 'Failed to paste file(s)',
'Clear_Clipboard' => 'Clear clipboard',
'Clear_Clipboard_Confirm' => 'Are you sure you want to clear the clipboard?',
'Files_ON_Clipboard' => 'There are files on the clipboard.',
'Copy_Cut_Size_Limit' => 'The selected files/folders are too big to %s. Limit: %d MB/operation', // %s = cut or copy
'Copy_Cut_Count_Limit' => 'You selected too many files/folders to %s. Limit: %d files/operation', // %s = cut or copy
'Copy_Cut_Not_Allowed' => 'You are not allowed to %s files.', // %s(1) = cut or copy, %s(2) = files or folders
'Aviary_No_Save' => 'Could not save image',
'Zip_No_Extract' => 'Could not extract. File might be corrupt.',
'Zip_Invalid' => 'This extension is not supported. Valid: zip, gz, tar.',
'Dir_No_Write' => 'The directory you selected is not writable.',
'Function_Disabled' => 'The %s function has been disabled by the server.', // %s = cut or copy
'File_Permission' => 'File permission',
'File_Permission_Not_Allowed' => 'Changing %s permissions are not allowed.', // %s = files or folders
'File_Permission_Recursive' => 'Apply recursively?',
'File_Permission_Wrong_Mode' => "The supplied permission mode is incorrect.",
'User' => 'User',
'Group' => 'Group',
'Yes' => 'Yes',
'No' => 'No',
'Lang_Not_Found' => 'Could not find language.',
'Lang_Change' => 'Change the language',
'File_Not_Found' => 'Could not find the file.',
'File_Open_Edit_Not_Allowed' => 'You are not allowed to %s this file.', // %s = open or edit
'Edit' => 'Edit',
'Edit_File' => "Edit file's content",
'File_Save_OK' => "File successfully saved.",
'File_Save_Error' => "There was an error while saving the file.",
'New_File' => 'New File',
'No_Extension' => 'You have to add a file extension.',
'Valid_Extensions' => 'Valid extensions: %s', // %s = txt,log etc.
'Upload_message' => "Drop file here to upload",
'SERVER ERROR' => "SERVER ERROR",
'forbiden' => "Forbiden",
'wrong path' => "Wrong path",
'wrong name' => "Wrong name",
'wrong extension' => "Wrong extension",
'wrong option' => "Wrong option",
'wrong data' => "Wrong data",
'wrong action' => "Wrong action",
'wrong sub-action' => "Wrong sub-actio",
'no action passed' => "No action passed",
'no path' => "No path",
'no file' => "No file",
'view type number missing' => "View type number missing",
'Not enought Memory' => "Not enought Memory",
'max_size_reached' => "Your image folder has reach its maximale size of %d MB.", //%d = max overall size
'B' => "B",
'KB' => "KB",
'MB' => "MB",
'GB' => "GB",
'TB' => "TB",
'total size' => "Total size",
);
<?php
return array(
'Select' => 'Сонгох',
'Erase' => 'Устгах',
'Open' => 'Нээх',
'Confirm_del' => 'Та энэ файлыг устгахдаа итгэлтэй байна уу?',
'All' => 'Бүгд',
'Files' => 'Файлууд',
'Images' => 'Зурагнууд',
'Archives' => 'Архивлагдсан файлууд',
'Error_Upload' => 'Хуулсан файл зөвшөөрөгдөх хэмжээнээс их байна.',
'Error_extension' => 'Файлын өргөтгөх зөвшөөрөгдөөгүй.',
'Upload_file' => 'Хуулах',
'Filters' => 'Шүүлтүүрүүд',
'Videos' => 'Бичлэгнүүд',
'Music' => 'Дуунууд',
'New_Folder' => 'Шинэ хавтас',
'Folder_Created' => 'Хавтас амжилттай үүслээ',
'Existing_Folder' => 'Давхардсан хавтас',
'Confirm_Folder_del' => 'Хавтас болон доторх бүх файлуудыг устгахдаа итгэлтэй байна уу?',
'Return_Files_List' => 'Файлын жагсаалт руу буцах',
'Preview' => 'Урьдчилан харах',
'Download' => 'Татаж авах',
'Insert_Folder_Name' => 'Хавтасны нэрийг оруулна уу:',
'Root' => 'root',
'Rename' => 'Нэрлэх',
'Back' => 'буцах',
'View' => 'Үзэх',
'View_list' => 'Жагсаалтаар харах',
'View_columns_list' => 'Баганаар харах',
'View_boxes' => 'Хайрцгаар харах',
'Toolbar' => 'Товчилсон товчнууд',
'Actions' => 'Үйлдэл',
'Rename_existing_file' => 'Файл аль хэдийнэ үүссэн байна',
'Rename_existing_folder' => 'Хавтас аль хэдийнэ үүсэн байна',
'Empty_name' => 'Нэр хоосон байна',
'Text_filter' => 'текстэн шүүлтүүр',
'Swipe_help' => 'Файл/Хавтасны нэрийг товшоод тохиргоог харна уу',
'Upload_base' => 'Энгийнээр хуулах',
'Upload_url' => 'URL',
'Upload_java' => 'JAVA-гаар хуулах (их хэмжээтэй файл)',
'Upload_java_help' => "Хэрэв Java Applet уншихгүй бол 1. Java суусан эсэхийг шалгана уу, үгүй бол <a href='http://java.com/en/download/'>[эндээс татаж авна уу]</a> 2. Галт хана дээр хаалт хийсэн эсэхийг шалгана уу",
'Upload_base_help' => "Хуулах хэсэг дээр файлыг зөөж тавих болон дээр нь дарж хуулж болно (орчин үеийн хөтөч дээр). Хуулж дууссан бол 'Файлын жагсаалт руу буцах' товчин дээр дарна уу.",
'Type_dir' => 'dir',
'Type' => 'Төрөл',
'Dimension' => 'Харьцаа',
'Size' => 'Хэмжээ',
'Date' => 'Огноо',
'Filename' => 'Файлын нэр',
'Operations' => 'Үйлдэлүүд',
'Date_type' => 'y-m-d',
'OK' => 'ОК',
'Cancel' => 'Буцах',
'Sorting' => 'эрэмбэлэх',
'Show_url' => 'URL-г харах',
'Extract' => 'энд задла',
'File_info' => 'файлын мэдээлэл',
'Edit_image' => 'зураг засварлах',
'Duplicate' => 'Давхардуулах',
'Folders' => 'Folders',
'Copy' => 'Copy',
'Cut' => 'Cut',
'Paste' => 'Paste',
'CB' => 'CB', // clipboard
'Paste_Here' => 'Paste to this directory',
'Paste_Confirm' => 'Are you sure you want to paste to this directory? This will overwrite existing files/folders if encountered any.',
'Paste_Failed' => 'Failed to paste file(s)',
'Clear_Clipboard' => 'Clear clipboard',
'Clear_Clipboard_Confirm' => 'Are you sure you want to clear the clipboard?',
'Files_ON_Clipboard' => 'There are files on the clipboard.',
'Copy_Cut_Size_Limit' => 'The selected files/folders are too big to %s. Limit: %d MB/operation', // %s = cut or copy
'Copy_Cut_Count_Limit' => 'You selected too many files/folders to %s. Limit: %d files/operation', // %s = cut or copy
'Copy_Cut_Not_Allowed' => 'You are not allowed to %s files.', // %s(1) = cut or copy, %s(2) = files or folders
'Aviary_No_Save' => 'Could not save image',
'Zip_No_Extract' => 'Could not extract. File might be corrupt.',
'Zip_Invalid' => 'This extension is not supported. Valid: zip, gz, tar.',
'Dir_No_Write' => 'The directory you selected is not writable.',
'Function_Disabled' => 'The %s function has been disabled by the server.', // %s = cut or copy
'File_Permission' => 'File permission',
'File_Permission_Not_Allowed' => 'Changing %s permissions are not allowed.', // %s = files or folders
'File_Permission_Recursive' => 'Apply recursively?',
'File_Permission_Wrong_Mode' => "The supplied permission mode is incorrect.",
'User' => 'User',
'Group' => 'Group',
'Yes' => 'Yes',
'No' => 'No',
'Lang_Not_Found' => 'Could not find language.',
'Lang_Change' => 'Change the language',
'File_Not_Found' => 'Could not find the file.',
'File_Open_Edit_Not_Allowed' => 'You are not allowed to %s this file.', // %s = open or edit
'Edit' => 'Edit',
'Edit_File' => "Edit file's content",
'File_Save_OK' => "File successfully saved.",
'File_Save_Error' => "There was an error while saving the file.",
'New_File' => 'New File',
'No_Extension' => 'You have to add a file extension.',
'Valid_Extensions' => 'Valid extensions: %s', // %s = txt,log etc.
'Upload_message' => "Drop file here to upload",
'SERVER ERROR' => "SERVER ERROR",
'forbiden' => "Forbiden",
'wrong path' => "Wrong path",
'wrong name' => "Wrong name",
'wrong extension' => "Wrong extension",
'wrong option' => "Wrong option",
'wrong data' => "Wrong data",
'wrong action' => "Wrong action",
'wrong sub-action' => "Wrong sub-actio",
'no action passed' => "No action passed",
'no path' => "No path",
'no file' => "No file",
'view type number missing' => "View type number missing",
'Not enought Memory' => "Not enought Memory",
'max_size_reached' => "Your image folder has reach its maximale size of %d MB.", //%d = max overall size
'B' => "B",
'KB' => "KB",
'MB' => "MB",
'GB' => "GB",
'TB' => "TB",
'total size' => "Total size",
);

View File

@@ -1,123 +1,123 @@
<?php
return array(
'Select' => 'Selecionar',
'Erase' => 'Apagar',
'Open' => 'Abrir',
'Confirm_del' => 'Tem certeza que quer deletar este arquivo?',
'All' => 'Todos',
'Files' => 'Arquivos',
'Images' => 'Imagens',
'Archives' => 'Compactados',
'Error_Upload' => 'O arquivo enviado é maior que o limite permitido.',
'Error_extension' => 'Extensão não permitida.',
'Upload_file' => 'Enviar um arquivo',
'Filters' => 'Filtro',
'Videos' => 'Vídeos',
'Music' => 'Musica',
'New_Folder' => 'Nova pasta',
'Folder_Created' => 'Pasta criada corretamente',
'Existing_Folder' => 'Pasta existente',
'Confirm_Folder_del' => 'Tem certeza que você quer deletar a pasta e todo o seu conteúdo?',
'Return_Files_List' => 'Voltar à lista de arquivos',
'Preview' => 'Prévia',
'Download' => 'Baixar',
'Insert_Folder_Name' => 'Insira o nome da pasta:',
'Root' => 'root',
'Rename' => 'Mudar o nome',
'Back' => 'de volta',
'View' => 'Modo de Visualização',
'View_list' => 'Lista',
'View_columns_list' => 'Lista de Colunas',
'View_boxes' => 'Box',
'Toolbar' => 'Toolbar',
'Actions' => 'Ações',
'Rename_existing_file' => 'O arquivo já existe!',
'Rename_existing_folder' => 'A pasta já existe!',
'Empty_name' => 'O nome está vazio!',
'Text_filter' => 'Filtrar',
'Swipe_help' => 'Passe o nome do arquivo/pasta para ver as opções',
'Upload_base' => 'Base upload',
'Upload_url' => 'URL',
'Upload_java' => 'JAVA upload (Arquivos grandes)',
'Upload_java_help' => "Se o Java Applet não carregar: 1. Certifique-se de ter o Java instalado de outra forma <a href='http://java.com/en/download/'>[download link]</a> 2. Certifique-se que nada é impedido pelo firewall",
'Upload_base_help' => "Arraste e Solta os arquivos dentro área acima ou clique nele (para navegadores modernos), caso contrário, selecione o arquivo e clique no botão. Quando terminar o upload, clique no botão de retorno superior.",
'Type_dir' => 'dir',
'Type' => 'Tipo',
'Dimension' => 'Dimensão',
'Size' => 'Tamanho',
'Date' => 'Data',
'Filename' => 'Nome',
'Operations' => 'Operações',
'Date_type' => 'd/m/Y',
'OK' => 'OK',
'Cancel' => 'Cancelar',
'Sorting' => 'Ordenar',
'Show_url' => 'Mostrar URL',
'Extract' => 'Extrair aqui',
'File_info' => 'Informação do Arquivo',
'Edit_image' => 'Editar a imagem',
'Duplicate' => 'Duplicar',
'Folders' => 'Pastas',
'Copy' => 'Copiar',
'Cut' => 'Recortar',
'Paste' => 'Colar',
'CB' => 'Área de Transferência', // clipboard
'Paste_Here' => 'Copiar para este diretório',
'Paste_Confirm' => 'Você tem certeza quer copiar para este diretório? Isso sobrescreverá pastas/arquivos existentes se encontrar alguma coisa.',
'Paste_Failed' => 'Não foi possível colar o(s) arquivo(s)',
'Clear_Clipboard' => 'Limpar área de transferência',
'Clear_Clipboard_Confirm' => 'Tem certeza de que deseja limpar a área de transferência?',
'Files_ON_Clipboard' => 'Há arquivos na área de transferência.',
'Copy_Cut_Size_Limit' => 'Os arquivos/pastas selecionados são grandes demais para %s. Limite: %d MB/operação', // %s = cut or copy
'Copy_Cut_Count_Limit' => 'Você selecionou muitos arquivos/pastas para %s. Limite: %d arquivos/operação', // %s = cut or copy
'Copy_Cut_Not_Allowed' => 'Você não tem permissão para %s arquivos.', // %s(1) = cut or copy, %s(2) = files or folders
'Aviary_No_Save' => 'Não foi possível salvar a imagem',
'Zip_No_Extract' => 'Não foi possível extrair. Arquivo pode estar corrompido.',
'Zip_Invalid' => 'Esta extensão não é suportada. Válidos: zip, gz, tar.',
'Dir_No_Write' => 'O diretório selecionado não é gravável.',
'Function_Disabled' => 'A função %s foi desativado pelo servidor.', // %s = cut or copy
'File_Permission' => 'Permissão arquivo',
'File_Permission_Not_Allowed' => 'Mudanças de permissões de %s não são permitidos.', // %s = files or folders
'File_Permission_Recursive' => 'Aplicar recursivamente?',
'File_Permission_Wrong_Mode' => "O modo de permissão fornecido está incorreto.",
'User' => 'Usuário',
'Group' => 'Grupo',
'Yes' => 'Sim',
'No' => 'Não',
'Lang_Not_Found' => 'Não foi possível encontrar uma linguagem.',
'Lang_Change' => 'Alterar o idioma',
'File_Not_Found' => 'Não foi possível encontrar o arquivo.',
'File_Open_Edit_Not_Allowed' => 'Você não tem permissão para %s este arquivo.', // %s = open or edit
'Edit' => 'Editar',
'Edit_File' => "Editar conteúdo do arquivo",
'File_Save_OK' => "Arquivo salvo com sucesso.",
'File_Save_Error' => "Houve um erro ao salvar o arquivo.",
'New_File' => 'Novo Arquivo',
'No_Extension' => 'Você tem que adicionar uma extensão de arquivo.',
'Valid_Extensions' => 'Extensões válidas: %s', // %s = txt,log etc.
'Upload_message' => "Arraste arquivo aqui para enviar",
'SERVER ERROR' => "ERRO SERVIDOR",
'forbiden' => "proibido",
'wrong path' => "caminho errado",
'wrong name' => "nome errado",
'wrong extension' => "extensão errada",
'wrong option' => "opção errada",
'wrong data' => "dados errados",
'wrong action' => "ação errada",
'wrong sub-action' => "sub-ação errada",
'no action passed' => "nenhuma ação passada",
'no path' => "nenhum caminho",
'no file' => "nenhum arquivo",
'view type number missing' => "Ver tipo de número faltando",
'Not enought Memory' => "Memória insuficiente",
'max_size_reached' => "Sua pasta de imagens atingiu seu tamanho máximo de %d MB.", //%d = max overall size
'B' => "B",
'KB' => "KB",
'MB' => "MB",
'GB' => "GB",
'TB' => "TB",
'total size' => "Tamanho total",
);
<?php
return array(
'Select' => 'Selecionar',
'Erase' => 'Apagar',
'Open' => 'Abrir',
'Confirm_del' => 'Tem certeza que quer deletar este arquivo?',
'All' => 'Todos',
'Files' => 'Arquivos',
'Images' => 'Imagens',
'Archives' => 'Compactados',
'Error_Upload' => 'O arquivo enviado é maior que o limite permitido.',
'Error_extension' => 'Extensão não permitida.',
'Upload_file' => 'Enviar um arquivo',
'Filters' => 'Filtro',
'Videos' => 'Vídeos',
'Music' => 'Musica',
'New_Folder' => 'Nova pasta',
'Folder_Created' => 'Pasta criada corretamente',
'Existing_Folder' => 'Pasta existente',
'Confirm_Folder_del' => 'Tem certeza que você quer deletar a pasta e todo o seu conteúdo?',
'Return_Files_List' => 'Voltar à lista de arquivos',
'Preview' => 'Prévia',
'Download' => 'Baixar',
'Insert_Folder_Name' => 'Insira o nome da pasta:',
'Root' => 'root',
'Rename' => 'Mudar o nome',
'Back' => 'de volta',
'View' => 'Modo de Visualização',
'View_list' => 'Lista',
'View_columns_list' => 'Lista de Colunas',
'View_boxes' => 'Box',
'Toolbar' => 'Toolbar',
'Actions' => 'Ações',
'Rename_existing_file' => 'O arquivo já existe!',
'Rename_existing_folder' => 'A pasta já existe!',
'Empty_name' => 'O nome está vazio!',
'Text_filter' => 'Filtrar',
'Swipe_help' => 'Passe o nome do arquivo/pasta para ver as opções',
'Upload_base' => 'Base upload',
'Upload_url' => 'URL',
'Upload_java' => 'JAVA upload (Arquivos grandes)',
'Upload_java_help' => "Se o Java Applet não carregar: 1. Certifique-se de ter o Java instalado de outra forma <a href='http://java.com/en/download/'>[download link]</a> 2. Certifique-se que nada é impedido pelo firewall",
'Upload_base_help' => "Arraste e Solta os arquivos dentro área acima ou clique nele (para navegadores modernos), caso contrário, selecione o arquivo e clique no botão. Quando terminar o upload, clique no botão de retorno superior.",
'Type_dir' => 'dir',
'Type' => 'Tipo',
'Dimension' => 'Dimensão',
'Size' => 'Tamanho',
'Date' => 'Data',
'Filename' => 'Nome',
'Operations' => 'Operações',
'Date_type' => 'd/m/Y',
'OK' => 'OK',
'Cancel' => 'Cancelar',
'Sorting' => 'Ordenar',
'Show_url' => 'Mostrar URL',
'Extract' => 'Extrair aqui',
'File_info' => 'Informação do Arquivo',
'Edit_image' => 'Editar a imagem',
'Duplicate' => 'Duplicar',
'Folders' => 'Pastas',
'Copy' => 'Copiar',
'Cut' => 'Recortar',
'Paste' => 'Colar',
'CB' => 'Área de Transferência', // clipboard
'Paste_Here' => 'Copiar para este diretório',
'Paste_Confirm' => 'Você tem certeza quer copiar para este diretório? Isso sobrescreverá pastas/arquivos existentes se encontrar alguma coisa.',
'Paste_Failed' => 'Não foi possível colar o(s) arquivo(s)',
'Clear_Clipboard' => 'Limpar área de transferência',
'Clear_Clipboard_Confirm' => 'Tem certeza de que deseja limpar a área de transferência?',
'Files_ON_Clipboard' => 'Há arquivos na área de transferência.',
'Copy_Cut_Size_Limit' => 'Os arquivos/pastas selecionados são grandes demais para %s. Limite: %d MB/operação', // %s = cut or copy
'Copy_Cut_Count_Limit' => 'Você selecionou muitos arquivos/pastas para %s. Limite: %d arquivos/operação', // %s = cut or copy
'Copy_Cut_Not_Allowed' => 'Você não tem permissão para %s arquivos.', // %s(1) = cut or copy, %s(2) = files or folders
'Aviary_No_Save' => 'Não foi possível salvar a imagem',
'Zip_No_Extract' => 'Não foi possível extrair. Arquivo pode estar corrompido.',
'Zip_Invalid' => 'Esta extensão não é suportada. Válidos: zip, gz, tar.',
'Dir_No_Write' => 'O diretório selecionado não é gravável.',
'Function_Disabled' => 'A função %s foi desativado pelo servidor.', // %s = cut or copy
'File_Permission' => 'Permissão arquivo',
'File_Permission_Not_Allowed' => 'Mudanças de permissões de %s não são permitidos.', // %s = files or folders
'File_Permission_Recursive' => 'Aplicar recursivamente?',
'File_Permission_Wrong_Mode' => "O modo de permissão fornecido está incorreto.",
'User' => 'Usuário',
'Group' => 'Grupo',
'Yes' => 'Sim',
'No' => 'Não',
'Lang_Not_Found' => 'Não foi possível encontrar uma linguagem.',
'Lang_Change' => 'Alterar o idioma',
'File_Not_Found' => 'Não foi possível encontrar o arquivo.',
'File_Open_Edit_Not_Allowed' => 'Você não tem permissão para %s este arquivo.', // %s = open or edit
'Edit' => 'Editar',
'Edit_File' => "Editar conteúdo do arquivo",
'File_Save_OK' => "Arquivo salvo com sucesso.",
'File_Save_Error' => "Houve um erro ao salvar o arquivo.",
'New_File' => 'Novo Arquivo',
'No_Extension' => 'Você tem que adicionar uma extensão de arquivo.',
'Valid_Extensions' => 'Extensões válidas: %s', // %s = txt,log etc.
'Upload_message' => "Arraste arquivo aqui para enviar",
'SERVER ERROR' => "ERRO SERVIDOR",
'forbiden' => "proibido",
'wrong path' => "caminho errado",
'wrong name' => "nome errado",
'wrong extension' => "extensão errada",
'wrong option' => "opção errada",
'wrong data' => "dados errados",
'wrong action' => "ação errada",
'wrong sub-action' => "sub-ação errada",
'no action passed' => "nenhuma ação passada",
'no path' => "nenhum caminho",
'no file' => "nenhum arquivo",
'view type number missing' => "Ver tipo de número faltando",
'Not enought Memory' => "Memória insuficiente",
'max_size_reached' => "Sua pasta de imagens atingiu seu tamanho máximo de %d MB.", //%d = max overall size
'B' => "B",
'KB' => "KB",
'MB' => "MB",
'GB' => "GB",
'TB' => "TB",
'total size' => "Tamanho total",
);

View File

@@ -1,122 +1,122 @@
<?php
return array(
'Select' => 'Выбрать',
'Erase' => 'Удалить',
'Open' => 'Открыть',
'Confirm_del' => 'Вы уверены, что хотите удалить этот файл?',
'All' => 'Очистить фильтр',
'Files' => 'Файлы',
'Images' => 'Изображения',
'Archives' => 'Архивы',
'Error_Upload' => 'Загружаемый файл превышает допустимый размер.',
'Error_extension' => 'Недопустимый формат файла.',
'Upload_file' => 'Загрузить файл',
'Filters' => 'Фильтр',
'Videos' => 'Видео',
'Music' => 'Музыка',
'New_Folder' => 'Новая папка',
'Folder_Created' => 'Папка успешно создана',
'Existing_Folder' => 'Существующая папка',
'Confirm_Folder_del' => 'Вы уверены, что хотите удалить эту папку и все файлы в ней?',
'Return_Files_List' => 'Вернуться к списку файлов',
'Preview' => 'Просмотр',
'Download' => 'Загрузить',
'Insert_Folder_Name' => 'Введите имя папки:',
'Root' => 'Корневая папка',
'Rename' => 'Переименовать',
'Back' => 'Назад',
'View' => 'Вид',
'View_list' => 'Список',
'View_columns_list' => 'Столбцы',
'View_boxes' => 'Плитка',
'Toolbar' => 'Панель',
'Actions' => 'Действия',
'Rename_existing_file' => 'Файл уже существует',
'Rename_existing_folder' => 'Папка уже существует',
'Empty_name' => 'Не заполнено имя',
'Text_filter' => 'фильтр',
'Swipe_help' => 'Наведите на имя файла/папки, чтобы увидеть опции',
'Upload_base' => 'Основная загрузка',
'Upload_url' => 'URL',
'Upload_java' => 'JAVA загрузка (для файлов больших размеров)',
'Upload_java_help' => "Если Java-апплет не загружается: 1. Убедитесь, что установлена Java, в противном случае <a href='http://java.com/en/download/'>[скачайте]</a> 2. Убедитесь, что фаервол ничего не блокирует",
'Upload_base_help' => "Перетащите файлы в область выше или щелкните по ней мышкой (для современных браузеров) и выберите файл(ы). После завершения загрузки нажмите кнопку &laquo;Вернуться к списку файлов&raquo;.",
'Type_dir' => 'папка',
'Type' => 'Тип',
'Dimension' => 'Разрешение',
'Size' => 'Размер',
'Date' => 'Дата',
'Filename' => 'Имя&nbsp;файла',
'Operations' => 'Действие',
'Date_type' => 'd-m-Y',
'OK' => 'OK',
'Cancel' => 'Отмена',
'Sorting' => 'Сортировка',
'Show_url' => 'Показать URL',
'Extract' => 'Распаковать здесь',
'File_info' => 'Свойства файла',
'Edit_image' => 'Редактировать',
'Duplicate' => 'Создать копию',
'Folders' => 'Папки',
'Copy' => 'Копировать',
'Cut' => 'Вырезать',
'Paste' => 'Вставить',
'CB' => 'Буфер обмена', // clipboard
'Paste_Here' => 'Вставить в текущую папку',
'Paste_Confirm' => 'Вы хотите вставить в эту папку? При совпадении имён файлы будут перезаписаны',
'Paste_Failed' => 'Не удалось вставить файл(ы).',
'Clear_Clipboard' => 'Очистить буфер обмена',
'Clear_Clipboard_Confirm' => 'Очистить буфер обмена?',
'Files_ON_Clipboard' => 'Есть файлы в буфере обмена.',
'Copy_Cut_Size_Limit' => 'Выбранные файлы/папки слишком большие для %s. Ограничение: %d Мб за одну операцию', // %s = cut or copy
'Copy_Cut_Count_Limit' => 'Выбрано слишком много файлов/папок для %s. Ограничение: %d файлов за одну операцию', // %s = cut or copy
'Copy_Cut_Not_Allowed' => 'Вы не можете %s файлы.', // %s(1) = cut or copy, %s(2) = files or folders
'Aviary_No_Save' => 'Невозможно сохранить изображение.',
'Zip_No_Extract' => 'Извлечь невозможно. Возможно файл повреждён.',
'Zip_Invalid' => 'Это расширение не поддерживается. Разрешённые: zip, gz, tar.',
'Dir_No_Write' => 'Выбранный каталог недоступен для записи.',
'Function_Disabled' => 'Функция %s была отключена на сервере.', // %s = cut or copy
'File_Permission' => 'Разрешения на файл',
'File_Permission_Not_Allowed' => 'Изменение разрешений %s не допускается.', // %s = files or folders
'File_Permission_Recursive' => 'Применить рекурсивно?',
'File_Permission_Wrong_Mode' => "Выбранные режим разрешений некорректен.",
'User' => 'Пользователь',
'Group' => 'Группа',
'Yes' => 'Да',
'No' => 'Нет',
'Lang_Not_Found' => 'Невозможно найти язык',
'Lang_Change' => 'Сменить язык',
'File_Not_Found' => 'Невозможно найти файл',
'File_Open_Edit_Not_Allowed' => 'Вы не можете %s этот файл.', // %s = open or edit
'Edit' => 'Редактировать',
'Edit_File' => "Редактировать содержимое файла",
'File_Save_OK' => "Файл успешно сохранён",
'File_Save_Error' => "Произошла ошибка при сохранении файла",
'New_File' => 'Новый файл',
'No_Extension' => 'Необходимо добавить расширение файла',
'Valid_Extensions' => 'Разрешённые расширения файла: %s', // %s = txt,log etc.
'Upload_message' => "Перетащите файл сюда, чтобы загрузить",
'SERVER ERROR' => "СЕРВЕРНАЯ ОШИБКА",
'forbiden' => "Запрещено",
'wrong path' => "Неверный путь",
'wrong name' => "Неверное имя",
'wrong extension' => "Неверное расширение",
'wrong option' => "Неверная опция",
'wrong data' => "Неверные данные",
'wrong action' => "Неверное действие",
'wrong sub-action' => "Неверное доп.действие",
'no action passed' => "Действие не сработало",
'no path' => "Путь не существует",
'no file' => "Файл не существует",
'view type number missing' => "Данный тип отсутствует",
'Not enought Memory' => "Недостаточно памяти",
'max_size_reached' => "Папка достигла максимального размера в %d MB.", //%d = max overall size
'B' => "B",
'KB' => "KB",
'MB' => "MB",
'GB' => "GB",
'TB' => "TB",
'total size' => "Общий размер",
);
<?php
return array(
'Select' => 'Выбрать',
'Erase' => 'Удалить',
'Open' => 'Открыть',
'Confirm_del' => 'Вы уверены, что хотите удалить этот файл?',
'All' => 'Очистить фильтр',
'Files' => 'Файлы',
'Images' => 'Изображения',
'Archives' => 'Архивы',
'Error_Upload' => 'Загружаемый файл превышает допустимый размер.',
'Error_extension' => 'Недопустимый формат файла.',
'Upload_file' => 'Загрузить файл',
'Filters' => 'Фильтр',
'Videos' => 'Видео',
'Music' => 'Музыка',
'New_Folder' => 'Новая папка',
'Folder_Created' => 'Папка успешно создана',
'Existing_Folder' => 'Существующая папка',
'Confirm_Folder_del' => 'Вы уверены, что хотите удалить эту папку и все файлы в ней?',
'Return_Files_List' => 'Вернуться к списку файлов',
'Preview' => 'Просмотр',
'Download' => 'Загрузить',
'Insert_Folder_Name' => 'Введите имя папки:',
'Root' => 'Корневая папка',
'Rename' => 'Переименовать',
'Back' => 'Назад',
'View' => 'Вид',
'View_list' => 'Список',
'View_columns_list' => 'Столбцы',
'View_boxes' => 'Плитка',
'Toolbar' => 'Панель',
'Actions' => 'Действия',
'Rename_existing_file' => 'Файл уже существует',
'Rename_existing_folder' => 'Папка уже существует',
'Empty_name' => 'Не заполнено имя',
'Text_filter' => 'фильтр',
'Swipe_help' => 'Наведите на имя файла/папки, чтобы увидеть опции',
'Upload_base' => 'Основная загрузка',
'Upload_url' => 'URL',
'Upload_java' => 'JAVA загрузка (для файлов больших размеров)',
'Upload_java_help' => "Если Java-апплет не загружается: 1. Убедитесь, что установлена Java, в противном случае <a href='http://java.com/en/download/'>[скачайте]</a> 2. Убедитесь, что фаервол ничего не блокирует",
'Upload_base_help' => "Перетащите файлы в область выше или щелкните по ней мышкой (для современных браузеров) и выберите файл(ы). После завершения загрузки нажмите кнопку &laquo;Вернуться к списку файлов&raquo;.",
'Type_dir' => 'папка',
'Type' => 'Тип',
'Dimension' => 'Разрешение',
'Size' => 'Размер',
'Date' => 'Дата',
'Filename' => 'Имя&nbsp;файла',
'Operations' => 'Действие',
'Date_type' => 'd-m-Y',
'OK' => 'OK',
'Cancel' => 'Отмена',
'Sorting' => 'Сортировка',
'Show_url' => 'Показать URL',
'Extract' => 'Распаковать здесь',
'File_info' => 'Свойства файла',
'Edit_image' => 'Редактировать',
'Duplicate' => 'Создать копию',
'Folders' => 'Папки',
'Copy' => 'Копировать',
'Cut' => 'Вырезать',
'Paste' => 'Вставить',
'CB' => 'Буфер обмена', // clipboard
'Paste_Here' => 'Вставить в текущую папку',
'Paste_Confirm' => 'Вы хотите вставить в эту папку? При совпадении имён файлы будут перезаписаны',
'Paste_Failed' => 'Не удалось вставить файл(ы).',
'Clear_Clipboard' => 'Очистить буфер обмена',
'Clear_Clipboard_Confirm' => 'Очистить буфер обмена?',
'Files_ON_Clipboard' => 'Есть файлы в буфере обмена.',
'Copy_Cut_Size_Limit' => 'Выбранные файлы/папки слишком большие для %s. Ограничение: %d Мб за одну операцию', // %s = cut or copy
'Copy_Cut_Count_Limit' => 'Выбрано слишком много файлов/папок для %s. Ограничение: %d файлов за одну операцию', // %s = cut or copy
'Copy_Cut_Not_Allowed' => 'Вы не можете %s файлы.', // %s(1) = cut or copy, %s(2) = files or folders
'Aviary_No_Save' => 'Невозможно сохранить изображение.',
'Zip_No_Extract' => 'Извлечь невозможно. Возможно файл повреждён.',
'Zip_Invalid' => 'Это расширение не поддерживается. Разрешённые: zip, gz, tar.',
'Dir_No_Write' => 'Выбранный каталог недоступен для записи.',
'Function_Disabled' => 'Функция %s была отключена на сервере.', // %s = cut or copy
'File_Permission' => 'Разрешения на файл',
'File_Permission_Not_Allowed' => 'Изменение разрешений %s не допускается.', // %s = files or folders
'File_Permission_Recursive' => 'Применить рекурсивно?',
'File_Permission_Wrong_Mode' => "Выбранные режим разрешений некорректен.",
'User' => 'Пользователь',
'Group' => 'Группа',
'Yes' => 'Да',
'No' => 'Нет',
'Lang_Not_Found' => 'Невозможно найти язык',
'Lang_Change' => 'Сменить язык',
'File_Not_Found' => 'Невозможно найти файл',
'File_Open_Edit_Not_Allowed' => 'Вы не можете %s этот файл.', // %s = open or edit
'Edit' => 'Редактировать',
'Edit_File' => "Редактировать содержимое файла",
'File_Save_OK' => "Файл успешно сохранён",
'File_Save_Error' => "Произошла ошибка при сохранении файла",
'New_File' => 'Новый файл',
'No_Extension' => 'Необходимо добавить расширение файла',
'Valid_Extensions' => 'Разрешённые расширения файла: %s', // %s = txt,log etc.
'Upload_message' => "Перетащите файл сюда, чтобы загрузить",
'SERVER ERROR' => "СЕРВЕРНАЯ ОШИБКА",
'forbiden' => "Запрещено",
'wrong path' => "Неверный путь",
'wrong name' => "Неверное имя",
'wrong extension' => "Неверное расширение",
'wrong option' => "Неверная опция",
'wrong data' => "Неверные данные",
'wrong action' => "Неверное действие",
'wrong sub-action' => "Неверное доп.действие",
'no action passed' => "Действие не сработало",
'no path' => "Путь не существует",
'no file' => "Файл не существует",
'view type number missing' => "Данный тип отсутствует",
'Not enought Memory' => "Недостаточно памяти",
'max_size_reached' => "Папка достигла максимального размера в %d MB.", //%d = max overall size
'B' => "B",
'KB' => "KB",
'MB' => "MB",
'GB' => "GB",
'TB' => "TB",
'total size' => "Общий размер",
);

View File

@@ -1,123 +1,123 @@
<?php
return array(
'Select' => 'Označi',
'Erase' => 'Izbriši',
'Open' => 'Odpri',
'Confirm_del' => 'Ali res želite izbrisati to datoteko?',
'All' => 'Vse',
'Files' => 'Datoteke',
'Images' => 'Slike',
'Archives' => 'Arhiv',
'Error_Upload' => 'Velikost datoteke presega maksimalno dovoljeno velikost.',
'Error_extension' => 'Izbrana vrsta datoteke ni dovoljena.',
'Upload_file' => 'Naloži datoteke na strežnik',
'Filters' => 'Filtri',
'Videos' => 'Video',
'Music' => 'Glasba',
'New_Folder' => 'Nova mapa',
'Folder_Created' => 'Mapa je bila ustvarjena',
'Existing_Folder' => 'Obstoječa mapa',
'Confirm_Folder_del' => 'Ali res želite izbrisati mapo in vso vsebino, ki je v mapi?',
'Return_Files_List' => 'Nazaj na seznam datotek',
'Preview' => 'Predogled',
'Download' => 'Prenesi',
'Insert_Folder_Name' => 'Vpište ime mape:',
'Root' => 'Domov',
'Rename' => 'Preimenuj',
'Back' => 'Nazaj',
'View' => 'Prikaz',
'View_list' => 'Seznam',
'View_columns_list' => 'Stolpci',
'View_boxes' => 'Okvirji',
'Toolbar' => 'Orodna vrstica',
'Actions' => 'Akcije',
'Rename_existing_file' => 'Datoteka že obstaja',
'Rename_existing_folder' => 'Mapa že obstaja',
'Empty_name' => 'Ime je prazno',
'Text_filter' => 'išči',
'Swipe_help' => 'Izmakni ime datoteke/mape za prikaz možnosti',
'Upload_base' => 'Osnovni način',
'Upload_url' => 'URL',
'Upload_java' => 'JAVA prenos (za velike datoteke)',
'Upload_java_help' => "Če se Java ne zažene, preverite če imate Javo naloženo (če je nimate jo <a href='http://java.com/en/download/'>[naložite]</a>) in preverite da je ne blokira vaš požarni zid.",
'Upload_base_help' => 'Povlecite in spustite datoteke ali kliknite v okvir (pri sodobnih brskalnikih) in izberite datoteke. Ko bo nalaganje končano, kliknite gumb "Nazaj na seznam datotek".',
'Type_dir' => 'Mapa',
'Type' => 'Vrsta',
'Dimension' => 'Dimenzija',
'Size' => 'Velikost',
'Date' => 'Datum',
'Filename' => 'Ime',
'Operations' => 'Ukazi',
'Date_type' => 'd.m.y',
'OK' => 'Potrdi',
'Cancel' => 'Prekliči',
'Sorting' => 'Razvrsti po:',
'Show_url' => 'Prikaži povezavo',
'Extract' => 'Razširi sem',
'File_info' => 'Podatki o datoteki',
'Edit_image' => 'Uredi sliko',
'Duplicate' => 'Podvoji',
'Folders' => 'Folders',
'Copy' => 'Copy',
'Cut' => 'Cut',
'Paste' => 'Paste',
'CB' => 'CB', // clipboard
'Paste_Here' => 'Paste to this directory',
'Paste_Confirm' => 'Are you sure you want to paste to this directory? This will overwrite existing files/folders if encountered any.',
'Paste_Failed' => 'Failed to paste file(s)',
'Clear_Clipboard' => 'Clear clipboard',
'Clear_Clipboard_Confirm' => 'Are you sure you want to clear the clipboard?',
'Files_ON_Clipboard' => 'There are files on the clipboard.',
'Copy_Cut_Size_Limit' => 'The selected files/folders are too big to %s. Limit: %d MB/operation', // %s = cut or copy
'Copy_Cut_Count_Limit' => 'You selected too many files/folders to %s. Limit: %d files/operation', // %s = cut or copy
'Copy_Cut_Not_Allowed' => 'You are not allowed to %s files.', // %s(1) = cut or copy, %s(2) = files or folders
'Aviary_No_Save' => 'Could not save image',
'Zip_No_Extract' => 'Could not extract. File might be corrupt.',
'Zip_Invalid' => 'This extension is not supported. Valid: zip, gz, tar.',
'Dir_No_Write' => 'The directory you selected is not writable.',
'Function_Disabled' => 'The %s function has been disabled by the server.', // %s = cut or copy
'File_Permission' => 'File permission',
'File_Permission_Not_Allowed' => 'Changing %s permissions are not allowed.', // %s = files or folders
'File_Permission_Recursive' => 'Apply recursively?',
'File_Permission_Wrong_Mode' => "The supplied permission mode is incorrect.",
'User' => 'User',
'Group' => 'Group',
'Yes' => 'Yes',
'No' => 'No',
'Lang_Not_Found' => 'Could not find language.',
'Lang_Change' => 'Change the language',
'File_Not_Found' => 'Could not find the file.',
'File_Open_Edit_Not_Allowed' => 'You are not allowed to %s this file.', // %s = open or edit
'Edit' => 'Edit',
'Edit_File' => "Edit file's content",
'File_Save_OK' => "File successfully saved.",
'File_Save_Error' => "There was an error while saving the file.",
'New_File' => 'New File',
'No_Extension' => 'You have to add a file extension.',
'Valid_Extensions' => 'Valid extensions: %s', // %s = txt,log etc.
'Upload_message' => "Drop file here to upload",
'SERVER ERROR' => "SERVER ERROR",
'forbiden' => "Forbiden",
'wrong path' => "Wrong path",
'wrong name' => "Wrong name",
'wrong extension' => "Wrong extension",
'wrong option' => "Wrong option",
'wrong data' => "Wrong data",
'wrong action' => "Wrong action",
'wrong sub-action' => "Wrong sub-actio",
'no action passed' => "No action passed",
'no path' => "No path",
'no file' => "No file",
'view type number missing' => "View type number missing",
'Not enought Memory' => "Not enought Memory",
'max_size_reached' => "Your image folder has reach its maximale size of %d MB.", //%d = max overall size
'B' => "B",
'KB' => "KB",
'MB' => "MB",
'GB' => "GB",
'TB' => "TB",
'total size' => "Total size",
);
<?php
return array(
'Select' => 'Označi',
'Erase' => 'Izbriši',
'Open' => 'Odpri',
'Confirm_del' => 'Ali res želite izbrisati to datoteko?',
'All' => 'Vse',
'Files' => 'Datoteke',
'Images' => 'Slike',
'Archives' => 'Arhiv',
'Error_Upload' => 'Velikost datoteke presega maksimalno dovoljeno velikost.',
'Error_extension' => 'Izbrana vrsta datoteke ni dovoljena.',
'Upload_file' => 'Naloži datoteke na strežnik',
'Filters' => 'Filtri',
'Videos' => 'Video',
'Music' => 'Glasba',
'New_Folder' => 'Nova mapa',
'Folder_Created' => 'Mapa je bila ustvarjena',
'Existing_Folder' => 'Obstoječa mapa',
'Confirm_Folder_del' => 'Ali res želite izbrisati mapo in vso vsebino, ki je v mapi?',
'Return_Files_List' => 'Nazaj na seznam datotek',
'Preview' => 'Predogled',
'Download' => 'Prenesi',
'Insert_Folder_Name' => 'Vpište ime mape:',
'Root' => 'Domov',
'Rename' => 'Preimenuj',
'Back' => 'Nazaj',
'View' => 'Prikaz',
'View_list' => 'Seznam',
'View_columns_list' => 'Stolpci',
'View_boxes' => 'Okvirji',
'Toolbar' => 'Orodna vrstica',
'Actions' => 'Akcije',
'Rename_existing_file' => 'Datoteka že obstaja',
'Rename_existing_folder' => 'Mapa že obstaja',
'Empty_name' => 'Ime je prazno',
'Text_filter' => 'išči',
'Swipe_help' => 'Izmakni ime datoteke/mape za prikaz možnosti',
'Upload_base' => 'Osnovni način',
'Upload_url' => 'URL',
'Upload_java' => 'JAVA prenos (za velike datoteke)',
'Upload_java_help' => "Če se Java ne zažene, preverite če imate Javo naloženo (če je nimate jo <a href='http://java.com/en/download/'>[naložite]</a>) in preverite da je ne blokira vaš požarni zid.",
'Upload_base_help' => 'Povlecite in spustite datoteke ali kliknite v okvir (pri sodobnih brskalnikih) in izberite datoteke. Ko bo nalaganje končano, kliknite gumb "Nazaj na seznam datotek".',
'Type_dir' => 'Mapa',
'Type' => 'Vrsta',
'Dimension' => 'Dimenzija',
'Size' => 'Velikost',
'Date' => 'Datum',
'Filename' => 'Ime',
'Operations' => 'Ukazi',
'Date_type' => 'd.m.y',
'OK' => 'Potrdi',
'Cancel' => 'Prekliči',
'Sorting' => 'Razvrsti po:',
'Show_url' => 'Prikaži povezavo',
'Extract' => 'Razširi sem',
'File_info' => 'Podatki o datoteki',
'Edit_image' => 'Uredi sliko',
'Duplicate' => 'Podvoji',
'Folders' => 'Folders',
'Copy' => 'Copy',
'Cut' => 'Cut',
'Paste' => 'Paste',
'CB' => 'CB', // clipboard
'Paste_Here' => 'Paste to this directory',
'Paste_Confirm' => 'Are you sure you want to paste to this directory? This will overwrite existing files/folders if encountered any.',
'Paste_Failed' => 'Failed to paste file(s)',
'Clear_Clipboard' => 'Clear clipboard',
'Clear_Clipboard_Confirm' => 'Are you sure you want to clear the clipboard?',
'Files_ON_Clipboard' => 'There are files on the clipboard.',
'Copy_Cut_Size_Limit' => 'The selected files/folders are too big to %s. Limit: %d MB/operation', // %s = cut or copy
'Copy_Cut_Count_Limit' => 'You selected too many files/folders to %s. Limit: %d files/operation', // %s = cut or copy
'Copy_Cut_Not_Allowed' => 'You are not allowed to %s files.', // %s(1) = cut or copy, %s(2) = files or folders
'Aviary_No_Save' => 'Could not save image',
'Zip_No_Extract' => 'Could not extract. File might be corrupt.',
'Zip_Invalid' => 'This extension is not supported. Valid: zip, gz, tar.',
'Dir_No_Write' => 'The directory you selected is not writable.',
'Function_Disabled' => 'The %s function has been disabled by the server.', // %s = cut or copy
'File_Permission' => 'File permission',
'File_Permission_Not_Allowed' => 'Changing %s permissions are not allowed.', // %s = files or folders
'File_Permission_Recursive' => 'Apply recursively?',
'File_Permission_Wrong_Mode' => "The supplied permission mode is incorrect.",
'User' => 'User',
'Group' => 'Group',
'Yes' => 'Yes',
'No' => 'No',
'Lang_Not_Found' => 'Could not find language.',
'Lang_Change' => 'Change the language',
'File_Not_Found' => 'Could not find the file.',
'File_Open_Edit_Not_Allowed' => 'You are not allowed to %s this file.', // %s = open or edit
'Edit' => 'Edit',
'Edit_File' => "Edit file's content",
'File_Save_OK' => "File successfully saved.",
'File_Save_Error' => "There was an error while saving the file.",
'New_File' => 'New File',
'No_Extension' => 'You have to add a file extension.',
'Valid_Extensions' => 'Valid extensions: %s', // %s = txt,log etc.
'Upload_message' => "Drop file here to upload",
'SERVER ERROR' => "SERVER ERROR",
'forbiden' => "Forbiden",
'wrong path' => "Wrong path",
'wrong name' => "Wrong name",
'wrong extension' => "Wrong extension",
'wrong option' => "Wrong option",
'wrong data' => "Wrong data",
'wrong action' => "Wrong action",
'wrong sub-action' => "Wrong sub-actio",
'no action passed' => "No action passed",
'no path' => "No path",
'no file' => "No file",
'view type number missing' => "View type number missing",
'Not enought Memory' => "Not enought Memory",
'max_size_reached' => "Your image folder has reach its maximale size of %d MB.", //%d = max overall size
'B' => "B",
'KB' => "KB",
'MB' => "MB",
'GB' => "GB",
'TB' => "TB",
'total size' => "Total size",
);

View File

@@ -1,123 +1,123 @@
<?php
return array(
'Select' => 'Вибрати',
'Erase' => 'Видалити',
'Open' => 'Відкрити',
'Confirm_del' => 'Впевнені, що хочете видалити цей файл?',
'All' => 'Всі',
'Files' => 'Файли',
'Images' => 'Зображення',
'Archives' => 'Архіви',
'Error_Upload' => 'Файл, що завантажується перевищує дозволений розмір.',
'Error_extension' => 'Неприпустимий формат файлу.',
'Upload_file' => 'Завантажити файл',
'Filters' => 'Фільтр',
'Videos' => 'Відео',
'Music' => 'Музика',
'New_Folder' => 'Нова тека',
'Folder_Created' => 'Теку успішно створено',
'Existing_Folder' => 'Існуюча тека',
'Confirm_Folder_del' => 'Впевнені, що хочете видалити цю теку і всі файли в ній?',
'Return_Files_List' => 'Повернутися до списку файлів',
'Preview' => 'Перегляд',
'Download' => 'Завантажити',
'Insert_Folder_Name' => 'Введіть ім`я папки:',
'Root' => 'Коренева тека',
'Rename' => 'Переіменувати',
'Back' => 'назад',
'View' => 'Вигляд',
'View_list' => 'Список',
'View_columns_list' => 'Стовпчики',
'View_boxes' => 'Плиткою',
'Toolbar' => 'Панель',
'Actions' => 'Дії',
'Rename_existing_file' => 'Файл вже існує',
'Rename_existing_folder' => 'Тека вже існує',
'Empty_name' => 'Не заповнено ім`я',
'Text_filter' => 'фільтр',
'Swipe_help' => 'Наведіть на ім`я файлу/папки, щоб побачити опції',
'Upload_base' => 'Основне завантаження',
'Upload_url' => 'URL',
'Upload_java' => 'JAVA-завантаження (для файлів великих розмірів)',
'Upload_java_help' => "Якщо Java-апплет не завантажується: 1. переконайтесь, що Java встановлено на вашому комп`ютері, інакше <a href='http://java.com/en/download/'>[завантажте]</a> 2. переконайтесь, що фаєрвол нічого не блокує",
'Upload_base_help' => "Перетягніть файли в область, що вище або клікніть по ній мишкою (для сучасних браузерів), в іншому разі виберіть файл та натисніть кнопку. Коли завантаження закінчиться - натисніть кнопку повернення.",
'Type_dir' => 'Тека',
'Type' => 'Тип',
'Dimension' => 'Розмір',
'Size' => 'Об`єм',
'Date' => 'Дата',
'Filename' => 'Ім`я файлу',
'Operations' => 'Дії',
'Date_type' => 'd-m-y',
'OK' => 'OK',
'Cancel' => 'Відміна',
'Sorting' => 'Сортування',
'Show_url' => 'Показати URL',
'Extract' => 'Видобути тут',
'File_info' => 'Інфо файла',
'Edit_image' => 'Редагувати зображення',
'Duplicate' => 'Дублікати',
'Folders' => 'Папки',
'Copy' => 'Копіювати',
'Cut' => 'Вирізати',
'Paste' => 'Вставити',
'CB' => 'БО', // clipboard
'Paste_Here' => 'Вставити в цю теку',
'Paste_Confirm' => 'Ви впевнені, що хочете вставити в цю теку? Це перезапише всі файли/папки, якщо такі будуть.',
'Paste_Failed' => 'Помилка вставки файлів',
'Clear_Clipboard' => 'Очистити буфер обміну',
'Clear_Clipboard_Confirm' => 'Ви впевнені, що хочете очистити буфер обміну?',
'Files_ON_Clipboard' => 'Немає файлів у буфері обміну.',
'Copy_Cut_Size_Limit' => 'Вибрані файли/папки завеликі для %s. Обмеження: %d MB/операцію', // %s = cut or copy
'Copy_Cut_Count_Limit' => 'Ви вибрали забагато файлів/папок для %s. Обмеження: %d файлів/операцію', // %s = cut or copy
'Copy_Cut_Not_Allowed' => 'У вас немає прав доступу для %s файлів.', // %s(1) = cut or copy, %s(2) = files or folders
'Aviary_No_Save' => 'Неможливо зберегти зображення',
'Zip_No_Extract' => 'Неможливо видобути. Файл може бути пошкодженим',
'Zip_Invalid' => 'Це розширення не підтримується. Можливі: zip, gz, tar.',
'Dir_No_Write' => 'Обрана тека захищена від запису.',
'Function_Disabled' => 'Функція %s заборонена сервером.', // %s = cut or copy
'File_Permission' => 'Права доступу',
'File_Permission_Not_Allowed' => 'Зміна прав доступу для %s заборонена.', // %s = files or folders
'File_Permission_Recursive' => 'Застосувати рекурсивно?',
'File_Permission_Wrong_Mode' => "Наданы права доступу невірні.",
'User' => 'Користувач',
'Group' => 'Група',
'Yes' => 'Так',
'No' => 'Ні',
'Lang_Not_Found' => 'Не можу знайти мову.',
'Lang_Change' => 'Зміна мови',
'File_Not_Found' => 'Не можу знайти файл.',
'File_Open_Edit_Not_Allowed' => 'У вас немає прав для відкриття цього файлу %s.', // %s = open or edit
'Edit' => 'Редагувати',
'Edit_File' => "Редагувати вміст файлу",
'File_Save_OK' => "Файл успішно збережено.",
'File_Save_Error' => "Виникла помилка при збереженні файлу.",
'New_File' => 'Новий файл',
'No_Extension' => 'Вам необхідно додати розширення файлу.',
'Valid_Extensions' => 'Дозволені розширення: %s', // %s = txt,log etc.
'Upload_message' => "Перетягніть сюди файл для завантаження",
'SERVER ERROR' => "ПОМИЛКА СЕРВЕРА",
'forbiden' => "Заборонено",
'wrong path' => "Хибний шлях",
'wrong name' => "Хибне ім`я",
'wrong extension' => "Хибне розширення",
'wrong option' => "Хибна операція",
'wrong data' => "Хибні дані",
'wrong action' => "Хибна дія",
'wrong sub-action' => "Хибна під-дія",
'no action passed' => "Жодної дії не передано",
'no path' => "Немає шляху",
'no file' => "Немає файлу",
'view type number missing' => "Відсутній номер типу перегляду",
'Not enought Memory' => "Недостатньо пам`яті",
'max_size_reached' => "Ваша тека досягла максимального ліміту у %d Мб.", //%d = max overall size
'B' => "Б",
'KB' => "Кб",
'MB' => "Мб",
'GB' => "Гб",
'TB' => "Тб",
'total size' => "Загальний розмір",
);
<?php
return array(
'Select' => 'Вибрати',
'Erase' => 'Видалити',
'Open' => 'Відкрити',
'Confirm_del' => 'Впевнені, що хочете видалити цей файл?',
'All' => 'Всі',
'Files' => 'Файли',
'Images' => 'Зображення',
'Archives' => 'Архіви',
'Error_Upload' => 'Файл, що завантажується перевищує дозволений розмір.',
'Error_extension' => 'Неприпустимий формат файлу.',
'Upload_file' => 'Завантажити файл',
'Filters' => 'Фільтр',
'Videos' => 'Відео',
'Music' => 'Музика',
'New_Folder' => 'Нова тека',
'Folder_Created' => 'Теку успішно створено',
'Existing_Folder' => 'Існуюча тека',
'Confirm_Folder_del' => 'Впевнені, що хочете видалити цю теку і всі файли в ній?',
'Return_Files_List' => 'Повернутися до списку файлів',
'Preview' => 'Перегляд',
'Download' => 'Завантажити',
'Insert_Folder_Name' => 'Введіть ім`я папки:',
'Root' => 'Коренева тека',
'Rename' => 'Переіменувати',
'Back' => 'назад',
'View' => 'Вигляд',
'View_list' => 'Список',
'View_columns_list' => 'Стовпчики',
'View_boxes' => 'Плиткою',
'Toolbar' => 'Панель',
'Actions' => 'Дії',
'Rename_existing_file' => 'Файл вже існує',
'Rename_existing_folder' => 'Тека вже існує',
'Empty_name' => 'Не заповнено ім`я',
'Text_filter' => 'фільтр',
'Swipe_help' => 'Наведіть на ім`я файлу/папки, щоб побачити опції',
'Upload_base' => 'Основне завантаження',
'Upload_url' => 'URL',
'Upload_java' => 'JAVA-завантаження (для файлів великих розмірів)',
'Upload_java_help' => "Якщо Java-апплет не завантажується: 1. переконайтесь, що Java встановлено на вашому комп`ютері, інакше <a href='http://java.com/en/download/'>[завантажте]</a> 2. переконайтесь, що фаєрвол нічого не блокує",
'Upload_base_help' => "Перетягніть файли в область, що вище або клікніть по ній мишкою (для сучасних браузерів), в іншому разі виберіть файл та натисніть кнопку. Коли завантаження закінчиться - натисніть кнопку повернення.",
'Type_dir' => 'Тека',
'Type' => 'Тип',
'Dimension' => 'Розмір',
'Size' => 'Об`єм',
'Date' => 'Дата',
'Filename' => 'Ім`я файлу',
'Operations' => 'Дії',
'Date_type' => 'd-m-y',
'OK' => 'OK',
'Cancel' => 'Відміна',
'Sorting' => 'Сортування',
'Show_url' => 'Показати URL',
'Extract' => 'Видобути тут',
'File_info' => 'Інфо файла',
'Edit_image' => 'Редагувати зображення',
'Duplicate' => 'Дублікати',
'Folders' => 'Папки',
'Copy' => 'Копіювати',
'Cut' => 'Вирізати',
'Paste' => 'Вставити',
'CB' => 'БО', // clipboard
'Paste_Here' => 'Вставити в цю теку',
'Paste_Confirm' => 'Ви впевнені, що хочете вставити в цю теку? Це перезапише всі файли/папки, якщо такі будуть.',
'Paste_Failed' => 'Помилка вставки файлів',
'Clear_Clipboard' => 'Очистити буфер обміну',
'Clear_Clipboard_Confirm' => 'Ви впевнені, що хочете очистити буфер обміну?',
'Files_ON_Clipboard' => 'Немає файлів у буфері обміну.',
'Copy_Cut_Size_Limit' => 'Вибрані файли/папки завеликі для %s. Обмеження: %d MB/операцію', // %s = cut or copy
'Copy_Cut_Count_Limit' => 'Ви вибрали забагато файлів/папок для %s. Обмеження: %d файлів/операцію', // %s = cut or copy
'Copy_Cut_Not_Allowed' => 'У вас немає прав доступу для %s файлів.', // %s(1) = cut or copy, %s(2) = files or folders
'Aviary_No_Save' => 'Неможливо зберегти зображення',
'Zip_No_Extract' => 'Неможливо видобути. Файл може бути пошкодженим',
'Zip_Invalid' => 'Це розширення не підтримується. Можливі: zip, gz, tar.',
'Dir_No_Write' => 'Обрана тека захищена від запису.',
'Function_Disabled' => 'Функція %s заборонена сервером.', // %s = cut or copy
'File_Permission' => 'Права доступу',
'File_Permission_Not_Allowed' => 'Зміна прав доступу для %s заборонена.', // %s = files or folders
'File_Permission_Recursive' => 'Застосувати рекурсивно?',
'File_Permission_Wrong_Mode' => "Наданы права доступу невірні.",
'User' => 'Користувач',
'Group' => 'Група',
'Yes' => 'Так',
'No' => 'Ні',
'Lang_Not_Found' => 'Не можу знайти мову.',
'Lang_Change' => 'Зміна мови',
'File_Not_Found' => 'Не можу знайти файл.',
'File_Open_Edit_Not_Allowed' => 'У вас немає прав для відкриття цього файлу %s.', // %s = open or edit
'Edit' => 'Редагувати',
'Edit_File' => "Редагувати вміст файлу",
'File_Save_OK' => "Файл успішно збережено.",
'File_Save_Error' => "Виникла помилка при збереженні файлу.",
'New_File' => 'Новий файл',
'No_Extension' => 'Вам необхідно додати розширення файлу.',
'Valid_Extensions' => 'Дозволені розширення: %s', // %s = txt,log etc.
'Upload_message' => "Перетягніть сюди файл для завантаження",
'SERVER ERROR' => "ПОМИЛКА СЕРВЕРА",
'forbiden' => "Заборонено",
'wrong path' => "Хибний шлях",
'wrong name' => "Хибне ім`я",
'wrong extension' => "Хибне розширення",
'wrong option' => "Хибна операція",
'wrong data' => "Хибні дані",
'wrong action' => "Хибна дія",
'wrong sub-action' => "Хибна під-дія",
'no action passed' => "Жодної дії не передано",
'no path' => "Немає шляху",
'no file' => "Немає файлу",
'view type number missing' => "Відсутній номер типу перегляду",
'Not enought Memory' => "Недостатньо пам`яті",
'max_size_reached' => "Ваша тека досягла максимального ліміту у %d Мб.", //%d = max overall size
'B' => "Б",
'KB' => "Кб",
'MB' => "Мб",
'GB' => "Гб",
'TB' => "Тб",
'total size' => "Загальний розмір",
);

View File

@@ -1,166 +1,166 @@
<?php
$config = include '../config/config.php';
//TODO switch to array
extract($config, EXTR_OVERWRITE);
if ( ! $java_upload)
{
die('forbidden');
}
if ($_SESSION['RF']["verify"] != "RESPONSIVEfilemanager")
{
die('forbidden');
}
//Let's load the 'interesting' stuff ... ;-)
include 'jupload.php';
include '../include/utils.php';
$path = $current_path . $_GET['path'];
$cycle = true;
$max_cycles = 50;
$i = 0;
while ($cycle && $i < $max_cycles)
{
$i++;
if ($path == $current_path)
{
$cycle = false;
}
if (file_exists($path . "config.php"))
{
require_once $path . "config.php";
$cycle = false;
}
$path = fix_dirname($path) . "/";
}
$path = "../" . $current_path . $_GET['path'];
if (strpos($_GET['path'], '../') !== false || strpos($_GET['path'], './') !== false || strpos($_GET['path'], '/') === 0)
{
die ('path error');
}
$path = str_replace(' ', '~', $path);
////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////// The user callback function, that can be called after upload ////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////
/**
* This function will be called, once all files are uploaded, with the list of uploaded files as an argument.
*
* Condition to have this function called:
* - Have the applet parameter afterUploadURL unset in this file. This makes the applet use its default behavior, that
* is: afterUploadURL is the current web page, with the ?afterupload=1 parameter added.
* - Have the class parameter callbackAfterUploadManagement set to 'handle_uploaded_files', name of this callback. You
* can use any name you want, but the function must accept one unique parameter: the array that contains the file
* descriptions.
*
* @param $juploadPhpSupportClass The instance of the JUpload PHP class.
* @param $file The array wich contains info about all uploaded files.
*/
function handle_uploaded_files($juploadPhpSupportClass, $files)
{
return
"<P>We are in the 'handle_uploaded_files' callback function, in the index.php script. To avoid double coding, we "
. "just call the default behavior of the JUpload PHP class. Just replace this by your code...</P>"
. $juploadPhpSupportClass->defaultAfterUploadManagement();;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
//First: the applet parameters
//
// Default value should work nice on most configuration. In this sample, we use some specific parameters, to show
// how to use this array.
// See comment for the parameters used on this demo page.
//
// You can use all applet parameters in this array.
// see all details http://jupload.sourceforge.net/howto-customization.html
//
$appletParameters = array(
//Default value is ... maximum size for a file on the current FS. 2G is problably too much already.
'maxFileSize' => $JAVAMaxSizeUpload . 'G',
//
//In the sourceforge project structure, the applet jar file is one folder below. Default
//configuration is ok, if wjhk.jupload.jar is in the same folder as the script containing this call.
'archive' => 'wjhk.jupload.jar',
'showLogWindow' => 'false',
'width' => '100%',
'height' => '358px',
'name' => 'No limit Uploader',
'allowedFileExtensions' => implode('/', $ext),
//To manage, other jar files, like the ftp jar files if postURL is an FTP URL:
//'archive' => 'wjhk.jupload.jar,jakarta-commons-oro.jar,jakarta-commons-net.jar',
//
//Default afterUploadURL displays the list of uploaded files above the applet (in the <!--JUPLOAD_FILES--> markers, see below)
//You can use any page you want, to manage the uploaded files. Here is a sample, that also only shows the list of files.
'afterUploadURL' => 'success.php?path=' . $_GET['path'],
//
//This demo expects the md5sum to be sent by the applet. But the parameter is not mandatory
//This value should be set to false (or the line commented), for big files, as md5 calculation
//may be long (Note this must be string and *not* boolean true/false)
'sendMD5Sum' => 'false',
//
'debugLevel' => 0 // 100 disables redirect after upload, so we keep it below. This still gives a lot of information, in case of problem.
);
// for htaccess protected folders
if ((isset($_SERVER['PHP_AUTH_USER']) && $_SERVER['PHP_AUTH_USER'] != '') && $_SERVER['PHP_AUTH_USER'] != '' && $_SERVER['PHP_AUTH_USER'] != '')
{
$appletParameters['specificHeaders'] = 'Authorization: Basic ' . base64_encode($_SERVER['PHP_AUTH_USER'] . ":" . $_SERVER['PHP_AUTH_PW']);
}
//
//Then: the jupload PHP class parameters
$classParameters = array(
//Files won't be stored on the server. Useful for first tests of the applet behavior ... and sourceforge demo site !
'demo_mode' => false,
//
//Allow creation of subdirectories, when uploading several folders/files (drag and drop a folder on the applet to use it).
'allow_subdirs' => true,
//
// The callbackAfterUploadManagement function will be called, once all files are uploaded, with the list
//of uploaded files as an argument. See the above sample, and change it according to your needs.
//'callbackAfterUploadManagement' => 'handle_uploaded_files',
//
//I work on windows. The default configuration is /var/tmp/jupload_test
'destdir' => $path //Where to store the files on the web
//'errormail' => 'me@my.domain.org',
);
if ( ! empty($convert_spaces))
{
$classParameters['convert_spaces'] = true;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
// Instantiate and initialize JUpload : integration of the applet in your web site.
$juploadPhpSupportClass = new JUpload($appletParameters, $classParameters);
////////////////////////////////////////////////////////////////////////////////////////////////////////
//Then, a simple HTML page, for the demo
//
// "<!--JUPLOAD_FILES-->" is the tag where the list of uploaded files will be written.
// "<!--JUPLOAD_APPLET-->" is the place where the applet will be integrated, in the web page.
?>
<html>
<head>
<!--JUPLOAD_JSCRIPT-->
<title>JUpload RESPONSIVE filemanager</title>
<style>
body {
padding: 0px;
margin: 0px;
}
</style>
</head>
<body>
<div align="center"><!--JUPLOAD_FILES--></div>
<div align="center"><!--JUPLOAD_APPLET--></div>
</body>
<?php
$config = include '../config/config.php';
//TODO switch to array
extract($config, EXTR_OVERWRITE);
if ( ! $java_upload)
{
die('forbidden');
}
if ($_SESSION['RF']["verify"] != "RESPONSIVEfilemanager")
{
die('forbidden');
}
//Let's load the 'interesting' stuff ... ;-)
include 'jupload.php';
include '../include/utils.php';
$path = $current_path . $_GET['path'];
$cycle = true;
$max_cycles = 50;
$i = 0;
while ($cycle && $i < $max_cycles)
{
$i++;
if ($path == $current_path)
{
$cycle = false;
}
if (file_exists($path . "config.php"))
{
require_once $path . "config.php";
$cycle = false;
}
$path = fix_dirname($path) . "/";
}
$path = "../" . $current_path . $_GET['path'];
if (strpos($_GET['path'], '../') !== false || strpos($_GET['path'], './') !== false || strpos($_GET['path'], '/') === 0)
{
die ('path error');
}
$path = str_replace(' ', '~', $path);
////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////// The user callback function, that can be called after upload ////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////
/**
* This function will be called, once all files are uploaded, with the list of uploaded files as an argument.
*
* Condition to have this function called:
* - Have the applet parameter afterUploadURL unset in this file. This makes the applet use its default behavior, that
* is: afterUploadURL is the current web page, with the ?afterupload=1 parameter added.
* - Have the class parameter callbackAfterUploadManagement set to 'handle_uploaded_files', name of this callback. You
* can use any name you want, but the function must accept one unique parameter: the array that contains the file
* descriptions.
*
* @param $juploadPhpSupportClass The instance of the JUpload PHP class.
* @param $file The array wich contains info about all uploaded files.
*/
function handle_uploaded_files($juploadPhpSupportClass, $files)
{
return
"<P>We are in the 'handle_uploaded_files' callback function, in the index.php script. To avoid double coding, we "
. "just call the default behavior of the JUpload PHP class. Just replace this by your code...</P>"
. $juploadPhpSupportClass->defaultAfterUploadManagement();;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
//First: the applet parameters
//
// Default value should work nice on most configuration. In this sample, we use some specific parameters, to show
// how to use this array.
// See comment for the parameters used on this demo page.
//
// You can use all applet parameters in this array.
// see all details http://jupload.sourceforge.net/howto-customization.html
//
$appletParameters = array(
//Default value is ... maximum size for a file on the current FS. 2G is problably too much already.
'maxFileSize' => $JAVAMaxSizeUpload . 'G',
//
//In the sourceforge project structure, the applet jar file is one folder below. Default
//configuration is ok, if wjhk.jupload.jar is in the same folder as the script containing this call.
'archive' => 'wjhk.jupload.jar',
'showLogWindow' => 'false',
'width' => '100%',
'height' => '358px',
'name' => 'No limit Uploader',
'allowedFileExtensions' => implode('/', $ext),
//To manage, other jar files, like the ftp jar files if postURL is an FTP URL:
//'archive' => 'wjhk.jupload.jar,jakarta-commons-oro.jar,jakarta-commons-net.jar',
//
//Default afterUploadURL displays the list of uploaded files above the applet (in the <!--JUPLOAD_FILES--> markers, see below)
//You can use any page you want, to manage the uploaded files. Here is a sample, that also only shows the list of files.
'afterUploadURL' => 'success.php?path=' . $_GET['path'],
//
//This demo expects the md5sum to be sent by the applet. But the parameter is not mandatory
//This value should be set to false (or the line commented), for big files, as md5 calculation
//may be long (Note this must be string and *not* boolean true/false)
'sendMD5Sum' => 'false',
//
'debugLevel' => 0 // 100 disables redirect after upload, so we keep it below. This still gives a lot of information, in case of problem.
);
// for htaccess protected folders
if ((isset($_SERVER['PHP_AUTH_USER']) && $_SERVER['PHP_AUTH_USER'] != '') && $_SERVER['PHP_AUTH_USER'] != '' && $_SERVER['PHP_AUTH_USER'] != '')
{
$appletParameters['specificHeaders'] = 'Authorization: Basic ' . base64_encode($_SERVER['PHP_AUTH_USER'] . ":" . $_SERVER['PHP_AUTH_PW']);
}
//
//Then: the jupload PHP class parameters
$classParameters = array(
//Files won't be stored on the server. Useful for first tests of the applet behavior ... and sourceforge demo site !
'demo_mode' => false,
//
//Allow creation of subdirectories, when uploading several folders/files (drag and drop a folder on the applet to use it).
'allow_subdirs' => true,
//
// The callbackAfterUploadManagement function will be called, once all files are uploaded, with the list
//of uploaded files as an argument. See the above sample, and change it according to your needs.
//'callbackAfterUploadManagement' => 'handle_uploaded_files',
//
//I work on windows. The default configuration is /var/tmp/jupload_test
'destdir' => $path //Where to store the files on the web
//'errormail' => 'me@my.domain.org',
);
if ( ! empty($convert_spaces))
{
$classParameters['convert_spaces'] = true;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
// Instantiate and initialize JUpload : integration of the applet in your web site.
$juploadPhpSupportClass = new JUpload($appletParameters, $classParameters);
////////////////////////////////////////////////////////////////////////////////////////////////////////
//Then, a simple HTML page, for the demo
//
// "<!--JUPLOAD_FILES-->" is the tag where the list of uploaded files will be written.
// "<!--JUPLOAD_APPLET-->" is the place where the applet will be integrated, in the web page.
?>
<html>
<head>
<!--JUPLOAD_JSCRIPT-->
<title>JUpload RESPONSIVE filemanager</title>
<style>
body {
padding: 0px;
margin: 0px;
}
</style>
</head>
<body>
<div align="center"><!--JUPLOAD_FILES--></div>
<div align="center"><!--JUPLOAD_APPLET--></div>
</body>
</html>

View File

@@ -1,19 +1,19 @@
<html>
<head>
<!--JUPLOAD_JSCRIPT-->
<title>JUpload RESPONSIVE filemanager</title>
<style>
body {
padding: 0px;
margin: 0px;
}
</style>
<meta http-equiv="refresh"
content="3;url=index.php?path=<?php echo strip_tags(preg_replace("/[^a-zA-Z0-9\.\[\]_| -]/", '', $_GET['path'])); ?>">
</head>
<body>
<center><br/><br/>
<img src="success.jpg" alt="success">
</center>
</body>
<html>
<head>
<!--JUPLOAD_JSCRIPT-->
<title>JUpload RESPONSIVE filemanager</title>
<style>
body {
padding: 0px;
margin: 0px;
}
</style>
<meta http-equiv="refresh"
content="3;url=index.php?path=<?php echo strip_tags(preg_replace("/[^a-zA-Z0-9\.\[\]_| -]/", '', $_GET['path'])); ?>">
</head>
<body>
<center><br/><br/>
<img src="success.jpg" alt="success">
</center>
</body>
</html>

View File

@@ -1,10 +1,10 @@
tinymce.addI18n('ru',{
'YouTube Title' : "Вставить видео YouTube",
'Youtube URL' : 'Ссылка',
'Youtube ID' : 'Формат ссылки: http://youtu.be/xxxxxxxx или http://www.youtube.com/watch?v=xxxxxxxx',
'width' : 'Ширина',
'height' : 'Высота',
'autoplay' : 'Автозапуск',
'Related video' : 'Похожие видео',
'HD video' : 'В формате HD'
tinymce.addI18n('ru',{
'YouTube Title' : "Вставить видео YouTube",
'Youtube URL' : 'Ссылка',
'Youtube ID' : 'Формат ссылки: http://youtu.be/xxxxxxxx или http://www.youtube.com/watch?v=xxxxxxxx',
'width' : 'Ширина',
'height' : 'Высота',
'autoplay' : 'Автозапуск',
'Related video' : 'Похожие видео',
'HD video' : 'В формате HD'
});

View File

@@ -4,13 +4,13 @@
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0" name="viewport">
<title>YouTube</title>
<link href="./css/styles.css" rel="stylesheet">
<link href="./css/styles.css" rel="stylesheet">
<!--[if lt IE 9]>
<script type="text/javascript" src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="./js/vendor/jquery.js"><\/script>')</script>
<script src="./js/main.js"></script>
<script src="./js/main.js"></script>
</head>
<body>
<div class="container">