@@ -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 ;
0 commit comments