el_finder 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/el_finder/connector.rb +4 -2
- data/lib/el_finder/version.rb +1 -1
- data/test/test_el_finder.rb +28 -0
- metadata +4 -4
data/lib/el_finder/connector.rb
CHANGED
@@ -292,7 +292,8 @@ module ElFinder
|
|
292
292
|
|
293
293
|
#
|
294
294
|
def _edit
|
295
|
-
|
295
|
+
perms = perms_for(@target)
|
296
|
+
if perms[:read] == true && perms[:write] == true
|
296
297
|
@target.open('w') { |f| f.write @params[:content] }
|
297
298
|
@response[:file] = cdc_for(@target)
|
298
299
|
else
|
@@ -321,7 +322,8 @@ module ElFinder
|
|
321
322
|
command_not_implemented
|
322
323
|
else
|
323
324
|
if @target.file?
|
324
|
-
|
325
|
+
perms = perms_for(@target)
|
326
|
+
if perms[:read] == true && perms[:write] == true
|
325
327
|
image_resize_handler.resize(@target, :width => @params[:width].to_i, :height => @params[:height].to_i)
|
326
328
|
@response[:select] = [to_hash(@target)]
|
327
329
|
_open(@current)
|
data/lib/el_finder/version.rb
CHANGED
data/test/test_el_finder.rb
CHANGED
@@ -565,6 +565,19 @@ class TestElFinder < Test::Unit::TestCase
|
|
565
565
|
assert_not_equal 'Hello', File.read(File.join(@vroot, 'README.txt'))
|
566
566
|
end
|
567
567
|
|
568
|
+
def test_edit_permissions_read
|
569
|
+
@elfinder.options = {
|
570
|
+
:perms => {
|
571
|
+
'README.txt' => {:read => false}
|
572
|
+
}
|
573
|
+
}
|
574
|
+
h, r = @elfinder.run(:cmd => 'open', :init => 'true', :target => '')
|
575
|
+
file = r[:cdc].find{|e| e[:name] == 'README.txt'}
|
576
|
+
h, r = @elfinder.run(:cmd => 'edit', :target => file[:hash], :content => 'Hello')
|
577
|
+
assert_match(/access denied/i, r[:error])
|
578
|
+
assert_not_equal 'Hello', File.read(File.join(@vroot, 'README.txt'))
|
579
|
+
end
|
580
|
+
|
568
581
|
def test_resize_permissions_write
|
569
582
|
@elfinder.options = {
|
570
583
|
:perms => {
|
@@ -574,6 +587,21 @@ class TestElFinder < Test::Unit::TestCase
|
|
574
587
|
h, r = @elfinder.run(:cmd => 'open', :init => 'true', :target => '')
|
575
588
|
file = r[:cdc].find{|e| e[:name] == 'pjkh.png'}
|
576
589
|
h, r = @elfinder.run(:cmd => 'resize', :target => file[:hash], :current => r[:cwd][:hash], :width => '50', :height => '25')
|
590
|
+
assert_match(/access denied/i, r[:error])
|
591
|
+
assert File.exist?(File.join(@vroot, 'pjkh.png'))
|
592
|
+
assert_equal '100x100', ElFinder::ImageSize.for(File.join(@vroot, 'pjkh.png')).to_s
|
593
|
+
end
|
594
|
+
|
595
|
+
def test_resize_permissions_read
|
596
|
+
@elfinder.options = {
|
597
|
+
:perms => {
|
598
|
+
'pjkh.png' => {:read => false}
|
599
|
+
}
|
600
|
+
}
|
601
|
+
h, r = @elfinder.run(:cmd => 'open', :init => 'true', :target => '')
|
602
|
+
file = r[:cdc].find{|e| e[:name] == 'pjkh.png'}
|
603
|
+
h, r = @elfinder.run(:cmd => 'resize', :target => file[:hash], :current => r[:cwd][:hash], :width => '50', :height => '25')
|
604
|
+
assert_match(/access denied/i, r[:error])
|
577
605
|
assert File.exist?(File.join(@vroot, 'pjkh.png'))
|
578
606
|
assert_equal '100x100', ElFinder::ImageSize.for(File.join(@vroot, 'pjkh.png')).to_s
|
579
607
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: el_finder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 17
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 1.0.
|
9
|
+
- 3
|
10
|
+
version: 1.0.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Philip Hallstrom
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
18
|
+
date: 2011-01-03 00:00:00 -08:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|