Exemple #1
0
 public function cancel()
 {
     $ret_val = 0;
     $status_current = '';
     if (CoreStatus_checkInIdle($status_current)) {
         $this->_return_cr(ERROR_NO_PRINT);
         return;
     }
     if ($status_current == CORESTATUS_VALUE_PRINT) {
         $this->load->helper('printer');
         $ret_val = Printer_stopPrint();
         if ($ret_val == TRUE) {
             $this->_return_cr(ERROR_OK);
         } else {
             $this->load->helper('printerlog');
             PrinterLog_logError('can not stop printing by REST', __FILE__, __LINE__);
             $this->_return_cr(ERROR_NO_PRINT);
         }
     } else {
         $this->_return_cr(ERROR_NO_PRINT);
     }
     return;
 }
Exemple #2
0
 public function cancel()
 {
     $ret_val = NULL;
     $this->load->helper('printer');
     $ret_val = Printer_stopPrint();
     if ($ret_val == TRUE) {
         $template_data = array();
         $array_status = array();
         $this->load->library('parser');
         $this->lang->load('printdetail', $this->config->item('language'));
         $this->load->helper('zimapi');
         if (Printer_checkCancelStatus() || !file_exists(ZIMAPI_FILEPATH_VIDEO_TS)) {
             if (ZimAPI_checkCamera($mode_current) && $mode_current == ZIMAPI_VALUE_MODE_HLS_IMG) {
                 $this->load->helper('printerlog');
                 PrinterLog_logMessage('detected in hls image timelapse mode, do not set camera', __FILE__, __LINE__);
             } else {
                 if (!ZimAPI_cameraOn(ZIMAPI_PRM_CAMERA_PRINTSTART)) {
                     $this->load->helper('printerlog');
                     PrinterLog_logError('can not set camera', __FILE__, __LINE__);
                 }
             }
         }
         // parse the main body
         $template_data = array('title' => t('Control your printing'), 'loading_player' => t('loading_player'), 'wait_info' => t('wait_hint_cancel'), 'finish_info' => t('finish_hint_cancel'), 'return_button' => t('Home'), 'return_url' => '/', 'video_url' => $this->config->item('video_url'), 'restart_url' => NULL, 'again_button' => t('Print again'));
         if (CoreStatus_getStatusArray($array_status) && is_array($array_status) && isset($array_status[CORESTATUS_TITLE_PRINTMODEL])) {
             if (strpos($array_status[CORESTATUS_TITLE_PRINTMODEL], CORESTATUS_VALUE_MID_PREFIXGCODE) === 0) {
                 // gcode library model
                 $gid = (int) substr($array_status[CORESTATUS_TITLE_PRINTMODEL], strlen(CORESTATUS_VALUE_MID_PREFIXGCODE));
                 $template_data['restart_url'] = '/printdetail/printgcode?id=' . $gid;
             } else {
                 $abb_cartridge = NULL;
                 $restart_url = NULL;
                 switch ($array_status[CORESTATUS_TITLE_PRINTMODEL]) {
                     case CORESTATUS_VALUE_MID_SLICE:
                         $restart_url = '/printdetail/printslice';
                         break;
                     case CORESTATUS_VALUE_MID_PRIME_L:
                         $abb_cartridge = 'l';
                     case CORESTATUS_VALUE_MID_PRIME_R:
                         $abb_cartridge = is_null($abb_cartridge) ? 'r' : $abb_cartridge;
                         $restart_url = '/printdetail/printprime?v=' . $abb_cartridge;
                         $template_data['title'] = t('title_prime');
                         $template_data['again_button'] = t('prime_agin');
                         break;
                     case CORESTATUS_VALUE_MID_CALIBRATION:
                         $restart_url = '/printmodel/detail?id=calibration';
                         break;
                     default:
                         // treat as pre-sliced model
                         $restart_url = '/printdetail/printmodel?id=' . $array_status[CORESTATUS_TITLE_PRINTMODEL];
                         break;
                 }
                 $template_data['restart_url'] = $restart_url;
             }
         }
         // parse all page
         $this->_parseBaseTemplate(t('printdetail_cancel_pagetitle'), $this->parser->parse('printdetail/cancel', $template_data, TRUE));
         return;
     } else {
         $this->load->helper('printerlog');
         PrinterLog_logError('can not stop printing', __FILE__, __LINE__);
         $this->output->set_status_header(403);
         return;
     }
     return;
 }