I don't know what stack you use, but do you have an addEventListener() setup.
Choose BUTTON for Selecting pictures does not work
One of the menu items in BACKEND, which features the option to ADD TRAINER PROFILE, is not working. My problem is that when I click on the CHOOSE button to select pictures/photos, it does not work. When I click on the CHOOSE button, a POPUP BOX appears, but the popup box is completely white and blank.
I wanted to show you all screenshot and code for controller and blade but i cannot paste it here. As this is my first time visit and post, please guide me how can i share the files and the pictures.
@ujjwal_rana Please add your code here using the below syntax.
``` your code here```
FOR TRAINER MENU, PLEASE SEE TRAINER CONTROLLER CODE
namespace App\Http\Controllers;
use App\Models\Trainer;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
class TrainerController extends Controller
{
protected $trainer = null;
public function __construct(Trainer $trainer)
{
$this->trainer = $trainer;
}
public function index()
{
$active_tab = 'manage';
$all_trainers = $this->trainer->orderBy('created_at','desc')->get();
return view('admin.pages.trainer.trainer', compact('active_tab', 'all_trainers'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
$active_tab = 'create';
$all_trainers = $this->trainer->orderBy('created_at','desc')->get();
return view('admin.pages.trainer.trainer', compact('active_tab', 'all_trainers'));
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$validator = Validator::make($request->all(), [
'name' => 'required|string',
'intro' => 'nullable|string',
'email' => 'required|string',
'phone' => 'nullable|string',
'designation' => 'required|string',
'facebook' => 'nullable|string',
'twitter' => 'nullable|string',
'instagram' => 'nullable|string',
'linkedin' => 'nullable|string',
'image' => 'required|string'
]);
if ($validator->fails()) {
return redirect()->route('trainer.create')->withErrors($validator)->withInput();
}
$data['name'] = $request->name;
$data['intro'] = $request->intro;
$data['email'] = $request->email;
$data['phone'] = $request->phone;
$data['designation'] = $request->designation;
$data['facebook'] = $request->facebook;
$data['twitter'] = $request->twitter;
$data['instagram'] = $request->instagram;
$data['linkedin'] = $request->linkedin;
$data['image'] = $request->image;
$this->trainer->fill($data);
$status = $this->trainer->save();
if($status){
$notification = array(
'message' => 'trainer added successfully.',
'alert-type' => 'success'
);
} else {
$notification = array(
'message' => 'Problem adding trainer.',
'alert-type' => 'error'
);
}
return redirect()->route('trainer.index')->with($notification);
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
$all_trainers = $this->trainer->orderBy('created_at','desc')->get();
$active_tab = 'create';
$data = $this->trainer->find($id);
if(!$data) {
$notification = array(
'message' => 'trainer not found!',
'alert-type' => 'error'
);
return redirect()->back()->with($notification);
}
return view('admin.pages.trainer.trainer', compact('all_trainers', 'data', 'active_tab'));
}
public function update(Request $request, $id)
{
$this->trainer = $this->trainer->find($id);
if(!$this->trainer) {
$notification = array(
'message' => 'trainer not found!',
'alert-type' => 'error'
);
return redirect()->back()->with($notification);
}
$validator = Validator::make($request->all(), [
'name' => 'required|string',
'intro' => 'nullable|string',
'email' => 'required|string',
'phone' => 'nullable|string',
'designation' => 'required|string',
'facebook' => 'nullable|string',
'twitter' => 'nullable|string',
'instagram' => 'nullable|string',
'linkedin' => 'nullable|string',
'image' => 'required|string'
]);
if ($validator->fails()) {
$active_tab = 'create';
return redirect()->route('trainer.create')->withErrors($validator)->withInput();
}
$data = $request->all();
$this->trainer->fill($data);
$status = $this->trainer->save();
if($status){
$notification = array(
'message' => 'trainer updated successfully.',
'alert-type' => 'success'
);
} else {
$notification = array(
'message' => 'Problem updating trainer.',
'alert-type' => 'error'
);
}
return redirect()->route('trainer.index')->with($notification);
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
$this->trainer = $this->trainer->find($id);
if(!$this->trainer){
$notification = array(
'message' => 'trainer not found!',
'alert-type' => 'error'
);
return redirect()->route('trainer.index')->with($notification);
}
$success = $this->trainer->delete();
if($success){
$notification = array(
'message' => 'trainer deleted successfully.',
'alert-type' => 'success'
);
} else {
$notification = array(
'message' => 'Sorry! trainer could not be deleted at this moment.',
'alert-type' => 'error'
);
}
return redirect()->route('trainer.index')->with($notification);
}
}
@Ujjwal_Rana Also please add code for the blade file.
@DhPandya I could not paste the code for BLADE it gives following message. ANY SOLUTION ? ==============>>>>> You may not include links the first day you sign up.
@Ujjwal_Rana You can paste code, just format it. Don't put images, put code.
@DhPandya I have added code for controller and blade both
TRAINER.BLADE.PHP FILE CODE FOR TRAINER MENU
Note: For HTTP i have replace it with URL
TRAINER.BLADE.PHP FILE CODE FOR TRAINER MENU
========================================
text/x-generic trainer.blade.php ( HTML document, ASCII text )
@extends('admin.layouts.master')
@section('content')
<div class="row">
<div class="col-lg-12">
<div class="row">
<div class="col-sm-12">
<div class="nav-tabs-custom">
<ul class="nav nav-tabs">
<li class="@if($active_tab == 'manage') active @endif"><a href="#manage" data-toggle="tab">All Trainers</a></li>
<li class="@if($active_tab == 'create') active @endif"><a href="#create" data-toggle="tab">New Trainer</a></li>
</ul>
<div class="tab-content bg-white">
<div class="tab-pane @if($active_tab == 'manage') active @endif" id="manage">
<div class="table-responsive">
<table id="datatable_action" class="display">
<thead>
<th>Profile</th>
<th>Name</th>
<th>Email</th>
<th>Phone</th>
<th>Facebook</th>
<th>Twitter</th>
<th>Linkedin</th>
<th>Instagram</th>
<th>Designation</th>
<th>Action</th>
</thead>
<tbody>
@if(!empty($all_trainers))
@foreach($all_trainers as $trainer_list)
@php
$image = 'url://placehold.it/36x30';
if(!empty($trainer_list->image )){
$image = $trainer_list->image;
}
@endphp
<tr>
<td><img style="width: 36px;margin-right: 10px;" src="{{ url($image) }}" class="img-circle"></td>
<td>{{ $trainer_list->name }}</td>
<td>{{ $trainer_list->email }}</td>
<td>{{ $trainer_list->phone }}</td>
<td><a href="{{ $trainer_list->facebook }}" target="_blank">Visit link</a></td>
<td><a href="{{ $trainer_list->twitter }}" target="_blank">Visit link</a></td>
<td><a href="{{ $trainer_list->linkedin }}" target="_blank">Visit link</a></td>
<td><a href="{{ $trainer_list->instagram }}" target="_blank">Visit link</a></td>
<td>{{ $trainer_list->designation }}</td>
<td>
<a href="{{ route('trainer.edit', $trainer_list->id) }}" class="btn btn-primary btn-xs" title="Edit"><i class="fa fa-pencil-square-o"></i></a>
<a onclick="return confirm('Are you sure you want to delete this Trainer?')" style="display:inline-block;">
<form method="POST" action="{{ route('trainer.destroy', $trainer_list->id) }}" accept-charset="UTF-8">
<input name="_method" type="hidden" value="DELETE">
<input name="_token" type="hidden" value="{{ csrf_token() }}">
<button data-toggle="tooltip" data-placement="top" style="background:transparent;border:0" title="Delete" ><i class="btn btn-xs btn-danger fa fa-trash-o"></i></button>
</form>
</a>
</td>
</tr>
@endforeach
@endif
</tbody>
</table>
</div>
</div>
<div class="tab-pane @if($active_tab == 'create') active @endif" id="create">
@if(!empty($data))
<form role="form" id="form" action="{{ route('trainer.update', $data->id)}}" method="post" class="form-horizontal" enctype='multipart/form-data'>
<input name="_method" type="hidden" value="PATCH">
@else
<form role="form" id="form" action="{{ route('trainer.store')}}" method="post" class="form-horizontal" enctype='multipart/form-data'>
@endif
@csrf
<div class="form-group">
<label class="col-sm-3 control-label"><strong>Full Name </strong><span class="text-danger">*</span></label>
<div class="col-sm-5">
<input type="text" class="input-sm form-control" value="{{ @$data->name }}{{ old('name') }}" placeholder="e.g Enter your Full Name" name="name" >
@if ($errors->has('name'))
<span class="validation-errors text-danger">{{ $errors->first('name') }}</span>
@endif
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label"><strong>Introduction </strong><span class="text-danger">*</span></label>
<div class="col-sm-5">
<textarea name="intro" rows="5" class="form-control editor" placeholder="e.g user_placeholder_Trainer_short_description" style="resize:none">{{ @$data->intro }}{{ old('intro') }}</textarea>
@if ($errors->has('intro'))
<span class="validation-errors text-danger">{{ $errors->first('intro') }}</span>
@endif
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label"><strong>Email </strong><span class="text-danger">*</span></label>
<div class="col-sm-5">
<input type="email" id="check_email_addrees" placeholder="e.g user_placeholder_email" name="email" value="{{ @$data->email }}{{ old('email') }}" class="input-sm form-control" >
@if ($errors->has('email'))
<span class="validation-errors text-danger">{{ $errors->first('email') }}</span>
@endif
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label"><strong>Phone </strong></label>
<div class="col-sm-5">
<input type="text" id="phone" value="{{ @$data->phone }}{{ old('phone') }}" placeholder="e.g Enter your Phone number" name="phone" class="input-sm form-control" @if(!isset($data)) @endif>
@if ($errors->has('phone'))
<span class="validation-errors text-danger">{{ $errors->first('phone') }}</span>
@endif
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label"><strong>Designation </strong><span class="text-danger">*</span></label>
<div class="col-sm-5">
<input type="text" placeholder="e.g user_placeholder_designation" value="{{ @$data->designation }}{{ old('designation') }}" name="designation" class="input-sm form-control">
@if ($errors->has('designation'))
<span class="validation-errors text-danger">{{ $errors->first('designation') }}</span>
@endif
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label"><strong>Facebook <sup class="text-danger">with urls</sup></label></strong>
<div class="col-sm-5">
<input type="text" placeholder="e.g user_placeholder_facebook" name="facebook" value="{{ @$data->facebook }}{{ old('facebook') }}" class="input-sm form-control">
@if ($errors->has('facebook'))
<span class="validation-errors text-danger">{{ $errors->first('facebook') }}</span>
@endif
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label"><strong>Twitter <sup class="text-danger">with urls</sup></label></strong>
<div class="col-sm-5">
<input type="text" class="input-sm form-control" value="{{ @$data->twitter }}{{ old('twitter') }}" name="twitter" placeholder="e.g user_placeholder_twitter">
@if ($errors->has('twitter'))
<span class="validation-errors text-danger">{{ $errors->first('twitter') }}</span>
@endif
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label"><strong>Instagram <sup class="text-danger">with urls</sup></label></strong>
<div class="col-sm-5">
<input type="text" class="input-sm form-control" value="{{ @$data->instagram }}{{ old('instagram') }}" name="instagram" placeholder="e.g user_placeholder_instagram">
@if ($errors->has('instagram'))
<span class="validation-errors text-danger">{{ $errors->first('instagram') }}</span>
@endif
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label"><strong>Linkedin <sup class="text-danger">with urls</sup></label></strong>
<div class="col-sm-5">
<input type="text" class="input-sm form-control" value="{{ @$data->linkedin }}{{ old('linkedin') }}" name="linkedin" placeholder="e.g user_placeholder_linkedin">
@if ($errors->has('linkedin'))
<span class="validation-errors text-danger">{{ $errors->first('linkedin') }}</span>
@endif
</div>
</div>
<div class="form-group">
<label class="col-lg-3 control-label"><strong>Profile Photo</strong><span class="text-danger">*</span></label>
<div class="col-lg-4">
<div class="fileinput fileinput-new" data-provides="fileinput">
<div class="fileinput-new thumbnail" style="width: 210px;">
@php
$image = "url://placehold.it/622x340";061e0de5b8d667cbb7548b551420eb821075e7a6
if(!empty($data->image)){
$image = $data->image;
} elseif(old('image')){
$image = old('image');
}
@endphp
<input type="hidden" id="thumbnail" name="image" value="{{$image}}">
<img src="{{ asset($image) }}" id="thumbnailholder" alt="Please Connect Your Internet">
</div>
<div class="fileinput-preview fileinput-exists thumbnail" style="width: 210px;"></div>
<div>
<span class="btn btn-default btn-file">
<span class="fileinput-new">
<a href="{{ url('/vendor/filemanager/dialog.php?type=4&field_id=thumbnail&descending=1&sort_by=date&lang=undefined&akey=') }}" class="btn iframe-btn btn-primary" type="button">
<i class="fa fa-picture-o"></i> Choose
</a>
<!--<input type="hidden" name="image" id="thumbnailthumbnail" value="{{ $image }}">-->
<span class="fileinput-exists">Change</span>
</span>
<a href="#" class="btn btn-default fileinput-exists" data-dismiss="fileinput">Remove</a>
</span>
</div>
<div id="valid_msg" style="color: #e11221"></div>
</div>
</div>
<div class="col-lg-2">
@if ($errors->has('image'))
<span class="validation-errors text-danger">{{ $errors->first('image') }}</span>
@endif
</div>
</div>
<div class="btn-bottom-toolbar text-right">
<button type="submit" class="btn btn-sm btn-primary">@if(!empty($data)) Update @else Create @endif Trainer</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection
@Ujjwal_Rana Why you have added type in the a tag?
Are you trying to upload images using the choose button, then simply use file input.
<a href="{{ url('/vendor/filemanager/dialog.php?type=4&field_id=thumbnail&descending=1&sort_by=date&lang=undefined&akey=') }}" class="btn iframe-btn btn-primary" type="button">
<i class="fa fa-picture-o"></i> Choose
</a>
Adding type to the anchor tag will do nothing. Instead when you hit choose your page will be redirected to the url specified in the anchor tag's href.
Replace URL with https (URL=HTTPS:) Please see following screenshot. My problem is CHOOSE button is working before but current problem is when I click on CHOOSE BUTTON a popup box appeared but completely white blank popup box due to which selecting photo or uploading pictures / photos is not showing except white blank popup box. For more clear please see following screnshot url//drive.google.com/file/d/1_nAKbebDF2Vw5gyWckmT_bAgqHljc7jP/view?usp=sharing
@Ujjwal_Rana What is /vendor/filemanager/dialog.php
@Snapey CODE FOR /vendor/filemanager/dialog.php
ALSO DID YOU SAW FOLLOWING SCREENSHOT FOR WHITE BLANK POPUP BOX THAT APPEARS AFTER CLICKING ON CHOOSE BUTTON. REPLACE URL WITH HTTPS. url//drive.google.com/file/d/1_nAKbebDF2Vw5gyWckmT_bAgqHljc7jP/view?usp=sharing
text/x-generic dialog.php ( PHP script, ASCII text, with very long lines )
<?php
$time = time();
$config = include 'config/config.php';
if (USE_ACCESS_KEYS == true){
if (!isset($_GET['akey'], $config['access_keys']) || empty($config['access_keys'])){
die('Access Denied!');
}
$_GET['akey'] = strip_tags(preg_replace("/[^a-zA-Z0-9\._-]/", '', $_GET['akey']));
if (!in_array($_GET['akey'], $config['access_keys'])){
die('Access Denied!');
}
}
$_SESSION['RF']["verify"] = "RESPONSIVEfilemanager";
if (isset($_POST['submit'])) {
include 'upload.php';
} else {
$available_languages = include 'lang/languages.php';
list($preferred_language) = array_values(array_filter(array(
isset($_GET['lang']) ? $_GET['lang'] : null,
isset($_SESSION['RF']['language']) ? $_SESSION['RF']['language'] : null,
$config['default_language']
)));
if (array_key_exists($preferred_language, $available_languages)) {
$_SESSION['RF']['language'] = $preferred_language;
} else {
$_SESSION['RF']['language'] = $config['default_language'];
}
}
include 'include/utils.php';
$subdir_path = '';
if (isset($_GET['fldr']) && !empty($_GET['fldr'])) {
$subdir_path = rawurldecode(trim(strip_tags($_GET['fldr']), "/"));
} elseif (isset($_SESSION['RF']['fldr']) && !empty($_SESSION['RF']['fldr'])) {
$subdir_path = rawurldecode(trim(strip_tags($_SESSION['RF']['fldr']), "/"));
}
if (checkRelativePath($subdir_path)) {
$subdir = strip_tags($subdir_path) . "/";
$_SESSION['RF']['fldr'] = $subdir_path;
$_SESSION['RF']["filter"] = '';
} else {
$subdir = '';
}
if ($subdir == "") {
if (!empty($_COOKIE['last_position']) && strpos($_COOKIE['last_position'], '.') === FALSE) {
$subdir = trim($_COOKIE['last_position']);
}
}
//remember last position
setcookie('last_position', $subdir, time() + (86400 * 7));
if ($subdir == "/") { $subdir = ""; }
// If hidden folders are specified
if (count($config['hidden_folders'])) {
// If hidden folder appears in the path specified in URL parameter "fldr"
$dirs = explode('/', $subdir);
foreach ($dirs as $dir) {
if ($dir !== '' && in_array($dir, $config['hidden_folders'])) {
// Ignore the path
$subdir = "";
break;
}
}
}
if ($config['show_total_size']) {
list($sizeCurrentFolder, $fileCurrentNum, $foldersCurrentCount) = folder_info($config['current_path'], false);
}
/***
* SUB-DIR CODE
***/
if (!isset($_SESSION['RF']["subfolder"])) {
$_SESSION['RF']["subfolder"] = '';
}
$rfm_subfolder = '';
if (!empty($_SESSION['RF']["subfolder"])
&& strpos($_SESSION['RF']["subfolder"], "/") !== 0
&& strpos($_SESSION['RF']["subfolder"], '.') === FALSE
) {
$rfm_subfolder = $_SESSION['RF']['subfolder'];
}
if ($rfm_subfolder != "" && $rfm_subfolder[strlen($rfm_subfolder) - 1] != "/") {
$rfm_subfolder .= "/";
}
$ftp = ftp_con($config);
if (($ftp && !$ftp->isDir($config['ftp_base_folder'] . $config['upload_dir'] . $rfm_subfolder . $subdir)) || (!$ftp && !file_exists($config['current_path'] . $rfm_subfolder . $subdir))) {
$subdir = '';
$rfm_subfolder = "";
}
$cur_dir = $config['upload_dir'].$rfm_subfolder.$subdir;
$cur_dir_thumb = $config['thumbs_upload_dir'].$rfm_subfolder.$subdir;
$thumbs_path = $config['thumbs_base_path'].$rfm_subfolder.$subdir;
$parent = $rfm_subfolder.$subdir;
if ($ftp) {
$cur_dir = $config['ftp_base_folder'] . $cur_dir;
$cur_dir_thumb = $config['ftp_base_folder'] . $cur_dir_thumb;
$thumbs_path = str_replace(array('/..', '..'), '', $cur_dir_thumb);
$parent = $config['ftp_base_folder'] . $parent;
}
if (!$ftp) {
$cycle = TRUE;
$max_cycles = 50;
$i = 0;
while ($cycle && $i < $max_cycles) {
$i++;
if ($parent == "./") {
$parent = "";
}
if (file_exists($config['current_path'] . $parent . "config.php")) {
$configTemp = include $config['current_path'] . $parent . 'config.php';
$config = array_merge($config, $configTemp);
$cycle = FALSE;
}
if ($parent == "") {
$cycle = FALSE;
} else {
$parent = fix_dirname($parent) . "/";
}
}
if (!is_dir($thumbs_path)) {
create_folder(FALSE, $thumbs_path, $ftp, $config);
}
}
$multiple = null;
if (isset($_GET['multiple'])) {
if ($_GET['multiple'] == 1) {
$multiple = 1;
$config['multiple_selection'] = true;
$config['multiple_selection_action_button'] = true;
} elseif ($_GET['multiple'] == 0) {
$multiple = 0;
$config['multiple_selection'] = false;
$config['multiple_selection_action_button'] = false;
}
}
if (isset($_GET['callback'])) {
$callback = strip_tags($_GET['callback']);
$_SESSION['RF']["callback"] = $callback;
} else {
$callback = 0;
if (isset($_SESSION['RF']["callback"])) {
$callback = $_SESSION['RF']["callback"];
}
}
$popup = isset($_GET['popup']) ? strip_tags($_GET['popup']) : 0;
//Sanitize popup
$popup = !!$popup;
$crossdomain = isset($_GET['crossdomain']) ? strip_tags($_GET['crossdomain']) : 0;
//Sanitize crossdomain
$crossdomain=!!$crossdomain;
//view type
if(!isset($_SESSION['RF']["view_type"]))
{
$view = $config['default_view'];
$_SESSION['RF']["view_type"] = $view;
}
if (isset($_GET['view']))
{
$view = fix_get_params($_GET['view']);
$_SESSION['RF']["view_type"] = $view;
}
$view = $_SESSION['RF']["view_type"];
//filter
$filter = "";
if(isset($_SESSION['RF']["filter"]))
{
$filter = $_SESSION['RF']["filter"];
}
if(isset($_GET["filter"]))
{
$filter = fix_get_params($_GET["filter"]);
}
if (!isset($_SESSION['RF']['sort_by']))
{
$_SESSION['RF']['sort_by'] = 'name';
}
if (isset($_GET["sort_by"])) {
$sort_by = $_SESSION['RF']['sort_by'] = fix_get_params($_GET["sort_by"]);
} else {
$sort_by = $_SESSION['RF']['sort_by'];
}
if (!isset($_SESSION['RF']['descending'])) {
$_SESSION['RF']['descending'] = TRUE;
}
if (isset($_GET["descending"])) {
$descending = $_SESSION['RF']['descending'] = fix_get_params($_GET["descending"]) == 1;
} else {
$descending = $_SESSION['RF']['descending'];
}
$boolarray = array(false => 'false', true => 'true');
$return_relative_url = isset($_GET['relative_url']) && $_GET['relative_url'] == "1" ? true : false;
if (!isset($_GET['type'])) {
$_GET['type'] = 0;
}
$extensions = null;
if (isset($_GET['extensions'])) {
$extensions = json_decode(urldecode($_GET['extensions']));
$ext_tmp = array();
foreach ($extensions as $extension) {
$extension = fix_strtolower($extension);
if (check_file_extension($extension, $config)) {
$ext_tmp[] = $extension;
}
}
if ($extensions) {
$ext = $ext_tmp;
$config['ext'] = $ext_tmp;
$config['show_filter_buttons'] = false;
}
}
if (isset($_GET['editor'])) {
$editor = strip_tags($_GET['editor']);
} else {
$editor = $_GET['type'] == 0 ? null : 'tinymce';
}
$field_id = isset($_GET['field_id']) ? fix_get_params($_GET['field_id']) : null;
$type_param = fix_get_params($_GET['type']);
$apply = null;
if ($multiple) {
$apply = 'apply_multiple';
}
if ($type_param == 1) {
$apply_type = 'apply_img';
} elseif ($type_param == 2) {
$apply_type = 'apply_link';
} elseif ($type_param == 0 && !$field_id) {
$apply_type = 'apply_none';
} elseif ($type_param == 3) {
$apply_type = 'apply_video';
} else {
$apply_type = 'apply';
}
if(!$apply){
$apply = $apply_type;
}
$get_params = array(
'editor' => $editor,
'type' => $type_param,
'lang' => $lang,
'popup' => $popup,
'crossdomain' => $crossdomain,
'extensions' => ($extensions) ? urlencode(json_encode($extensions)) : null ,
'field_id' => $field_id,
'multiple' => $multiple,
'relative_url' => $return_relative_url,
'akey' => (isset($_GET['akey']) && $_GET['akey'] != '' ? $_GET['akey'] : 'key')
);
if (isset($_GET['CKEditorFuncNum'])) {
$get_params['CKEditorFuncNum'] = $_GET['CKEditorFuncNum'];
$get_params['CKEditor'] = (isset($_GET['CKEditor']) ? $_GET['CKEditor'] : '');
}
$get_params['fldr'] ='';
$get_params = http_build_query($get_params);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta name="robots" content="noindex,nofollow">
<title>Responsive FileManager</title>
<link rel="shortcut icon" href="img/ico/favicon.ico">
<!-- CSS to style the file input field as button and adjust the Bootstrap progress bars -->
<link rel="stylesheet" href="css/jquery.fileupload.css">
<link rel="stylesheet" href="css/jquery.fileupload-ui.css">
<!-- CSS adjustments for browsers with JavaScript disabled -->
<noscript><link rel="stylesheet" href="css/jquery.fileupload-noscript.css"></noscript>
<noscript><link rel="stylesheet" href="css/jquery.fileupload-ui-noscript.css"></noscript>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jplayer/2.7.1/skin/blue.monday/jplayer.blue.monday.min.css" />
<link rel="stylesheet" href="https://uicdn.toast.com/tui-image-editor/latest/tui-image-editor.css">
<link href="css/style.css?v=<?php echo $version; ?>" rel="stylesheet" type="text/css" />
<!--[if lt IE 8]>
<style>
.img-container span, .img-container-mini span {
display: inline-block;
height: 100%;
}
</style>
<![endif]-->
<script src="https://code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js" integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU=" crossorigin="anonymous"></script>
<script src="js/plugins.js?v=<?php echo $version; ?>"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jplayer/2.9.2/jplayer/jquery.jplayer.min.js"></script>
<link type="text/css" href="https://uicdn.toast.com/tui-color-picker/v2.2.0/tui-color-picker.css" rel="stylesheet">
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.6.7/fabric.js"></script>
<script type="text/javascript" src="https://uicdn.toast.com/tui.code-snippet/v1.5.0/tui-code-snippet.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/1.3.3/FileSaver.min.js"></script>
<script type="text/javascript" src="https://uicdn.toast.com/tui-color-picker/v2.2.0/tui-color-picker.js"></script>
<script src="https://uicdn.toast.com/tui-image-editor/latest/tui-image-editor.js"></script>
<script src="js/modernizr.custom.js"></script>
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.6.2/html5shiv.js"></script>
<![endif]-->
<script type="text/javascript">
var ext_img=new Array('<?php echo implode("','", $config['ext_img'])?>');
var image_editor= <?php echo $config['tui_active']?"true":"false";?>;
</script>
<script src="js/include.js?v=<?php echo $version; ?>"></script>
</head>
<body>
<!-- The Templates plugin is included to render the upload/download listings -->
<script src="//blueimp.github.io/JavaScript-Templates/js/tmpl.min.js"></script>
<!-- The Load Image plugin is included for the preview images and image resizing functionality -->
<script src="//cdnjs.cloudflare.com/ajax/libs/blueimp-load-image/2.18.0/load-image.all.min.js"></script>
<!-- The Canvas to Blob plugin is included for image resizing functionality -->
<script src="//blueimp.github.io/JavaScript-Canvas-to-Blob/js/canvas-to-blob.min.js"></script>
<!-- The Iframe Transport is required for browsers without support for XHR file uploads -->
<script src="js/jquery.iframe-transport.js"></script>
<!-- The basic File Upload plugin -->
<script src="js/jquery.fileupload.js"></script>
<!-- The File Upload processing plugin -->
<script src="js/jquery.fileupload-process.js"></script>
<!-- The File Upload image preview & resize plugin -->
<script src="js/jquery.fileupload-image.js"></script>
<!-- The File Upload audio preview plugin -->
<script src="js/jquery.fileupload-audio.js"></script>
<!-- The File Upload video preview plugin -->
<script src="js/jquery.fileupload-video.js"></script>
<!-- The File Upload validation plugin -->
<script src="js/jquery.fileupload-validate.js"></script>
<!-- The File Upload user interface plugin -->
<script src="js/jquery.fileupload-ui.js"></script>
<input type="hidden" id="ftp" value="<?php echo !!$ftp; ?>" />
<input type="hidden" id="popup" value="<?php echo $popup;?>" />
<input type="hidden" id="callback" value="<?php echo $callback; ?>" />
<input type="hidden" id="crossdomain" value="<?php echo $crossdomain;?>" />
<input type="hidden" id="editor" value="<?php echo $editor;?>" />
<input type="hidden" id="view" value="<?php echo $view;?>" />
<input type="hidden" id="subdir" value="<?php echo $subdir;?>" />
<input type="hidden" id="field_id" value="<?php echo $field_id;?>" />
<input type="hidden" id="multiple" value="<?php echo $multiple;?>" />
<input type="hidden" id="type_param" value="<?php echo $type_param;?>" />
<input type="hidden" id="upload_dir" value="<?php echo $config['upload_dir'];?>" />
<input type="hidden" id="cur_dir" value="<?php echo $cur_dir;?>" />
<input type="hidden" id="cur_dir_thumb" value="<?php echo $cur_dir_thumb;?>" />
<input type="hidden" id="insert_folder_name" value="<?php echo trans('Insert_Folder_Name');?>" />
<input type="hidden" id="rename_existing_folder" value="<?php echo trans('Rename_existing_folder');?>" />
<input type="hidden" id="new_folder" value="<?php echo trans('New_Folder');?>" />
<input type="hidden" id="ok" value="<?php echo trans('OK');?>" />
<input type="hidden" id="cancel" value="<?php echo trans('Cancel');?>" />
<input type="hidden" id="rename" value="<?php echo trans('Rename');?>" />
<input type="hidden" id="lang_duplicate" value="<?php echo trans('Duplicate');?>" />
<input type="hidden" id="duplicate" value="<?php if($config['duplicate_files']) echo 1; else echo 0;?>" />
<input type="hidden" id="base_url" value="<?php echo $config['base_url']?>"/>
<input type="hidden" id="ftp_base_url" value="<?php echo $config['ftp_base_url']?>"/>
<input type="hidden" id="fldr_value" value="<?php echo $subdir;?>"/>
<input type="hidden" id="sub_folder" value="<?php echo $rfm_subfolder;?>"/>
<input type="hidden" id="return_relative_url" value="<?php echo $return_relative_url == true ? 1 : 0;?>"/>
<input type="hidden" id="file_number_limit_js" value="<?php echo $config['file_number_limit_js'];?>" />
<input type="hidden" id="sort_by" value="<?php echo $sort_by;?>" />
<input type="hidden" id="descending" value="<?php echo $descending?1:0;?>" />
<input type="hidden" id="current_url" value="<?php echo str_replace(array('&filter='.$filter,'&sort_by='.$sort_by,'&descending='.intval($descending)),array(''),$config['base_url'].htmlspecialchars($_SERVER['REQUEST_URI']));?>" />
<input type="hidden" id="lang_show_url" value="<?php echo trans('Show_url');?>" />
<input type="hidden" id="copy_cut_files_allowed" value="<?php if($config['copy_cut_files']) echo 1; else echo 0;?>" />
<input type="hidden" id="copy_cut_dirs_allowed" value="<?php if($config['copy_cut_dirs']) echo 1; else echo 0;?>" />
<input type="hidden" id="copy_cut_max_size" value="<?php echo $config['copy_cut_max_size'];?>" />
<input type="hidden" id="copy_cut_max_count" value="<?php echo $config['copy_cut_max_count'];?>" />
<input type="hidden" id="lang_copy" value="<?php echo trans('Copy');?>" />
<input type="hidden" id="lang_cut" value="<?php echo trans('Cut');?>" />
<input type="hidden" id="lang_paste" value="<?php echo trans('Paste');?>" />
<input type="hidden" id="lang_paste_here" value="<?php echo trans('Paste_Here');?>" />
<input type="hidden" id="lang_paste_confirm" value="<?php echo trans('Paste_Confirm');?>" />
<input type="hidden" id="lang_files" value="<?php echo trans('Files');?>" />
<input type="hidden" id="lang_folders" value="<?php echo trans('Folders');?>" />
<input type="hidden" id="lang_files_on_clipboard" value="<?php echo trans('Files_ON_Clipboard');?>" />
<input type="hidden" id="clipboard" value="<?php echo ((isset($_SESSION['RF']['clipboard']['path']) && trim($_SESSION['RF']['clipboard']['path']) != null) ? 1 : 0);?>" />
<input type="hidden" id="lang_clear_clipboard_confirm" value="<?php echo trans('Clear_Clipboard_Confirm');?>" />
<input type="hidden" id="lang_file_permission" value="<?php echo trans('File_Permission');?>" />
<input type="hidden" id="chmod_files_allowed" value="<?php if($config['chmod_files']) echo 1; else echo 0;?>" />
<input type="hidden" id="chmod_dirs_allowed" value="<?php if($config['chmod_dirs']) echo 1; else echo 0;?>" />
<input type="hidden" id="lang_lang_change" value="<?php echo trans('Lang_Change');?>" />
<input type="hidden" id="edit_text_files_allowed" value="<?php if($config['edit_text_files']) echo 1; else echo 0;?>" />
<input type="hidden" id="lang_edit_file" value="<?php echo trans('Edit_File');?>" />
<input type="hidden" id="lang_new_file" value="<?php echo trans('New_File');?>" />
<input type="hidden" id="lang_filename" value="<?php echo trans('Filename');?>" />
<input type="hidden" id="lang_file_info" value="<?php echo fix_strtoupper(trans('File_info'));?>" />
<input type="hidden" id="lang_edit_image" value="<?php echo trans('Edit_image');?>" />
<input type="hidden" id="lang_error_upload" value="<?php echo trans('Error_Upload');?>" />
<input type="hidden" id="lang_select" value="<?php echo trans('Select');?>" />
<input type="hidden" id="lang_extract" value="<?php echo trans('Extract');?>" />
<input type="hidden" id="extract_files" value="<?php if($config['extract_files']) echo 1; else echo 0;?>" />
<input type="hidden" id="transliteration" value="<?php echo $config['transliteration']?"true":"false";?>" />
<input type="hidden" id="convert_spaces" value="<?php echo $config['convert_spaces']?"true":"false";?>" />
<input type="hidden" id="replace_with" value="<?php echo $config['convert_spaces']? $config['replace_with'] : "";?>" />
<input type="hidden" id="lower_case" value="<?php echo $config['lower_case']?"true":"false";?>" />
<input type="hidden" id="show_folder_size" value="<?php echo $config['show_folder_size'];?>" />
<input type="hidden" id="add_time_to_img" value="<?php echo $config['add_time_to_img'];?>" />
<?php if($config['upload_files']){ ?>
<!-- uploader div start -->
<div class="uploader">
<div class="flex">
<div class="text-center">
<button class="btn btn-inverse close-uploader"><i class="icon-backward icon-white"></i> <?php echo trans('Return_Files_List')?></button>
</div>
<div class="space10"></div>
<div class="tabbable upload-tabbable"> <!-- Only required for left/right tabs -->
<div class="container1">
<ul class="nav nav-tabs">
<li class="active"><a href="#baseUpload" data-toggle="tab"><?php echo trans('Upload_base');?></a></li>
<?php if($config['url_upload']){ ?>
<li><a href="#urlUpload" data-toggle="tab"><?php echo trans('Upload_url');?></a></li>
<?php } ?>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="baseUpload">
<!-- The file upload form used as target for the file upload widget -->
<form id="fileupload" action="" method="POST" enctype="multipart/form-data">
<div class="container2">
<div class="fileupload-buttonbar">
<!-- The global progress state -->
<div class="fileupload-progress">
<!-- The global progress bar -->
<div class="progress progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100">
<div class="bar bar-success" style="width:0%;"></div>
</div>
<!-- The extended global progress state -->
<div class="progress-extended"></div>
</div>
<div class="text-center">
<!-- The fileinput-button span is used to style the file input field as button -->
<span class="btn btn-success fileinput-button">
<i class="glyphicon glyphicon-plus"></i>
<span><?php echo trans('Upload_add_files');?></span>
<input type="file" name="files[]" multiple="multiple">
</span>
<button type="submit" class="btn btn-primary start">
<i class="glyphicon glyphicon-upload"></i>
<span><?php echo trans('Upload_start');?></span>
</button>
<!-- The global file processing state -->
<span class="fileupload-process"></span>
</div>
</div>
<!-- The table listing the files available for upload/download -->
<div id="filesTable">
<table role="presentation" class="table table-striped table-condensed small"><tbody class="files"></tbody></table>
</div>
<div class="upload-help"><?php echo trans('Upload_base_help');?></div>
</div>
</form>
<!-- The template to display files available for upload -->
<script id="template-upload" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
<tr class="template-upload">
<td>
<span class="preview"></span>
</td>
<td>
<p class="name">{%=file.relativePath%}{%=file.name%}</p>
<strong class="error text-danger"></strong>
</td>
<td>
<p class="size">Processing...</p>
<div class="progress progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"><div class="bar bar-success" style="width:0%;"></div></div>
</td>
<td>
{% if (!i && !o.options.autoUpload) { %}
<button class="btn btn-primary start" disabled style="display:none">
<i class="glyphicon glyphicon-upload"></i>
<span>Start</span>
</button>
{% } %}
{% if (!i) { %}
<button class="btn btn-link cancel">
<i class="icon-remove"></i>
</button>
{% } %}
</td>
</tr>
{% } %}
</script>
<!-- The template to display files available for download -->
<script id="template-download" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
<tr class="template-download">
<td>
<span class="preview">
{% if (file.error) { %}
<i class="icon icon-remove"></i>
{% } else { %}
<i class="icon icon-ok"></i>
{% } %}
</span>
</td>
<td>
<p class="name">
{% if (file.url) { %}
<a href="{%=file.url%}" title="{%=file.name%}" download="{%=file.name%}" {%=file.thumbnailUrl?'data-gallery':''%}>{%=file.name%}</a>
{% } else { %}
<span>{%=file.name%}</span>
{% } %}
</p>
{% if (file.error) { %}
<div><span class="label label-danger">Error</span> {%=file.error%}</div>
{% } %}
</td>
<td>
<span class="size">{%=o.formatFileSize(file.size)%}</span>
</td>
<td></td>
</tr>
{% } %}
</script>
</div>
<?php if($config['url_upload']){ ?>
<div class="tab-pane" id="urlUpload">
<br/>
<form class="form-horizontal">
<div class="control-group">
<label class="control-label" for="url"><?php echo trans('Upload_url');?></label>
<div class="controls">
<input type="text" class="input-block-level" id="url" placeholder="<?php echo trans('Upload_url');?>">
</div>
</div>
<div class="control-group">
<div class="controls">
<button class="btn btn-primary" id="uploadURL"><?php echo trans('Upload_file');?></button>
</div>
</div>
</form>
</div>
<?php } ?>
</div>
</div>
</div>
</div>
</div>
<!-- uploader div end -->
<?php } ?>
<div class="container-fluid">
<?php
$class_ext = '';
$src = '';
if ($ftp) {
try {
$files = $ftp->scanDir($config['ftp_base_folder'] . $config['upload_dir'] . $rfm_subfolder . $subdir);
if (!$ftp->isDir($config['ftp_base_folder'] . $config['ftp_thumbs_dir'] . $rfm_subfolder . $subdir)) {
create_folder(false, $config['ftp_base_folder'] . $config['ftp_thumbs_dir'] . $rfm_subfolder . $subdir, $ftp, $config);
}
} catch (FtpClient\FtpException $e) {
echo "Error: ";
echo $e->getMessage();
echo "<br/>Please check configurations";
die();
}
} else {
$files = scandir($config['current_path'] . $rfm_subfolder . $subdir);
}
$n_files = count($files);
//php sorting
$sorted = array();
//$current_folder=array();
//$prev_folder=array();
$current_files_number = 0;
$current_folders_number = 0;
foreach ($files as $k => $file) {
if ($ftp) {
$date = strtotime($file['day'] . " " . $file['month'] . " " . date('Y') . " " . $file['time']);
$size = $file['size'];
if ($file['type'] == 'file') {
$current_files_number++;
$file_ext = substr(strrchr($file['name'], '.'), 1);
$is_dir = false;
} else {
$current_folders_number++;
$file_ext = trans('Type_dir');
$is_dir = true;
}
$sorted[$k] = array(
'is_dir' => $is_dir,
'file' => $file['name'],
'file_lcase' => strtolower($file['name']),
'date' => $date,
'size' => $size,
'permissions' => $file['permissions'],
'extension' => fix_strtolower($file_ext)
);
} else {
if ($file != "." && $file != "..") {
if (is_dir($config['current_path'] . $rfm_subfolder . $subdir . $file)) {
$date = filemtime($config['current_path'] . $rfm_subfolder . $subdir . $file);
$current_folders_number++;
if ($config['show_folder_size']) {
list($size, $nfiles, $nfolders) = folder_info($config['current_path'] . $rfm_subfolder . $subdir . $file, false);
} else {
$size = 0;
}
$file_ext = trans('Type_dir');
$sorted[$k] = array(
'is_dir' => true,
'file' => $file,
'file_lcase' => strtolower($file),
'date' => $date,
'size' => $size,
'permissions' => '',
'extension' => fix_strtolower($file_ext)
);
if ($config['show_folder_size']) {
$sorted[$k]['nfiles'] = $nfiles;
$sorted[$k]['nfolders'] = $nfolders;
}
} else {
$current_files_number++;
$file_path = $config['current_path'] . $rfm_subfolder . $subdir . $file;
$date = filemtime($file_path);
$size = filesize($file_path);
$file_ext = substr(strrchr($file, '.'), 1);
$sorted[$k] = array(
'is_dir' => false,
'file' => $file,
'file_lcase' => strtolower($file),
'date' => $date,
'size' => $size,
'permissions' => '',
'extension' => strtolower($file_ext)
);
}
}
}
}
function filenameSort($x, $y)
{
global $descending;
if ($x['is_dir'] !== $y['is_dir']) {
return $y['is_dir'];
} else {
return ($descending)
? $x['file_lcase'] < $y['file_lcase']
: $x['file_lcase'] >= $y['file_lcase'];
}
}
function dateSort($x, $y)
{
global $descending;
if ($x['is_dir'] !== $y['is_dir']) {
return $y['is_dir'];
} else {
return ($descending)
? $x['date'] < $y['date']
: $x['date'] >= $y['date'];
}
}
function sizeSort($x, $y)
{
global $descending;
if ($x['is_dir'] !== $y['is_dir']) {
return $y['is_dir'];
} else {
return ($descending)
? $x['size'] < $y['size']
: $x['size'] >= $y['size'];
}
}
function extensionSort($x, $y)
{
global $descending;
if ($x['is_dir'] !== $y['is_dir']) {
return $y['is_dir'];
} else {
return ($descending)
? $x['extension'] < $y['extension']
: $x['extension'] >= $y['extension'];
}
}
switch ($sort_by) {
case 'date':
usort($sorted, 'dateSort');
break;
case 'size':
usort($sorted, 'sizeSort');
break;
case 'extension':
usort($sorted, 'extensionSort');
break;
default:
usort($sorted, 'filenameSort');
break;
}
if ($subdir != "") {
$sorted = array_merge(array(array('file' => '..')), $sorted);
}
$files = $sorted;
?>
<!-- header div start -->
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container-fluid">
<button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<div class="brand"><?php echo trans('Toolbar');?></div>
<div class="nav-collapse collapse">
<div class="filters">
<div class="row-fluid">
<div class="span4 half">
<?php if($config['upload_files']){ ?>
<button class="tip btn upload-btn" title="<?php echo trans('Upload_file');?>"><i class="rficon-upload"></i></button>
<?php } ?>
<?php if($config['create_text_files']){ ?>
<button class="tip btn create-file-btn" title="<?php echo trans('New_File');?>"><i class="icon-plus"></i><i class="icon-file"></i></button>
<?php } ?>
<?php if($config['create_folders']){ ?>
<button class="tip btn new-folder" title="<?php echo trans('New_Folder')?>"><i class="icon-plus"></i><i class="icon-folder-open"></i></button>
<?php } ?>
<?php if($config['copy_cut_files'] || $config['copy_cut_dirs']){ ?>
<button class="tip btn paste-here-btn" title="<?php echo trans('Paste_Here');?>"><i class="rficon-clipboard-apply"></i></button>
<button class="tip btn clear-clipboard-btn" title="<?php echo trans('Clear_Clipboard');?>"><i class="rficon-clipboard-clear"></i></button>
<?php } ?>
<div id="multiple-selection" style="display:none;">
<?php if($config['multiple_selection']){ ?>
<?php if($config['delete_files']){ ?>
<button class="tip btn multiple-delete-btn" title="<?php echo trans('Erase');?>" data-confirm="<?php echo trans('Confirm_del');?>"><i class="icon-trash"></i></button>
<?php } ?>
<button class="tip btn multiple-select-btn" title="<?php echo trans('Select_All');?>"><i class="icon-check"></i></button>
<button class="tip btn multiple-deselect-btn" title="<?php echo trans('Deselect_All');?>"><i class="icon-ban-circle"></i></button>
<?php if($apply_type!="apply_none" && $config['multiple_selection_action_button']){ ?>
<button class="btn multiple-action-btn btn-inverse" data-function="<?php echo $apply_type;?>"><?php echo trans('Select'); ?></button>
<?php } ?>
<?php } ?>
</div>
</div>
<div class="span2 half view-controller">
<button class="btn tip<?php if($view==0) echo " btn-inverse";?>" id="view0" data-value="0" title="<?php echo trans('View_boxes');?>"><i class="icon-th <?php if($view==0) echo "icon-white";?>"></i></button>
<button class="btn tip<?php if($view==1) echo " btn-inverse";?>" id="view1" data-value="1" title="<?php echo trans('View_list');?>"><i class="icon-align-justify <?php if($view==1) echo "icon-white";?>"></i></button>
<button class="btn tip<?php if($view==2) echo " btn-inverse";?>" id="view2" data-value="2" title="<?php echo trans('View_columns_list');?>"><i class="icon-fire <?php if($view==2) echo "icon-white";?>"></i></button>
</div>
<div class="span6 entire types">
<span><?php echo trans('Filters');?>:</span>
<?php if($_GET['type']!=1 && $_GET['type']!=3 && $config['show_filter_buttons']){ ?>
<?php if(count($config['ext_file'])>0 or false){ ?>
<input id="select-type-1" name="radio-sort" type="radio" data-item="ff-item-type-1" checked="checked" class="hide" />
<label id="ff-item-type-1" title="<?php echo trans('Files');?>" for="select-type-1" class="tip btn ff-label-type-1"><i class="icon-file"></i></label>
<?php } ?>
<?php if(count($config['ext_img'])>0 or false){ ?>
<input id="select-type-2" name="radio-sort" type="radio" data-item="ff-item-type-2" class="hide" />
<label id="ff-item-type-2" title="<?php echo trans('Images');?>" for="select-type-2" class="tip btn ff-label-type-2"><i class="icon-picture"></i></label>
<?php } ?>
<?php if(count($config['ext_misc'])>0 or false){ ?>
<input id="select-type-3" name="radio-sort" type="radio" data-item="ff-item-type-3" class="hide" />
<label id="ff-item-type-3" title="<?php echo trans('Archives');?>" for="select-type-3" class="tip btn ff-label-type-3"><i class="icon-inbox"></i></label>
<?php } ?>
<?php if(count($config['ext_video'])>0 or false){ ?>
<input id="select-type-4" name="radio-sort" type="radio" data-item="ff-item-type-4" class="hide" />
<label id="ff-item-type-4" title="<?php echo trans('Videos');?>" for="select-type-4" class="tip btn ff-label-type-4"><i class="icon-film"></i></label>
<?php } ?>
<?php if(count($config['ext_music'])>0 or false){ ?>
<input id="select-type-5" name="radio-sort" type="radio" data-item="ff-item-type-5" class="hide" />
<label id="ff-item-type-5" title="<?php echo trans('Music');?>" for="select-type-5" class="tip btn ff-label-type-5"><i class="icon-music"></i></label>
<?php } ?>
<?php } ?>
<input accesskey="f" type="text" class="filter-input <?php echo (($_GET['type']!=1 && $_GET['type']!=3) ? '' : 'filter-input-notype');?>" id="filter-input" name="filter" placeholder="<?php echo fix_strtolower(trans('Text_filter'));?>..." value="<?php echo $filter;?>"/><?php if($n_files>$config['file_number_limit_js']){ ?><label id="filter" class="btn"><i class="icon-play"></i></label><?php } ?>
<input id="select-type-all" name="radio-sort" type="radio" data-item="ff-item-type-all" class="hide" />
<label id="ff-item-type-all" title="<?php echo trans('All');?>" <?php if($_GET['type']==1 || $_GET['type']==3){ ?>style="visibility: hidden;" <?php } ?> data-item="ff-item-type-all" for="select-type-all" style="margin-rigth:0px;" class="tip btn btn-inverse ff-label-type-all"><?php echo trans('All');?></label>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- header div end -->
<!-- breadcrumb div start -->
<div class="row-fluid">
<?php
$link = "dialog.php?" . $get_params;
?>
<ul class="breadcrumb">
<li class="pull-left"><a href="<?php echo $link?>/"><i class="icon-home"></i></a></li>
<li><span class="divider">/</span></li>
<?php
$bc=explode("/",$subdir);
$tmp_path='';
if(!empty($bc))
foreach($bc as $k=>$b){
$tmp_path.=$b."/";
if($k==count($bc)-2){
?> <li class="active"><?php echo $b?></li><?php
}elseif($b!=""){ ?>
<li><a href="<?php echo $link.$tmp_path?>"><?php echo $b?></a></li><li><span class="divider"><?php echo "/";?></span></li>
<?php }
}
?>
<li class="pull-right"><a class="btn-small" href="javascript:void('')" id="info"><i class="icon-question-sign"></i></a></li>
<?php if($config['show_language_selection']){ ?>
<li class="pull-right"><a class="btn-small" href="javascript:void('')" id="change_lang_btn"><i class="icon-globe"></i></a></li>
<?php } ?>
<li class="pull-right"><a id="refresh" class="btn-small" href="dialog.php?<?php echo $get_params.$subdir."&".uniqid() ?>"><i class="icon-refresh"></i></a></li>
<li class="pull-right">
<div class="btn-group">
<a class="btn dropdown-toggle sorting-btn" data-toggle="dropdown" href="#">
<i class="icon-signal"></i>
<span class="caret"></span>
</a>
<ul class="dropdown-menu pull-left sorting">
<li class="text-center"><strong><?php echo trans('Sorting') ?></strong></li>
<li><a class="sorter sort-name <?php if($sort_by=="name"){ echo ($descending)?"descending":"ascending"; } ?>" href="javascript:void('')" data-sort="name"><?php echo trans('Filename');?></a></li>
<li><a class="sorter sort-date <?php if($sort_by=="date"){ echo ($descending)?"descending":"ascending"; } ?>" href="javascript:void('')" data-sort="date"><?php echo trans('Date');?></a></li>
<li><a class="sorter sort-size <?php if($sort_by=="size"){ echo ($descending)?"descending":"ascending"; } ?>" href="javascript:void('')" data-sort="size"><?php echo trans('Size');?></a></li>
<li><a class="sorter sort-extension <?php if($sort_by=="extension"){ echo ($descending)?"descending":"ascending"; } ?>" href="javascript:void('')" data-sort="extension"><?php echo trans('Type');?></a></li>
</ul>
</div>
</li>
<li><small class="hidden-phone">(<span id="files_number"><?php echo $current_files_number."</span> ".trans('Files')." - <span id='folders_number'>".$current_folders_number."</span> ".trans('Folders');?>)</small></li>
<?php if($config['show_total_size']){ ?>
<li><small class="hidden-phone"><span title="<?php echo trans('total size').$config['MaxSizeTotal'];?>"><?php echo trans('total size').": ".makeSize($sizeCurrentFolder).(($config['MaxSizeTotal'] !== false && is_int($config['MaxSizeTotal']))? '/'.$config['MaxSizeTotal'].' '.trans('MB'):'');?></span></small>
</li>
<?php } ?>
</ul>
</div>
<!-- breadcrumb div end -->
<div class="row-fluid ff-container">
<div class="span12">
<?php if( ($ftp && !$ftp->isDir($config['ftp_base_folder'].$config['upload_dir'].$rfm_subfolder.$subdir)) || (!$ftp && @opendir($config['current_path'].$rfm_subfolder.$subdir)===FALSE)){ ?>
<br/>
<div class="alert alert-error">There is an error! The upload folder there isn't. Check your config.php file. </div>
<?php }else{ ?>
<h4 id="help"><?php echo trans('Swipe_help');?></h4>
<?php if(isset($config['folder_message'])){ ?>
<div class="alert alert-block"><?php echo $config['folder_message'];?></div>
<?php } ?>
<?php if($config['show_sorting_bar']){ ?>
<!-- sorter -->
<div class="sorter-container <?php echo "list-view".$view;?>">
<div class="file-name"><a class="sorter sort-name <?php if($sort_by=="name"){ echo ($descending)?"descending":"ascending"; } ?>" href="javascript:void('')" data-sort="name"><?php echo trans('Filename');?></a></div>
<div class="file-date"><a class="sorter sort-date <?php if($sort_by=="date"){ echo ($descending)?"descending":"ascending"; } ?>" href="javascript:void('')" data-sort="date"><?php echo trans('Date');?></a></div>
<div class="file-size"><a class="sorter sort-size <?php if($sort_by=="size"){ echo ($descending)?"descending":"ascending"; } ?>" href="javascript:void('')" data-sort="size"><?php echo trans('Size');?></a></div>
<div class='img-dimension'><?php echo trans('Dimension');?></div>
<div class='file-extension'><a class="sorter sort-extension <?php if($sort_by=="extension"){ echo ($descending)?"descending":"ascending"; } ?>" href="javascript:void('')" data-sort="extension"><?php echo trans('Type');?></a></div>
<div class='file-operations'><?php echo trans('Operations');?></div>
</div>
<?php } ?>
<input type="hidden" id="file_number" value="<?php echo $n_files;?>" />
<!--ul class="thumbnails ff-items"-->
<ul class="grid cs-style-2 <?php echo "list-view".$view;?>" id="main-item-container">
<?php
foreach ($files as $file_array) {
$file=$file_array['file'];
if($file == '.' || ( substr($file, 0, 1) == '.' && isset( $file_array[ 'extension' ] ) && $file_array[ 'extension' ] == fix_strtolower(trans( 'Type_dir' ) )) || (isset($file_array['extension']) && $file_array['extension']!=fix_strtolower(trans('Type_dir'))) || ($file == '..' && $subdir == '') || in_array($file, $config['hidden_folders']) || ($filter!='' && $n_files>$config['file_number_limit_js'] && $file!=".." && stripos($file,$filter)===false)){
continue;
}
$new_name=fix_filename($file,$config);
if($ftp && $file!='..' && $file!=$new_name){
//rename
rename_folder($config['current_path'].$subdir.$file,$new_name,$ftp,$config);
$file=$new_name;
}
//add in thumbs folder if not exist
if($file!='..'){
if(!$ftp && !file_exists($thumbs_path.$file)){
create_folder(false,$thumbs_path.$file,$ftp,$config);
}
}
$class_ext = 3;
if($file=='..' && trim($subdir) != '' ){
$src = explode("/",$subdir);
unset($src[count($src)-2]);
$src=implode("/",$src);
if($src=='') $src="/";
}
elseif ($file!='..') {
$src = $subdir . $file."/";
}
?>
<li data-name="<?php echo $file ?>" class="<?php if($file=='..') echo 'back'; else echo 'dir';?> <?php if(!$config['multiple_selection']){ ?>no-selector<?php } ?>" <?php if(($filter!='' && stripos($file,$filter)===false)) echo ' style="display:none;"';?>><?php
$file_prevent_rename = false;
$file_prevent_delete = false;
if (isset($filePermissions[$file])) {
$file_prevent_rename = isset($filePermissions[$file]['prevent_rename']) && $filePermissions[$file]['prevent_rename'];
$file_prevent_delete = isset($filePermissions[$file]['prevent_delete']) && $filePermissions[$file]['prevent_delete'];
}
?><figure data-name="<?php echo $file ?>" data-path="<?php echo $rfm_subfolder.$subdir.$file;?>" class="<?php if($file=="..") echo "back-";?>directory" data-type="<?php if($file!=".."){ echo "dir"; } ?>">
<?php if($file==".."){ ?>
<input type="hidden" class="path" value="<?php echo str_replace('.','',dirname($rfm_subfolder.$subdir));?>"/>
<input type="hidden" class="path_thumb" value="<?php echo dirname($thumbs_path)."/";?>"/>
<?php } ?>
<a class="folder-link" href="dialog.php?<?php echo $get_params.rawurlencode($src)."&".($callback?'callback='.$callback."&":'').uniqid() ?>">
<div class="img-precontainer">
<div class="img-container directory"><span></span>
<img class="directory-img" data-src="img/<?php echo $config['icon_theme'];?>/folder<?php if($file==".."){ echo "_back"; }?>.png" />
</div>
</div>
<div class="img-precontainer-mini directory">
<div class="img-container-mini">
<span></span>
<img class="directory-img" data-src="img/<?php echo $config['icon_theme'];?>/folder<?php if($file==".."){ echo "_back"; }?>.png" />
</div>
</div>
<?php if($file==".."){ ?>
<div class="box no-effect">
<h4><?php echo trans('Back') ?></h4>
</div>
</a>
<?php }else{ ?>
</a>
<div class="box">
<h4 class="<?php if($config['ellipsis_title_after_first_row']){ echo "ellipsis"; } ?>"><a class="folder-link" data-file="<?php echo $file ?>" href="dialog.php?<?php echo $get_params.rawurlencode($src)."&".uniqid() ?>"><?php echo $file;?></a></h4>
</div>
<input type="hidden" class="name" value="<?php echo $file_array['file_lcase'];?>"/>
<input type="hidden" class="date" value="<?php echo $file_array['date'];?>"/>
<input type="hidden" class="size" value="<?php echo $file_array['size'];?>"/>
<input type="hidden" class="extension" value="<?php echo fix_strtolower(trans('Type_dir'));?>"/>
<div class="file-date"><?php echo date(trans('Date_type'),$file_array['date']);?></div>
<?php if($config['show_folder_size']){ ?>
<div class="file-size"><?php echo makeSize($file_array['size']);?></div>
<input type="hidden" class="nfiles" value="<?php echo $file_array['nfiles'];?>"/>
<input type="hidden" class="nfolders" value="<?php echo $file_array['nfolders'];?>"/>
<?php } ?>
<div class='file-extension'><?php echo fix_strtolower(trans('Type_dir'));?></div>
<figcaption>
<a href="javascript:void('')" class="tip-left edit-button rename-file-paths <?php if($config['rename_folders'] && !$file_prevent_rename) echo "rename-folder";?>" title="<?php echo trans('Rename')?>" data-folder="1" data-permissions="<?php echo $file_array['permissions']; ?>">
<i class="icon-pencil <?php if(!$config['rename_folders'] || $file_prevent_rename) echo 'icon-white';?>"></i></a>
<a href="javascript:void('')" class="tip-left erase-button <?php if($config['delete_folders'] && !$file_prevent_delete) echo "delete-folder";?>" title="<?php echo trans('Erase')?>" data-confirm="<?php echo trans('Confirm_Folder_del');?>" >
<i class="icon-trash <?php if(!$config['delete_folders'] || $file_prevent_delete) echo 'icon-white';?>"></i>
</a>
</figcaption>
<?php } ?>
</figure>
</li>
<?php
}
$files_prevent_duplicate = array();
foreach ($files as $nu=>$file_array) {
$file=$file_array['file'];
if($file == '.' || $file == '..' || $file_array['extension']==fix_strtolower(trans('Type_dir')) || !check_extension($file_array['extension'],$config) || ($filter!='' && $n_files>$config['file_number_limit_js'] && stripos($file,$filter)===false))
continue;
foreach ( $config['hidden_files'] as $hidden_file ) {
if ( fnmatch($hidden_file, $file, FNM_PATHNAME) ) {
continue 2;
}
}
$filename=substr($file, 0, '-' . (strlen($file_array['extension']) + 1));
if(strlen($file_array['extension'])===0){
$filename = $file;
}
if(!$ftp){
$file_path=$config['current_path'].$rfm_subfolder.$subdir.$file;
//check if file have illegal caracter
if($file!=fix_filename($file,$config)){
$file1=fix_filename($file,$config);
$file_path1=($config['current_path'].$rfm_subfolder.$subdir.$file1);
if(file_exists($file_path1)){
$i = 1;
$info=pathinfo($file1);
while(file_exists($config['current_path'].$rfm_subfolder.$subdir.$info['filename'].".[".$i."].".$info['extension'])) {
$i++;
}
$file1=$info['filename'].".[".$i."].".$info['extension'];
$file_path1=($config['current_path'].$rfm_subfolder.$subdir.$file1);
}
$filename=substr($file1, 0, '-' . (strlen($file_array['extension']) + 1));
if(strlen($file_array['extension'])===0){
$filename = $file1;
}
rename_file($file_path,fix_filename($filename,$config),$ftp,$config);
$file=$file1;
$file_array['extension']=fix_filename($file_array['extension'],$config);
$file_path=$file_path1;
}
}else{
$file_path = $config['ftp_base_url'].$config['upload_dir'].$rfm_subfolder.$subdir.$file;
}
$is_img=false;
$is_video=false;
$is_audio=false;
$show_original=false;
$show_original_mini=false;
$mini_src="";
$src_thumb="";
if(in_array($file_array['extension'], $config['ext_img'])){
$src = $file_path;
$is_img=true;
$img_width = $img_height = "";
if($ftp){
$mini_src = $src_thumb = $config['ftp_base_url'].$config['ftp_thumbs_dir'].$subdir. $file;
$creation_thumb_path = "/".$config['ftp_base_folder'].$config['ftp_thumbs_dir'].$subdir. $file;
}else{
$creation_thumb_path = $mini_src = $src_thumb = $thumbs_path. $file;
if (!file_exists($src_thumb)) {
if (!create_img($file_path, $creation_thumb_path, 122, 91, 'crop', $config)) {
$src_thumb = $mini_src = "";
}
}
//check if is smaller than thumb
list($img_width, $img_height, $img_type, $attr)=@getimagesize($file_path);
if($img_width<122 && $img_height<91){
$src_thumb=$file_path;
$show_original=true;
}
if($img_width<45 && $img_height<38){
$mini_src=$config['current_path'].$rfm_subfolder.$subdir.$file;
$show_original_mini=true;
}
}
}
$is_icon_thumb=false;
$is_icon_thumb_mini=false;
$no_thumb=false;
if($src_thumb==""){
$no_thumb=true;
if(file_exists('img/'.$config['icon_theme'].'/'.$file_array['extension'].".jpg")){
$src_thumb ='img/'.$config['icon_theme'].'/'.$file_array['extension'].".jpg";
}else{
$src_thumb = "img/".$config['icon_theme']."/default.jpg";
}
$is_icon_thumb=true;
}
if($mini_src==""){
$is_icon_thumb_mini=false;
}
$class_ext=0;
if (in_array($file_array['extension'], $config['ext_video'])) {
$class_ext = 4;
$is_video=true;
}elseif (in_array($file_array['extension'], $config['ext_img'])) {
$class_ext = 2;
}elseif (in_array($file_array['extension'], $config['ext_music'])) {
$class_ext = 5;
$is_audio=true;
}elseif (in_array($file_array['extension'], $config['ext_misc'])) {
$class_ext = 3;
}else{
$class_ext = 1;
}
if((!($_GET['type']==1 && !$is_img) && !(($_GET['type']==3 && !$is_video) && ($_GET['type']==3 && !$is_audio))) && $class_ext>0){
?>
<li class="ff-item-type-<?php echo $class_ext;?> file <?php if(!$config['multiple_selection']){ ?>no-selector<?php } ?>" data-name="<?php echo $file;?>" <?php if(($filter!='' && stripos($file,$filter)===false)) echo ' style="display:none;"';?>><?php
$file_prevent_rename = false;
$file_prevent_delete = false;
if (isset($filePermissions[$file])) {
if (isset($filePermissions[$file]['prevent_duplicate']) && $filePermissions[$file]['prevent_duplicate']) {
$files_prevent_duplicate[] = $file;
}
$file_prevent_rename = isset($filePermissions[$file]['prevent_rename']) && $filePermissions[$file]['prevent_rename'];
$file_prevent_delete = isset($filePermissions[$file]['prevent_delete']) && $filePermissions[$file]['prevent_delete'];
}
?>
<figure data-name="<?php echo $file ?>" data-path="<?php echo $rfm_subfolder.$subdir.$file;?>" data-type="<?php if($is_img){ echo "img"; }else{ echo "file"; } ?>">
<?php if($config['multiple_selection']){ ?><div class="selector">
<label class="cont">
<input type="checkbox" class="selection" name="selection[]" value="<?php echo $file;?>">
<span class="checkmark"></span>
</label>
</div>
<?php } ?>
<a href="javascript:void('')" class="link" data-file="<?php echo $file;?>" data-function="<?php echo $apply;?>">
<div class="img-precontainer">
<?php if($is_icon_thumb){ ?><div class="filetype"><?php echo $file_array['extension'] ?></div><?php } ?>
<div class="img-container">
<img class="<?php echo $show_original ? "original" : "" ?><?php echo $is_icon_thumb ? " icon" : "" ?>" data-src="<?php echo $src_thumb;?>">
</div>
</div>
<div class="img-precontainer-mini <?php if($is_img) echo 'original-thumb' ?>">
<?php if($config['multiple_selection']){ ?>
<?php } ?>
<div class="filetype <?php echo $file_array['extension'] ?> <?php if(in_array($file_array['extension'], $config['editable_text_file_exts'])) echo 'edit-text-file-allowed' ?> <?php if(!$is_icon_thumb){ echo "hide"; }?>"><?php echo $file_array['extension'] ?></div>
<div class="img-container-mini">
<?php if($mini_src!=""){ ?>
<img class="<?php echo $show_original_mini ? "original" : "" ?><?php echo $is_icon_thumb_mini ? " icon" : "" ?>" data-src="<?php echo $mini_src;?>">
<?php } ?>
</div>
</div>
<?php if($is_icon_thumb){ ?>
<div class="cover"></div>
<?php } ?>
<div class="box">
<h4 class="<?php if($config['ellipsis_title_after_first_row']){ echo "ellipsis"; } ?>">
<?php echo $filename;?></h4>
</div></a>
<input type="hidden" class="date" value="<?php echo $file_array['date'];?>"/>
<input type="hidden" class="size" value="<?php echo $file_array['size'] ?>"/>
<input type="hidden" class="extension" value="<?php echo $file_array['extension'];?>"/>
<input type="hidden" class="name" value="<?php echo $file_array['file_lcase'];?>"/>
<div class="file-date"><?php echo date(trans('Date_type'),$file_array['date'])?></div>
<div class="file-size"><?php echo makeSize($file_array['size'])?></div>
<div class='img-dimension'><?php if($is_img){ echo $img_width."x".$img_height; } ?></div>
<div class='file-extension'><?php echo $file_array['extension'];?></div>
<figcaption>
<form action="force_download.php" method="post" class="download-form" id="form<?php echo $nu;?>">
<input type="hidden" name="path" value="<?php echo $rfm_subfolder.$subdir?>"/>
<input type="hidden" class="name_download" name="name" value="<?php echo $file?>"/>
<a title="<?php echo trans('Download')?>" class="tip-right" href="javascript:void('')" <?php if($config['download_files']) echo "onclick=\"$('#form".$nu."').submit();\"" ?>><i class="icon-download <?php if(!$config['download_files']) echo 'icon-white'; ?>"></i></a>
<?php if($is_img && $src_thumb!=""){ ?>
<a class="tip-right preview" title="<?php echo trans('Preview')?>" data-featherlight="<?php echo $src;?>" href="#"><i class=" icon-eye-open"></i></a>
<?php }elseif(($is_video || $is_audio) && in_array($file_array['extension'],$config['jplayer_exts'])){ ?>
<a class="tip-right modalAV <?php if($is_audio){ echo "audio"; }else{ echo "video"; } ?>"
title="<?php echo trans('Preview')?>" data-url="ajax_calls.php?action=media_preview&title=<?php echo $filename;?>&file=<?php echo $rfm_subfolder.$subdir.$file;?>"
href="javascript:void('');" ><i class=" icon-eye-open"></i></a>
<?php }elseif(in_array($file_array['extension'],$config['cad_exts'])){ ?>
<a class="tip-right file-preview-btn" title="<?php echo trans('Preview')?>" data-url="ajax_calls.php?action=cad_preview&title=<?php echo $filename;?>&file=<?php echo $rfm_subfolder.$subdir.$file;?>"
href="javascript:void('');" ><i class=" icon-eye-open"></i></a>
<?php }elseif($config['preview_text_files'] && in_array($file_array['extension'],$config['previewable_text_file_exts'])){ ?>
<a class="tip-right file-preview-btn" title="<?php echo trans('Preview')?>" data-url="ajax_calls.php?action=get_file&sub_action=preview&preview_mode=text&title=<?php echo $filename;?>&file=<?php echo $rfm_subfolder.$subdir.$file;?>"
href="javascript:void('');" ><i class=" icon-eye-open"></i></a>
<?php }elseif($config['googledoc_enabled'] && in_array($file_array['extension'],$config['googledoc_file_exts'])){ ?>
<a class="tip-right file-preview-btn" title="<?php echo trans('Preview')?>" data-url="ajax_calls.php?action=get_file&sub_action=preview&preview_mode=google&title=<?php echo $filename;?>&file=<?php echo $rfm_subfolder.$subdir.$file;?>"
href="docs.google.com;" ><i class=" icon-eye-open"></i></a>
<?php }else{ ?>
<a class="preview disabled"><i class="icon-eye-open icon-white"></i></a>
<?php } ?>
<a href="javascript:void('')" class="tip-left edit-button rename-file-paths <?php if($config['rename_files'] && !$file_prevent_rename) echo "rename-file";?>" title="<?php echo trans('Rename')?>" data-folder="0" data-permissions="<?php echo $file_array['permissions']; ?>">
<i class="icon-pencil <?php if(!$config['rename_files'] || $file_prevent_rename) echo 'icon-white';?>"></i></a>
<a href="javascript:void('')" class="tip-left erase-button <?php if($config['delete_files'] && !$file_prevent_delete) echo "delete-file";?>" title="<?php echo trans('Erase')?>" data-confirm="<?php echo trans('Confirm_del');?>">
<i class="icon-trash <?php if(!$config['delete_files'] || $file_prevent_delete) echo 'icon-white';?>"></i>
</a>
</form>
</figcaption>
</figure>
</li>
<?php
}
}
?></div>
</ul>
<?php } ?>
</div>
</div>
</div>
<script>
var files_prevent_duplicate = [];
<?php foreach ($files_prevent_duplicate as $key => $value): ?>
files_prevent_duplicate[<?php echo $key;?>] = '<?php echo $value;?>';
<?php endforeach;?>
</script>
<!-- loading div start -->
<div id="loading_container" style="display:none;">
<div id="loading" style="background-color:#000; position:fixed; width:100%; height:100%; top:0px; left:0px;z-index:100000"></div>
<img id="loading_animation" src="img/storing_animation.gif" alt="loading" style="z-index:10001; margin-left:-32px; margin-top:-32px; position:fixed; left:50%; top:50%">
</div>
<!-- loading div end -->
<!-- player div start -->
<div class="modal hide" id="previewAV">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3><?php echo trans('Preview'); ?></h3>
</div>
<div class="modal-body">
<div class="row-fluid body-preview">
</div>
</div>
</div>
<!-- player div end -->
<?php if ( $config['tui_active'] ) { ?>
<div id="tui-image-editor" style="height: 800px;" class="hide">
<canvas></canvas>
</div>
<script>
var tuiTheme = {
<?php foreach ($config['tui_defaults_config'] as $aopt_key => $aopt_val) {
if ( !empty($aopt_val) ) {
echo "'$aopt_key':".json_encode($aopt_val).",";
}
} ?>
};
</script>
<script>
if (image_editor) {
//TUI initial init with a blank image (Needs to be initiated before a dynamic image can be loaded into it)
var imageEditor = new tui.ImageEditor('#tui-image-editor', {
includeUI: {
loadImage: {
path: 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7',
name: 'Blank'
},
theme: tuiTheme,
initMenu: 'filter',
menuBarPosition: '<?php echo $config['tui_position'] ?>'
},
cssMaxWidth: 1000, // Component default value: 1000
cssMaxHeight: 800, // Component default value: 800
selectionStyle: {
cornerSize: 20,
rotxatingPointOffset: 70
}
});
//cache loaded image
imageEditor.loadImageFromURL = (function() {
var cached_function = imageEditor.loadImageFromURL;
function waitUntilImageEditorIsUnlocked(imageEditor) {
return new Promise((resolve,reject)=>{
const interval = setInterval(()=>{
if (!imageEditor._invoker._isLocked) {
clearInterval(interval);
resolve();
}
}, 100);
})
}
return function() {
return waitUntilImageEditorIsUnlocked(imageEditor).then(()=>cached_function.apply(this, arguments));
};
})();
//Replace Load button with exit button
$('.tui-image-editor-header-buttons div').
replaceWith('<button class="tui-image-editor-exit-btn" ><?php echo trans('Image_Editor_Exit');?></button>');
$('.tui-image-editor-exit-btn').on('click', function() {
exitTUI();
});
//Replace download button with save
$('.tui-image-editor-download-btn').
replaceWith('<button class="tui-image-editor-save-btn" ><?php echo trans('Image_Editor_Save');?></button>');
$('.tui-image-editor-save-btn').on('click', function() {
saveTUI();
});
function exitTUI()
{
imageEditor.clearObjects();
imageEditor.discardSelection();
$('#tui-image-editor').addClass('hide');
}
function saveTUI()
{
show_animation();
newURL = imageEditor.toDataURL();
$.ajax({
type: "POST",
url: "ajax_calls.php?action=save_img",
data: { url: newURL, path:$('#sub_folder').val()+$('#fldr_value').val(), name:$('#tui-image-editor').attr('data-name') }
}).done(function( msg ) {
exitTUI();
d = new Date();
$("figure[data-name='"+$('#tui-image-editor').attr('data-name')+"']").find('.img-container img').each(function(){
$(this).attr('src',$(this).attr('src')+"?"+d.getTime());
});
$("figure[data-name='"+$('#tui-image-editor').attr('data-name')+"']").find('figcaption a.preview').each(function(){
$(this).attr('data-url',$(this).data('url')+"?"+d.getTime());
});
hide_animation();
});
return false;
}
}
</script>
<?php } ?>
<script>
var ua = navigator.userAgent.toLowerCase();
var isAndroid = ua.indexOf("android") > -1; //&& ua.indexOf("mobile");
if (isAndroid) {
$('li').draggable({disabled: true});
}
</script>
</body>
</html>
Any feedback ?
@DhPandya As per your suggestion, I added following code inside TRAINER.BLADE.PHP FILE
<a href="{{ url('/vendor/filemanager/dialog.php?type=4&field_id=thumbnail&descending=1&sort_by=date&lang=undefined&akey=') }}" class="btn iframe-btn btn-primary" type="button">
<i class="fa fa-picture-o"></i> Choose
</a>
AFTER then i trigger following PHP ARTISAN command via PUTTY but it still showing same WHITE BLANK POPUP BOX as mentioned in this -----> PLEASE SEE FOLLOWING URL FOR CHOOSE BUTTON OUTPUT I MEAN THE WHITE POPUP BOX THATS APPEARS AFTER CLICKING ON CHOOSE BUTTON, SEE NO 5 IN SCREENHOST url://drive.google.com/file/d/1_nAKbebDF2Vw5gyWckmT_bAgqHljc7jP/view?usp=drive_link . Replace URL with HTTPS. (url=https).
php artisan cache:clear
php artisan route:cache
php artisan view:clear
php artisan config:cache
Please suggest
@Ujjwal_Rana OMG thats disgusting
I dont know where you got that script from but since its probably not been updated since 2016 it probably needs php 7.2 and is no doubt throwing errors in the browser console.
Do you have Jquery installed? version 1.12?
@Snapey Currently its connected with PHP 8.3 (ea-php83) version
php artisan --version Laravel Framework 8.83.27
And Inside public_html/admin/js folder we have following jquery
/public_html/frontend/owlcarousel/package.json
/broadmind/package.json
/broadmind/vendor/facade/ignition/package.json
Below is PACKAGE.JSON code
{
"private": true,
"scripts": {
"dev": "npm run development",
"development": "mix",
"watch": "mix watch",
"watch-poll": "mix watch -- --watch-options-poll=1000",
"hot": "mix watch --hot",
"prod": "npm run production",
"production": "mix --production"
},
"devDependencies": {
"axios": "^0.21",
"bootstrap": "^4.6.0",
"jquery": "^3.6",
"laravel-mix": "^6.0.6",
"lodash": "^4.17.19",
"popper.js": "^1.16.1",
"postcss": "^8.1.14",
"resolve-url-loader": "^3.1.2",
"sass": "^1.32.11",
"sass-loader": "^11.0.1",
"vue": "^2.6.12",
"vue-template-compiler": "^2.6.12"
}
}
BOOTSTRAP.JS code located inside reources
*/
try {
window.Popper = require('popper.js').default;
window.$ = window.jQuery = require('jquery');
require('bootstrap');
} catch (e) {}
/**
* We'll load the axios HTTP library which allows us to easily issue requests
* to our Laravel back-end. This library automatically handles sending the
* CSRF token as a header based on the value of the "XSRF" token cookie.
*/
window.axios = require('axios');
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
/**
* Echo exposes an expressive API for subscribing to channels and listening
* for events that are broadcast by Laravel. Echo and event broadcasting
* allows your team to easily build robust real-time web applications.
*/
// import Echo from 'laravel-echo';
// window.Pusher = require('pusher-js');
// window.Echo = new Echo({
// broadcaster: 'pusher',
// key: process.env.MIX_PUSHER_APP_KEY,
// cluster: process.env.MIX_PUSHER_APP_CLUSTER,
// forceTLS: true
// });
@Ujjwal_Rana How is this relevant?
@Ujjwal_Rana You are calling in some ancient PHP script and then wondering why it draws a white box when you trigger it. Since the script appears to know nothing about Laravel it is not going to report errors correctly, or write errors into the laravel log.
Please or to participate in this conversation.