| 1 | 2 | Manuela | <?php
 | 
      
        | 2 |  |  | 
 | 
      
        | 3 |  |  |     $aJsonRespond = [];
 | 
      
        | 4 |  |  |     $sModuleDir   = basename(dirname(__DIR__));
 | 
      
        | 5 |  |  |     // require config for Constants and DB access
 | 
      
        | 6 |  |  |     require(dirname(dirname(dirname(__DIR__))).'/config.php');
 | 
      
        | 7 |  |  |     // Check if user has enough rights to do this:
 | 
      
        | 8 |  |  |     // initialize json_respond array  (will be sent back)
 | 
      
        | 9 |  |  |     try{
 | 
      
        | 10 |  |  |         if (!class_exists('admin', false)){require(WB_PATH.'/framework/class.admin.php');}
 | 
      
        | 11 |  |  |         $admin = new admin('Modules', 'module_view', FALSE, FALSE);
 | 
      
        | 12 |  |  |     // first read and validate the $_POST arguments
 | 
      
        | 13 |  |  |         $aAllowedActions = ['toggle_active_status'];
 | 
      
        | 14 |  |  |         $sRequestAction  = $_POST['action'] ?:'';
 | 
      
        | 15 |  |  |         // test if action value is in allowed list of actions
 | 
      
        | 16 |  |  |         if ( !in_array($sRequestAction, $aAllowedActions)) {
 | 
      
        | 17 |  |  |             throw new Exception('no valid "action" was set');
 | 
      
        | 18 |  |  |         }
 | 
      
        | 19 |  |  |         $sRequestIdKey = $_POST['iRecordId'];
 | 
      
        | 20 |  |  | //        $iIdKey = $admin->checkIDKEY('iRecordId');
 | 
      
        | 21 |  |  | //        $iIdKey = $admin->checkIDKEY('iRecordId', 0, '', true);
 | 
      
        | 22 |  |  |         $iIdKey = $sRequestIdKey;
 | 
      
        | 23 |  |  |         if (!($iRequestRecordId = (int)$iIdKey ?: 0)) {
 | 
      
        | 24 |  |  |             throw new Exception('no valid RecordId was set '.$iRequestRecordId);
 | 
      
        | 25 |  |  |         }
 | 
      
        | 26 |  |  |         if (!($admin->is_authenticated() && $admin->get_permission($sModuleDir, 'module'))) {
 | 
      
        | 27 |  |  |             throw new Exception('You\'re not allowed to make changes to Module: ['.$sModuleDir.']');
 | 
      
        | 28 |  |  |         }
 | 
      
        | 29 |  |  |         switch ($sRequestAction):
 | 
      
        | 30 |  |  |             case 'toggle_active_status':
 | 
      
        | 31 |  |  |                 // Check the Parameters
 | 
      
        | 32 |  |  |                 $sql = 'UPDATE `'.TABLE_PREFIX.'mod_news_posts` SET '
 | 
      
        | 33 |  |  |                      . '`active`= (`active` IS NOT TRUE) '
 | 
      
        | 34 |  |  |                      . 'WHERE `post_id`='.$iRequestRecordId;
 | 
      
        | 35 |  |  |                 if (!(bool)$database->query($sql)) {
 | 
      
        | 36 |  |  |                     throw new Exception('DB access fail ['.$database->get_error().']');
 | 
      
        | 37 |  |  |                 }
 | 
      
        | 38 |  |  |                 break;
 | 
      
        | 39 |  |  |             default:
 | 
      
        | 40 |  |  |                 throw new Exception('no valid "action" was set ');
 | 
      
        | 41 |  |  |                 break;
 | 
      
        | 42 |  |  |         endswitch;
 | 
      
        | 43 |  |  |         $aJsonRespond['message'] = 'Activity Status successfully changed';
 | 
      
        | 44 |  |  |         $aJsonRespond['success'] = true;
 | 
      
        | 45 |  |  | //        $aJsonRespond['sIdKey']  = $admin->getIDKEY($iIdKey);
 | 
      
        | 46 |  |  |         $aJsonRespond['sIdKey']  = $iIdKey;
 | 
      
        | 47 |  |  |     } catch (Exception $e) {
 | 
      
        | 48 |  |  |         $aJsonRespond['message'] = $e->getMessage();
 | 
      
        | 49 |  |  |         $aJsonRespond['success'] = false;
 | 
      
        | 50 |  |  | //        $aJsonRespond['sIdKey']  = $admin->getIDKEY($iIdKey);
 | 
      
        | 51 |  |  |         $aJsonRespond['sIdKey']  = $iIdKey;
 | 
      
        | 52 |  |  |     }
 | 
      
        | 53 |  |  |     // echo the json_respond to the ajax function
 | 
      
        | 54 |  |  |     exit(json_encode($aJsonRespond));
 |