Skip to content

Commit a548e7d

Browse files
committed
fixed problem with not working aps-crawler over remote (must use interface mode)
added possibility to change package-status over remote
1 parent ae9ca85 commit a548e7d

File tree

2 files changed

+35
-5
lines changed

2 files changed

+35
-5
lines changed

interface/lib/classes/remote.d/aps.inc.php

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,21 +39,23 @@ public function sites_aps_update_package_list($session_id)
3939
{
4040
global $app;
4141

42-
if(!$this->checkPerm($session_id, 'sites_aps_update_package')) {
42+
if(!$this->checkPerm($session_id, 'sites_aps_update_package_list')) {
4343
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
4444
return false;
4545
}
46-
46+
47+
require_once '../../../lib/config.inc.php';
4748
$app->load('aps_crawler');
48-
$aps = new ApsCrawler($app, false); // true = Interface mode, false = Server mode
49+
50+
$aps = new ApsCrawler($app, true); // true = Interface mode, false = Server mode
4951
$aps->startCrawler();
5052
$aps->parseFolderToDB();
5153
$aps->fixURLs();
5254

5355
return true;
5456
}
5557

56-
public function sites_aps_available_packages_list($session_id, $params)
58+
public function sites_aps_available_packages_list($session_id, $params = array())
5759
{
5860
global $app;
5961

@@ -198,6 +200,34 @@ public function sites_aps_get_package_settings($session_id, $primary_id)
198200
return $settings;
199201
}
200202

203+
public function sites_aps_change_package_status($session_id, $primary_id, $params)
204+
{
205+
global $app;
206+
207+
if(!$this->checkPerm($session_id, 'sites_aps_change_package_status')) {
208+
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
209+
return false;
210+
}
211+
212+
$app->load('aps_base');
213+
$app->load('aps_guicontroller');
214+
$gui = new ApsGUIController($app);
215+
216+
// Make sure an integer ID is given
217+
if (!isset($primary_id) || !$gui->isValidPackageID($primary_id, true)) {// always adminflag
218+
$this->server->fault('package_error', 'The given Package ID is not valid.');
219+
return false;
220+
}
221+
222+
if(!isset($params['package_status']) || (($params['package_status'] != PACKAGE_ENABLED) && ($params['package_status'] != PACKAGE_LOCKED))) {
223+
$this->server->fault('package_error', 'Wrong new status: '.$params['package_status']);
224+
return false;
225+
}
226+
227+
$app->db->query("UPDATE aps_packages SET package_status = ".$params['package_status']." WHERE id = '".$app->functions->intval($primary_id)."';");
228+
return true;
229+
}
230+
201231
public function sites_aps_install_package($session_id, $primary_id, $params)
202232
{
203233
global $app;

interface/web/sites/lib/remote.conf.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@
88
$function_list['sites_web_domain_backup'] = 'Sites Backup functions';
99
$function_list['sites_web_aliasdomain_get,sites_web_aliasdomain_add,sites_web_aliasdomain_update,sites_web_aliasdomain_delete'] = 'Sites Aliasdomain functions';
1010
$function_list['sites_web_subdomain_get,sites_web_subdomain_add,sites_web_subdomain_update,sites_web_subdomain_delete'] = 'Sites Subdomain functions';
11-
$function_list['sites_aps_update_package_list,sites_aps_available_packages_list,sites_aps_install_package,sites_aps_get_package_details,sites_aps_get_package_file,sites_aps_get_package_settings,sites_aps_instance_get,sites_aps_instance_delete'] = 'Sites APS functions';
11+
$function_list['sites_aps_update_package_list,sites_aps_available_packages_list,sites_aps_change_package_status,sites_aps_install_package,sites_aps_get_package_details,sites_aps_get_package_file,sites_aps_get_package_settings,sites_aps_instance_get,sites_aps_instance_delete'] = 'Sites APS functions';
1212
?>

0 commit comments

Comments
 (0)