| 1 | <?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));
 |