public function addError() { if (func_num_args() < 1) { \Framework::debug("Need at least 1 parameter"); } $args = func_get_args(); switch (count($args)) { case 1: if (is_object($args[0])) { $this->errors->add($args[0]); } elseif (is_string($args[0])) { $this->errors->add(new ErrorGlobal($args[0])); } else { \Framework::debug("Wrong argument passed to add errors"); } break; case 2: $this->errors->add(new ErrorForm($args[0], $args[1])); break; case 3: $this->errors->add(new ErrorForm($args[0], $args[1], $args[2])); break; default: \Framework::debug("This function can't has " . count($args) . " arguments"); break; } }
/** * @return array<list_Item> */ public final function getItems() { try { $request = Controller::getInstance()->getContext()->getRequest(); $questionId = intval($request->getParameter('questionId', 0)); $question = DocumentHelper::getDocumentInstance($questionId); } catch (Exception $e) { if (Framework::isDebugEnabled()) { Framework::debug(__METHOD__ . ' EXCEPTION: ' . $e->getMessage()); } return array(); } // Here we must use instanceof and not getDocumentModelName to work with injection. $results = array(); if ($question instanceof form_persistentdocument_boolean) { $trueLabel = $question->getTruelabel(); $falseLabel = $question->getFalselabel(); $results[$trueLabel] = new list_Item($trueLabel, $trueLabel); $results[$falseLabel] = new list_Item($falseLabel, $falseLabel); } else { if ($question instanceof form_persistentdocument_list) { $results = $question->getDataSource()->getItems(); } } return $results; }
function sendFile_Rangable($filename, $contentType = "binary/octet") { if (!file_exists($filename)) { return Framework::debug(DEBUG_FATAL, "sendFile_Ranagable() - Unknown file {$filename}"); } header("Content-Type: {$contentType}"); $fp = @fopen($filename, 'rb'); header("Accept-Ranges: bytes"); $size = filesize($filename); // File size $length = $size; // Content length $start = 0; // Start byte $end = $size - 1; // End byte if (isset($_SERVER['HTTP_RANGE'])) { $c_start = $start; $c_end = $end; list(, $range) = explode('=', $_SERVER['HTTP_RANGE'], 2); if (strpos($range, ',') !== false) { header('HTTP/1.1 416 Requested Range Not Satisfiable'); header("Content-Range: bytes {$start}-{$end}/{$size}"); exit; } if ($range == '-') { $c_start = $size - substr($range, 1); } else { $range = explode('-', $range); $c_start = $range[0]; $c_end = isset($range[1]) && is_numeric($range[1]) ? $range[1] : $size; } $c_end = $c_end > $end ? $end : $c_end; if ($c_start > $c_end || $c_start > $size - 1 || $c_end >= $size) { header('HTTP/1.1 416 Requested Range Not Satisfiable'); header("Content-Range: bytes {$start}-{$end}/{$size}"); exit; } $start = $c_start; $end = $c_end; $length = $end - $start + 1; fseek($fp, $start); header('HTTP/1.1 206 Partial Content'); } header("Content-Range: bytes {$start}-{$end}/{$size}"); header("Content-Length: " . $length); $buffer = 1024 * 8; while (!feof($fp) && ($p = ftell($fp)) <= $end) { if ($p + $buffer > $end) { $buffer = $end - $p + 1; } set_time_limit(0); echo fread($fp, $buffer); flush(); } fclose($fp); exit; }
protected function getMessage($msgType) { switch ($msgType) { case Error::ERROR_MESSAGE_HTML: return $this->getHTML(); break; case Error::ERROR_MESSAGE_RAW: return $this->getRawMessage(); break; default: \Framework::debug("Unknown message type"); break; } }
/** * @param form_persistentdocument_field $document * @param Integer $parentNodeId Parent node ID where to save the document (optionnal). * @return void */ protected function preSave($document, $parentNodeId = null) { $fieldName = $document->getFieldName(); if (f_util_StringUtils::isEmpty($fieldName)) { $this->fieldNameCounter = $this->fieldNameCounter + 1; $fieldName = 'f' . time() . $this->fieldNameCounter; if (Framework::isDebugEnabled()) { Framework::debug(__METHOD__ . ' Generate FieldName: ' . $fieldName . ' for document ' . $document->__toString()); } $document->setFieldName($fieldName); } $parentDoc = $parentNodeId != null ? DocumentHelper::getDocumentInstance($parentNodeId) : $this->getParentOf($document); form_BaseformService::getInstance()->checkFieldNameAvailable($document, $parentDoc->getId()); $this->fixRequiredConstraint($document); }
function sendCameraImage($camName, $ImageName, $mode = "full") { global $hostConfig; // Verify Camera definition was loaded.. if (!isset($this->camList[$camName])) { return Framework::debug(DEBUG_FATAL, "<CENTER><H1>Requested Camera [{$camName}] not found</h1></center>"); } // Verify Image file exists $ImageFile = $this->camList[$camName]['folder'] . "/{$ImageName}"; if (!file_exists($ImageFile)) { return Framework::debug(DEBUG_FATAL, "<CENTER><H1>Requested Image not found</h1></center>"); } // Return correct varient of image.. switch ($mode) { case 'thumb': return makeThumbnail($ImageFile, "{$hostConfig['Folder_Base']}/thumb", $hostConfig['ThumbSize']); break; case 'full': return sendFile_Rangable($this->camList[$camName]['folder'] . "/{$ImageName}", "image/jpeg"); break; default: Framework::debug(DEBUG_FATAL, "Unknown 'Mode' parameter"); } }
/** * Adds or replace headers array * * @param string|array $header */ public function setHeader($header, $append = true) { if ($append) { if (is_string($header)) { $this->headers[] = $header; } elseif (is_array($header)) { $this->headers = array_merge($this->headers, $header); } else { \Framework::debug("Invalid header type"); } } else { if (is_string($header)) { $header = array($header); } if (is_array($header)) { $this->headers = $header; } else { \Framework::debug("Invalid header type"); } } return $this; }
/** * @param form_persistentdocument_baseform $form * @param form_persistentdocument_response $response * @param block_BlockRequest $request * @param array $result * @param String $acknowledgmentReceiver * @param String $replyTo * @return void */ protected function sendAcknowledgement($form, $response, $request, $result, $acknowledgmentReceiver, $replyTo) { $recipients = new mail_MessageRecipients(); $recipients->setTo(array($acknowledgmentReceiver)); $parameters = $this->getAcknowledgementNotificationParameters($form, $response, $request, $result, $acknowledgmentReceiver, $replyTo); if (Framework::isDebugEnabled()) { Framework::debug(__METHOD__ . " Form \"" . $form->getLabel() . "\" (id=" . $form->getId() . ")"); Framework::debug(__METHOD__ . " Parameters: " . var_export($parameters, true)); Framework::debug(__METHOD__ . " To : " . join(", ", $recipients->getTo())); Framework::debug(__METHOD__ . " ReplyTo : " . $replyTo); } $ns = notification_NotificationService::getInstance(); $ns->setMessageService(MailService::getInstance()); $notification = $form->getAcknowledgmentNotification(); $senderEmail = $this->getOverrideNotificationSender($form); return $ns->send($notification, $recipients, $parameters, 'form', $replyTo, $senderEmail); }
/** * @param form_persistentdocument_form $form * @param form_persistentdocument_response $response * @param block_BlockRequest $request * @param String $copyMail * @param String $replyTo * @return void */ private function sendEmail($form, $response, $request, $copyMail, $replyTo) { $recipients = new mail_MessageRecipients(); if ($request->hasParameter('receiverIds')) { $this->handleReceveirIds($request->getParameter('receiverIds'), $recipients); } // Determine the message recipients for this form. // Note that the following method may be overriden to allow the developper // to build specific mail recipients, depending on the request data for // example. $this->buildMessageRecipients($form, $recipients, $request); if (!$recipients->isEmpty()) { if ($form->getMessageSendingType() == self::SEND_EMAIL_AND_APPEND_TO_MAILBOX) { $messageService = mailbox_MessageService::getInstance(); Framework::debug(__METHOD__ . " Getting mailbox_MessageService instance."); } else { $messageService = MailService::getInstance(); Framework::debug(__METHOD__ . " Getting MailService instance."); } $contentTemplate = TemplateLoader::getInstance()->setPackageName('modules_form')->setMimeContentType(K::HTML)->load('Form-MailContent'); $contentTemplate->setAttribute('items', $response->getAllData()); $contentTemplate->setAttribute('response', $response->getResponseInfos()); $parameters = $response->getData(); $parameters[self::CONTENT_REPLACEMENT_NAME] = $contentTemplate->execute(); $parameters[self::FORM_LABEL_REPLACEMENT_NAME] = $form->getLabel(); if (Framework::isDebugEnabled()) { Framework::debug(__METHOD__ . " Form \"" . $form->getLabel() . "\" (id=" . $form->getId() . ")"); Framework::debug(__METHOD__ . " Parameters: " . var_export($parameters, true)); if ($recipients->hasTo()) { Framework::debug(__METHOD__ . " To : " . join(", ", $recipients->getTo())); } if ($recipients->hasBCC()) { Framework::debug(__METHOD__ . " CC : " . join(", ", $recipients->getCC())); } if ($recipients->hasBCC()) { Framework::debug(__METHOD__ . " BCC : " . join(", ", $recipients->getBcc())); } Framework::debug(__METHOD__ . " ReplyTo : " . $replyTo); } $ns = notification_NotificationService::getInstance(); $ns->setMessageService($messageService); if ($copyMail === null) { return $ns->send($form->getNotification(), $recipients, $parameters, 'form', $replyTo, $this->getOverrideNotificationSender($form)); } else { $copyRecipient = new mail_MessageRecipients(); $copyRecipient->setTo(array($copyMail)); $notification = $form->getNotification(); $sender = $this->getOverrideNotificationSender($form); return $ns->send($notification, $recipients, $parameters, 'form', $replyTo, $sender) && $ns->send($notification, $copyRecipient, $parameters, 'form', $replyTo, $sender); } } return true; }