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; }
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; }