commit
82e6798781
21 changed files with 548 additions and 0 deletions
@ -0,0 +1,34 @@ |
||||
#!/usr/bin/perl -w |
||||
|
||||
use esmith::Build::CreateLinks qw(:all); |
||||
|
||||
templates2events("/etc/ajaxplorer/bootstrap_plugins.php", qw(webapps-update bootstrap-console-save)); |
||||
templates2events("/var/cache/ajaxplorer/diag_result.php", qw(webapps-update bootstrap-console-save)); |
||||
templates2events("/etc/ajaxplorer/bootstrap_repositories.php", qw(webapps-update bootstrap-console-save share-create share-delete share-modify share-modify-servers)); |
||||
templates2events("/var/lib/ajaxplorer/plugins/auth.serial/roles.ser", qw(webapps-update bootstrap-console-save share-create share-delete share-modify share-modify-servers)); |
||||
templates2events("/var/lib/ajaxplorer/plugins/auth.serial/users.ser", qw(webapps-update bootstrap-console-save user-create user-delete)); |
||||
templates2events("/etc/ajaxplorer/diag_result.php", qw(webapps-update bootstrap-console-save)); |
||||
templates2events("/var/lib/ajaxplorer/plugins/conf.serial/plugins_configs.ser", qw(webapps-update bootstrap-console-save)); |
||||
|
||||
safe_symlink("/etc/e-smith/templates-default/template-begin-php", "root/etc/e-smith/templates/etc/ajaxplorer/bootstrap_plugins.php/template-begin"); |
||||
safe_symlink("/etc/e-smith/templates-default/template-begin-php", "root/etc/e-smith/templates/etc/ajaxplorer/bootstrap_repositories.php/template-begin"); |
||||
safe_symlink("/etc/e-smith/templates-default/template-end-php", "root/etc/e-smith/templates/etc/ajaxplorer/boostrap_plugins.php/template-end"); |
||||
safe_symlink("/etc/e-smith/templates-default/template-end-php", "root/etc/e-smith/templates/etc/ajaxplorer/boostrap_repositories.php/template-end"); |
||||
safe_symlink("/etc/e-smith/templates-default/template-begin-php", "root/etc/e-smith/templates/var/cache/ajaxplorer/diag_result.php/template-begin"); |
||||
safe_symlink("/etc/e-smith/templates-default/template-end-php", "root/etc/e-smith/templates/var/cache/ajaxplorer/diag_result.php/template-end"); |
||||
|
||||
event_link("ajaxplorer-user-rights", "webapps-update", "85"); |
||||
event_link("ajaxplorer-user-rights", "share-create", "85"); |
||||
event_link("ajaxplorer-user-rights", "share-delete", "85"); |
||||
event_link("ajaxplorer-user-rights", "share-modify", "85"); |
||||
event_link("ajaxplorer-user-rights", "share-modify-servers", "85"); |
||||
event_link("ajaxplorer-user-rights", "user-delete", "85"); |
||||
event_link("ajaxplorer-user-rights", "group-create", "85"); |
||||
event_link("ajaxplorer-user-rights", "group-modify", "85"); |
||||
event_link("ajaxplorer-user-rights", "group-delete", "85"); |
||||
event_link("ajaxplorer-user-rights", "user-modify-admin", "85"); |
||||
|
||||
safe_touch("root/etc/e-smith/templates/var/lib/ajaxplorer/plugins/auth.serial/roles.ser/template-begin"); |
||||
safe_touch("root/etc/e-smith/templates/var/lib/ajaxplorer/plugins/auth.serial/__user__/rights.ser/template-begin"); |
||||
safe_touch("root/etc/e-smith/templates/var/lib/ajaxplorer/plugins/auth.serial/users.ser/template-begin"); |
||||
safe_touch("root/etc/e-smith/templates/var/lib/ajaxplorer/plugins/conf.serial/plugins_configs.ser/template-begin"); |
@ -0,0 +1 @@ |
||||
url |
@ -0,0 +1 @@ |
||||
private |
@ -0,0 +1 @@ |
||||
enabled |
@ -0,0 +1 @@ |
||||
webapp |
@ -0,0 +1,50 @@ |
||||
#!/usr/bin/perl -w |
||||
|
||||
#---------------------------------------------------------------------- |
||||
# copyright (C) 2011-2012 Firewall Services |
||||
# Daniel Berteaud <daniel@firewall-services.com> |
||||
# |
||||
# This program is free software; you can redistribute it and/or modify |
||||
# it under the terms of the GNU General Public License as published by |
||||
# the Free Software Foundation; either version 2 of the License, or |
||||
# (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program; if not, write to the Free Software |
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
||||
#---------------------------------------------------------------------- |
||||
|
||||
use strict; |
||||
use esmith::templates; |
||||
use esmith::AccountsDB; |
||||
use File::Path qw(mkpath rmtree); |
||||
|
||||
my $a = esmith::AccountsDB->open_ro; |
||||
|
||||
# Remove all the permissions |
||||
unlink(</var/lib/ajaxplorer/plugins/auth.serial/*/rights.ser>); |
||||
|
||||
# Remove active sessions |
||||
unlink(</var/lib/ajaxplorer/tmp/sess_*>); |
||||
|
||||
# Remove plugin cache |
||||
unlink(</var/cache/ajaxplorer/plugin*.ser>); |
||||
|
||||
foreach my $user (($a->users),$a->get('admin')){ |
||||
my $name = $user->key; |
||||
mkpath('/var/lib/ajaxplorer/plugins/auth.serial/' . $name); |
||||
chmod 0770, "/var/lib/ajaxplorer/plugins/auth.serial/$name"; |
||||
chown '0', '102', "/var/lib/ajaxplorer/plugins/auth.serial/$name"; |
||||
processTemplate( |
||||
{ |
||||
TEMPLATE_PATH => "/var/lib/ajaxplorer/plugins/auth.serial/__user__/rights.ser", |
||||
MORE_DATA => {KEY=>$name}, |
||||
OUTPUT_FILENAME => "/var/lib/ajaxplorer/plugins/auth.serial/$name/rights.ser", |
||||
}); |
||||
} |
||||
|
@ -0,0 +1,4 @@ |
||||
PERMS=0660 |
||||
UID="root" |
||||
GID="www" |
||||
|
@ -0,0 +1,4 @@ |
||||
PERMS=0660 |
||||
UID="root" |
||||
GID="www" |
||||
|
@ -0,0 +1,4 @@ |
||||
PERMS=0660 |
||||
UID="root" |
||||
GID="www" |
||||
|
@ -0,0 +1,4 @@ |
||||
PERMS=0660 |
||||
UID="root" |
||||
GID="www" |
||||
|
@ -0,0 +1 @@ |
||||
defined('AJXP_EXEC') or die( 'Access not allowed'); |
@ -0,0 +1,53 @@ |
||||
/*********************************************************/ |
||||
/* PLUGINS DEFINITIONS |
||||
/* Drivers will define how the application will work. For |
||||
/* each type of operation, there are multiple implementation |
||||
/* possible. Check the content of the plugins folder. |
||||
/* CONF = users and repositories definition, |
||||
/* AUTH = users authentification mechanism, |
||||
/* LOG = logs of the application. |
||||
/* |
||||
/* By default, the three are all based on files. |
||||
/* |
||||
/* ACTIVE_PLUGINS adds other type of plugins to the application. |
||||
/* If you are developping your own plugin, do not forget to declare |
||||
/* it here. |
||||
/*********************************************************/ |
||||
$PLUGINS = array( |
||||
"CONF_DRIVER" => array( |
||||
"NAME" => "serial", |
||||
"OPTIONS" => array( |
||||
"REPOSITORIES_FILEPATH" => "/var/lib/ajaxplorer/plugins/conf.serial/repo.ser", |
||||
"ROLES_FILEPATH" => "/var/lib/ajaxplorer/plugins/auth.serial/roles.ser", |
||||
"USERS_DIRPATH" => "/var/lib/ajaxplorer/plugins/auth.serial", |
||||
) |
||||
), |
||||
"AUTH_DRIVER" => array( |
||||
"NAME" => "basic_http", |
||||
"OPTIONS" => array( |
||||
"LOGIN_REDIRECT" => false, |
||||
"USERS_FILEPATH" => "/var/lib/ajaxplorer/plugins/auth.serial/users.ser", |
||||
"AUTOCREATE_AJXPUSER" => false, |
||||
"TRANSMIT_CLEAR_PASS" => false, |
||||
"LOGOUT_URL" => "{$ajaxplorer{'LogoutUrl'} || 'http://' . $SystemName . '.' . $DomainName;}" ) |
||||
), |
||||
"LOG_DRIVER" => array( |
||||
"NAME" => "text", |
||||
"OPTIONS" => array( |
||||
"LOG_PATH" => "/var/log/ajaxplorer/", |
||||
"LOG_FILE_NAME" => 'log_' . date('m-d-y') . '.txt', |
||||
"LOG_CHMOD" => 0770 |
||||
) |
||||
), |
||||
// Do not use wildcard for uploader, to keep them in a given order |
||||
// Warning, do not add the "meta." plugins, they are automatically |
||||
// detected and activated by the application. |
||||
"ACTIVE_PLUGINS" => array("editor.*", "uploader.flex", "uploader.html", "gui.ajax", "hook.*") |
||||
); |
||||
if(AJXP_Utils::userAgentIsMobile())\{ |
||||
$PLUGINS["ACTIVE_PLUGINS"][] = "gui.mobile"; |
||||
if(AJXP_Utils::userAgentIsIOS() && !isSet($_GET["skipIOS"]) && !isSet($_COOKIE["SKIP_IOS"]))\{ |
||||
$PLUGINS["ACTIVE_PLUGINS"][] = "gui.ios"; |
||||
\} |
||||
\} |
||||
|
@ -0,0 +1 @@ |
||||
defined('AJXP_EXEC') or die( 'Access not allowed'); |
@ -0,0 +1,92 @@ |
||||
/*********************************************************/ |
||||
/* BASIC REPOSITORY CONFIGURATION. |
||||
/* To add a repository, create a new shared-folders and choose |
||||
/* the access with web-based management interface |
||||
/*********************************************************/ |
||||
|
||||
{ |
||||
use esmith::AccountsDB; |
||||
|
||||
my $a = esmith::AccountsDB->open_ro(); |
||||
|
||||
foreach my $share ($a->get_all_by_prop(type=>'share')){ |
||||
my $name = $share->key; |
||||
my $access = $share->prop('Ajaxplorer') || 'disabled'; |
||||
next unless ($access eq 'enabled'); |
||||
my $desc = $share->prop('Name') || $name; |
||||
my $recycledir = (($share->prop('RecycleBin') || 'disabled') eq 'disabled') ? |
||||
'' : $share->prop('RecycleBinDir') || 'Recycle Bin'; |
||||
my $meta = (($share->prop('AjaxplorerIndex') || 'disabled') eq 'disabled') ? |
||||
'' : '"index.lucene" => array( |
||||
"index_content" => "1", |
||||
"index_meta_fields" => "anything_area", |
||||
"repository_specific_keywords" => "" |
||||
),' . "\n "; |
||||
$meta .= (($share->prop('AjaxplorerMetadata') || 'disabled') eq 'disabled') ? |
||||
'' : '"metastore.serial" => array( |
||||
"METADATA_FILE_LOCATION" => "outside", |
||||
), |
||||
"meta.user" => array ( |
||||
"meta_fields" => "stars_rate,css_label,anything_area", |
||||
"meta_labels" => "Rate,Type,Note", |
||||
),'; |
||||
$OUT .=<<"EOF"; |
||||
|
||||
\$REPOSITORIES["$name"] = array( |
||||
"DISPLAY" => "$desc", |
||||
"AJXP_SLUG" => "$name", |
||||
"DRIVER" => "fs", |
||||
"DRIVER_OPTIONS" => array( |
||||
"PATH" => "/home/e-smith/files/shares/$name/files/", |
||||
"CREATE" => false, |
||||
"RECYCLE_BIN" => '$recycledir', |
||||
"CHMOD_VALUE" => '0660', |
||||
"DEFAULT_RIGHTS" => "", |
||||
"PAGINATION_THRESHOLD" => 500, |
||||
"PAGINATION_NUMBER" => 200, |
||||
"META_SOURCES" => array( |
||||
$meta |
||||
) |
||||
), |
||||
); |
||||
|
||||
EOF |
||||
|
||||
} |
||||
|
||||
if (($ajaxplorer{'PublicShares'} || 'disabled') eq 'enabled'){ |
||||
$OUT .=<<'EOF'; |
||||
|
||||
$REPOSITORIES["ajxp_shared"] = array( |
||||
"DISPLAY" => "Shared Elements", |
||||
"DISPLAY_ID" => "363", |
||||
"DRIVER" => "ajxp_shared", |
||||
"DRIVER_OPTIONS"=> array( |
||||
"DEFAULT_RIGHTS" => "" |
||||
) |
||||
); |
||||
|
||||
EOF |
||||
|
||||
} |
||||
|
||||
$OUT .=<<'EOF'; |
||||
|
||||
// ADMIN REPOSITORY |
||||
/* |
||||
|
||||
Settings interface is disabled because the configuration |
||||
is managed by the SME Server templates system |
||||
New repositories can be added using the smeserver-shared-folders |
||||
contrib |
||||
|
||||
$REPOSITORIES[1] = array( |
||||
"DISPLAY" => "Settings", |
||||
"DISPLAY_ID" => "165", |
||||
"DRIVER" => "ajxp_conf", |
||||
"DRIVER_OPTIONS"=> array() |
||||
); |
||||
*/ |
||||
|
||||
EOF |
||||
} |
@ -0,0 +1,73 @@ |
||||
{ |
||||
|
||||
use esmith::AccountsDB; |
||||
my $a = esmith::AccountsDB->open_ro; |
||||
|
||||
if (($ajaxplorer{'status'} || 'disabled') eq 'enabled'){ |
||||
my $alias = (($ajaxplorer{'AliasOnPrimary'} || 'enabled') eq 'enabled' ) ? 'Alias /ajaxplorer /usr/share/ajaxplorer':''; |
||||
my $allow = (($ajaxplorer{'access'} || 'private') eq 'public') ? 'all':"$localAccess $externalSSLAccess"; |
||||
my $auth = (($ajaxplorer{'Authentication'} || 'http') eq 'http') ? "AuthName \"Ajaxplorer\"\n" . |
||||
" AuthType Basic\n" . |
||||
" AuthExternal pwauth\n" . |
||||
" Require valid-user\n" : ''; |
||||
my $maxsize = $ajaxplorer{'MaxUploadSize'} || '200M'; |
||||
|
||||
my $shares = ''; |
||||
foreach my $share ($a->get_all_by_prop(type=>'share')){ |
||||
my $name = $share->key; |
||||
my $access = $share->prop('Ajaxplorer') || 'disabled'; |
||||
$shares .= ":/home/e-smith/files/shares/$name/files" if ($access eq 'enabled'); |
||||
} |
||||
|
||||
my $public = $ajaxplorer{'PublicShares'} || 'disabled'; |
||||
$OUT .=<<"EOF" if ($public eq 'enabled'); |
||||
|
||||
Alias /ajxppub /var/lib/ajaxplorer/public |
||||
<Directory /var/lib/ajaxplorer/public> |
||||
Options None |
||||
AddType application/x-httpd-php .php |
||||
php_admin_value open_basedir /usr/share/ajaxplorer:/var/lib/ajaxplorer:/var/log/ajaxplorer:/etc/ajaxplorer:/var/cache/ajaxplorer:/usr/share/pear/$shares |
||||
Order deny,allow |
||||
Allow from all |
||||
<Files ".ajxp_*"> |
||||
deny from all |
||||
</Files> |
||||
</Directory> |
||||
|
||||
EOF |
||||
|
||||
$OUT .=<<"EOF"; |
||||
|
||||
$alias |
||||
|
||||
<Directory /usr/share/ajaxplorer> |
||||
AddType application/x-httpd-php .php |
||||
php_admin_value open_basedir /usr/share/ajaxplorer:/var/lib/ajaxplorer:/var/log/ajaxplorer:/etc/ajaxplorer:/var/cache/ajaxplorer:/usr/share/pear/$shares |
||||
php_admin_value memory_limit 100M |
||||
php_admin_value upload_max_filesize $maxsize |
||||
php_admin_value post_max_size $maxsize |
||||
php_admin_value max_execution_time 86400 |
||||
php_admin_value upload_tmp_dir /var/lib/ajaxplorer/tmp |
||||
php_admin_value session.save_path /var/lib/ajaxplorer/tmp |
||||
SSLRequireSSL on |
||||
Order deny,allow |
||||
Deny from all |
||||
Allow from $allow |
||||
$auth |
||||
</Directory> |
||||
|
||||
EOF |
||||
|
||||
} |
||||
else { |
||||
$OUT .=<<'EOF'; |
||||
|
||||
# Ajaxplorer is disabled |
||||
# You can enable it with |
||||
# db configuration setprop ajaxplorer status enabled |
||||
# signal-event webapps-update |
||||
|
||||
EOF |
||||
} |
||||
|
||||
} |
@ -0,0 +1,14 @@ |
||||
{ |
||||
my $sslport = $modSSL{'TCPPort'} || '443'; |
||||
my $status = $ajaxplorer{'status'} || 'enabled'; |
||||
my $alias = $ajaxplorer{'AliasOnPrimary'} || 'enabled'; |
||||
|
||||
if (($port ne $sslport) && ($status eq 'enabled') && ($alias eq 'enabled')){ |
||||
|
||||
## Redirect Web Address to Secure Address |
||||
$OUT .= " RewriteEngine on\n"; |
||||
$OUT .= " RewriteRule ^/ajaxplorer(/.*|\$) https://%{HTTP_HOST}/ajaxplorer\$1 \[L,R\]\n"; |
||||
|
||||
} |
||||
} |
||||
|
@ -0,0 +1,46 @@ |
||||
{ |
||||
|
||||
use PHP::Serialization qw(serialize); |
||||
use esmith::AccountsDB; |
||||
|
||||
my $a = esmith::AccountsDB->open_ro || die "Error opening accounts db\n"; |
||||
my @s = $a->get_all_by_prop( type => 'share' ); |
||||
my $data; |
||||
my $id = $KEY; |
||||
|
||||
foreach my $share (@s){ |
||||
my $sharename = $share->key; |
||||
my $access = $share->prop('Ajaxplorer') || 'disabled'; |
||||
next unless ($access eq 'enabled'); |
||||
my @readgroups = split(/[;,]/, $share->prop('ReadGroups') || ''); |
||||
my @writegroups = split(/[;,]/, $share->prop('WriteGroups') || ''); |
||||
my @readusers = split(/[;,]/, $share->prop('ReadUsers') || ''); |
||||
my @writeusers = split(/[;,]/, $share->prop('WriteUsers') || ''); |
||||
|
||||
|
||||
foreach (@readgroups){ |
||||
$data->{$sharename} = 'r' if ( $a->is_user_in_group($id,$_) ); |
||||
} |
||||
foreach (@writegroups){ |
||||
$data->{$sharename} = 'rw' if ( $a->is_user_in_group($id,$_) ); |
||||
} |
||||
foreach (@readusers){ |
||||
$data->{$sharename} = 'r' if ( $_ eq $id ); |
||||
} |
||||
foreach (@writegroups){ |
||||
$data->{$sharename} = 'rw' if ( $_ eq $id ); |
||||
} |
||||
$data->{'ajxp.admin'} = ($id eq 'admin') ? 1:0; |
||||
} |
||||
|
||||
$data->{'ajxp_shared'} = 'rw' |
||||
if (($ajaxplorer{'PublicShares'} || 'disabled') eq 'enabled'); |
||||
|
||||
# Hugly hack to convert int -> bool |
||||
my $string = serialize($data); |
||||
$string =~ s/i:/b:/; |
||||
|
||||
$OUT = $string; |
||||
|
||||
} |
||||
|
@ -0,0 +1,32 @@ |
||||
{ |
||||
|
||||
use PHP::Serialization qw(serialize); |
||||
use esmith::AccountsDB; |
||||
|
||||
my $a = esmith::AccountsDB->open_ro || die "Error opening accounts db\n"; |
||||
|
||||
my @s = $a->get_all_by_prop( type => 'share' ); |
||||
|
||||
my $data; |
||||
|
||||
foreach my $group ($a->groups){ |
||||
my $groupname = $group->key; |
||||
foreach my $share (@s){ |
||||
my $sharename = $share->key; |
||||
my $access = $share->prop('Ajaxplorer') || 'disabled'; |
||||
next unless ($access eq 'enabled'); |
||||
my @read = split(/[;,]/, $share->prop('ReadGroups') || ''); |
||||
my @write = split(/[;,]/, $share->prop('WriteGroups') || ''); |
||||
|
||||
$data->{$groupname}->{"\00AjxpRole\00rights"}{$sharename} = 'rw' if ( grep { $groupname eq $_ } @write ); |
||||
$data->{$groupname}->{"\00AjxpRole\00rights"}{$sharename} = 'r' if ( grep { $groupname eq $_ } @read ); |
||||
$data->{$groupname}->{"\00AjxpRole\00id"} = $groupname; |
||||
|
||||
$data->{$groupname} = bless $data->{$groupname},'PHP::Serialization::Object::AjxpRole'; |
||||
} |
||||
} |
||||
|
||||
$OUT = serialize($data); |
||||
|
||||
} |
||||
|
@ -0,0 +1,16 @@ |
||||
{ |
||||
|
||||
use PHP::Serialization qw(serialize); |
||||
use esmith::AccountsDB; |
||||
|
||||
my $a = esmith::AccountsDB->open_ro || die "Error opening accounts db\n"; |
||||
my $data; |
||||
|
||||
foreach my $user ($a->users,$a->get('admin')){ |
||||
my $key = $user->key; |
||||
$data->{$key} = $key; |
||||
} |
||||
|
||||
$OUT .= serialize($data); |
||||
|
||||
} |
@ -0,0 +1,20 @@ |
||||
{ |
||||
use PHP::Serialization qw(serialize); |
||||
my $data; |
||||
|
||||
$data->{'core.uploader'}->{'UPLOAD_MAX_SIZE'} = "0"; |
||||
$data->{'core.uploader'}->{'UPLOAD_MAX_NUMBER'} = "50"; |
||||
$data->{'gui.ajax'}->{'CUSTOM_WELCOME_MESSAGE'} = $ajaxplorer{'WelcomMessage'} || 'Ajaxplorer'; |
||||
$data->{'core.ajaxplorer'}->{'WEBMASTER_EMAIL'} = 'admin@'.$DomainName; |
||||
$data->{'core.ajaxplorer'}->{'AJXP_TMP_DIR'} = '/var/lib/ajaxplorer/tmp'; |
||||
$data->{'core.ajaxplorer'}->{'DEFAULT_LANGUAGE'} = $ajaxplorer{'DefaultLanguage'} || 'en'; |
||||
$data->{'core.ajaxplorer'}->{'APPLICATION_TITLE'} = $ajaxplorer{'Title'} || 'Ajaxplorer'; |
||||
|
||||
if (($ajaxplorer{'PublicShares'} || 'disabled') eq 'enabled'){ |
||||
$data->{'core.ajaxplorer'}->{'PUBLIC_DOWNLOAD_FOLDER'} = '/var/lib/ajaxplorer/public'; |
||||
$data->{'core.ajaxplorer'}->{'PUBLIC_DOWNLOAD_URL'} = $ajaxplorer{'PublicDownloadUrl'} || "http://$SystemName.$DomainName/ajxppub"; |
||||
} |
||||
|
||||
$OUT = serialize($data); |
||||
|
||||
} |
@ -0,0 +1,96 @@ |
||||
# Authority: vip-ire |
||||
# Name: Daniel Berteaud |
||||
|
||||
%define name smeserver-ajaxplorer |
||||
%define version 0.1.1 |
||||
%define release 11 |
||||
Summary: sme server integration of ajaxplorer |
||||
Name: %{name} |
||||
Version: %{version} |
||||
Release: %{release}%{?dist} |
||||
License: GNU GPL version 2 |
||||
URL: http://www.ajaxplorer.info/wordpress/ |
||||
Group: SMEserver/addon |
||||
Source: %{name}-%{version}.tar.gz |
||||
|
||||
BuildArchitectures: noarch |
||||
BuildRequires: e-smith-devtools |
||||
BuildRoot: /var/tmp/%{name}-%{version} |
||||
Requires: e-smith-base >= 5.2.0-56 |
||||
Requires: ajaxplorer >= 4.0.0 |
||||
Requires: smeserver-webapps-common |
||||
Requires: smeserver-shared-folders >= 0.1-64 |
||||
Requires: perl(PHP::Serialization) |
||||
Requires: perl(File::Path) |
||||
|
||||
%description |
||||
smserver integration of ajaxplorer. |
||||
Ajaxplorer is a rich-client browser for managing files on a web server |
||||
This contrib works with the smeserver-shared-folders addon |
||||
|
||||
%changelog |
||||
* Fri Apr 06 2012 Daniel Berteaud <daniel@firewall-services.com> 0.1.1-1 |
||||
- Migrate to GIT |
||||
- make all shares accessible with open_basedir |
||||
|
||||
* Sat Feb 18 2012 Daniel Berteaud <daniel@firewall-services.com> 0.1-11 |
||||
- Support user level ACL |
||||
|
||||
* Tue Jan 03 2012 Daniel Berteaud <daniel@firewall-services.com> 0.1-10 |
||||
- Ajaxplorer 4.0 compatibility |
||||
- Support publiclets |
||||
|
||||
* Tue Dec 06 2011 Daniel Berteaud <daniel@firewall-services.com> 0.1-9 |
||||
- turn on JS debug (IE doesn't like compacted JS) |
||||
|
||||
* Mon Dec 05 2011 Daniel Berteaud <daniel@firewall-services.com> 0.1-8 |
||||
- Rise upload_max_number to 50 |
||||
|
||||
* Wed Nov 23 2011 Daniel Berteaud <daniel@firewall-services.com> 0.1-7 |
||||
- Allow access to /usr/share/pear and to /usr/share/doc/ajaxplorer-*/client |
||||
- Warn the user after 10min of inactivity (instead of 3) |
||||
- Add support for logout URL |
||||
- Remove plugin cache files on updates |
||||
- Add support for meta.serial |
||||
|
||||
* Thu Nov 03 2011 Daniel Berteaud <daniel@firewall-services.com> 0.1-6 |
||||
- Fix default Recycle Bin dir |
||||
|
||||
* Thu Oct 27 2011 Daniel Berteaud <daniel@firewall-services.com> 0.1-5 |
||||
- Flush active sessions on privileges updates |
||||
|
||||
* Mon Jul 11 2011 Daniel Berteaud <daniel@firewall-services.com> 0.1-4 |
||||
- Reserve /ajaxplorer location |
||||
|
||||
* Tue Jul 05 2011 Daniel B. <daniel@firewall-services.com> 0.1-3 |
||||
- Honor Recycle Bin settings |
||||
|
||||
* Tue Jun 28 2011 Daniel B. <daniel@firewall-services.com> 0.1-2 |
||||
- Call ajaxplorer-user-rights later |
||||
- Fix display name of repositories |
||||
|
||||
* Fri Jun 24 2011 Daniel B. <daniel@firewall-services.com> 0.1-1 |
||||
- initial release |
||||
|
||||
%prep |
||||
%setup |
||||
|
||||
%build |
||||
perl ./createlinks |
||||
|
||||
%install |
||||
rm -rf $RPM_BUILD_ROOT |
||||
(cd root ; find . -depth -print | cpio -dump $RPM_BUILD_ROOT) |
||||
rm -f %{name}-%{version}-filelist |
||||
/sbin/e-smith/genfilelist $RPM_BUILD_ROOT \ |
||||
> %{name}-%{version}-filelist |
||||
|
||||
%files -f %{name}-%{version}-filelist |
||||
%defattr(-,root,root) |
||||
|
||||
%clean |
||||
rm -rf $RPM_BUILD_ROOT |
||||
|
||||
|
||||
%postun |
||||
|
Loading…
Reference in new issue