示例#1
0
 /**
  * @param Page $page
  */
 protected function SetHTTPContentTypeByPage($page)
 {
     $headerString = 'Content-Type: text/html';
     if ($page->GetContentEncoding() != null) {
         AddStr($headerString, 'charset=' . $page->GetContentEncoding(), ';');
     }
     header($headerString);
 }
示例#2
0
 public function GetLink()
 {
     $parameterList = '';
     foreach ($this->parameters as $name => $value) {
         AddStr($parameterList, $name . '=' . urlencode($value), '&');
     }
     return $this->targetPage . ($parameterList != '' ? '?' : '') . $parameterList;
 }
示例#3
0
function BuildPrimaryKeyLink($PrimaryKeyValues)
{
    $KeyValueList = '';
    $KeyValueNumber = 0;
    foreach ($PrimaryKeyValues as $PrimaryKeyValue) {
        AddStr($KeyValueList, "pk{$KeyValueNumber}={$PrimaryKeyValue}", '&');
        $KeyValueNumber++;
    }
    return $KeyValueList;
}
 /**
  * @{inheritdoc}
  */
 public function extractValueFromArray(ArrayWrapper $arrayWrapper, &$valueChanged)
 {
     $valueChanged = true;
     if ($arrayWrapper->isValueSet($this->GetName())) {
         $valuesArray = $arrayWrapper->GetValue($this->GetName());
         $result = '';
         foreach ($valuesArray as $value) {
             AddStr($result, $value, ',');
         }
         return $result;
     } else {
         return '';
     }
 }
示例#5
0
 /**
  * @param SMException[] $exceptions
  * @return string
  */
 protected function ExceptionsToErrorMessage($exceptions)
 {
     $result = '';
     foreach ($exceptions as $exception) {
         if (is_subclass_of($exception, 'SMException')) {
             AddStr($result, $exception->getLocalizedMessage($this->GetPage()->GetLocalizerCaptions()), '<br><br>');
         } else {
             AddStr($result, $exception->getMessage(), '<br><br>');
         }
         if (defined('DEBUG_LEVEL') && DEBUG_LEVEL > 0) {
             $result .= '<br>Program trace: <br>' . FormatExceptionTrace($exception);
         }
     }
     return $result;
 }
示例#6
0
 private function GetKeyFieldCondition()
 {
     $result = '';
     foreach ($this->keyFieldValues as $fieldName => $value) {
         AddStr($result, $this->GetCommandImp()->GetFilterConditionGenerator()->CreateCondition(new FieldFilter($value, '='), $this->GetFieldByName($fieldName)), ' AND ');
     }
     return $result;
 }
 function partition_GetPartitionConditionHandler($partitionName, &$condition)
 {
     $condition = '';
     if (isset($partitionName) && isset($this->partitions[$partitionName])) {
         foreach ($this->partitions[$partitionName] as $value) {
             AddStr($condition, sprintf('(project.dept_id = %s)', $this->PrepareTextForSQL($value)), ' OR ');
         }
     }
 }
示例#8
0
 private function GetFieldNames()
 {
     $result = '';
     foreach ($this->fieldValues as $fieldName => $value) {
         if ($this->IsFieldValueSettedToDefault($fieldName) & !$this->GetCommandImp()->SupportsDefaultValue()) {
             continue;
         }
         AddStr($result, $this->GetCommandImp()->GetFieldFullName($this->GetFieldByName($fieldName)), ', ');
     }
     return $result;
 }
示例#9
0
 public function QuoteTableIndetifier($identifier)
 {
     if (StringUtils::Contains(StringUtils::Lower($identifier), 'select')) {
         return $identifier;
     }
     $result = '';
     $parts = StringUtils::SplitString('.', $identifier);
     foreach ($parts as $part) {
         AddStr($result, StringUtils::NormalizeQuotation($part, $this->GetFirstQuoteChar(), $this->GetLastQuoteChar()), '.');
     }
     return $result;
 }
 public function GenerateRss()
 {
     $result = '<?xml version="1.0" encoding="utf-8"?>';
     AddStr($result, '<rss version="2.0">');
     AddStr($result, '<channel>');
     AddStr($result, RssUtils::CreateTag('title', StringUtils::EscapeXmlString($this->GetTitle())));
     AddStr($result, RssUtils::CreateTag('link', StringUtils::EscapeXmlString($this->GetLink())));
     AddStr($result, RssUtils::CreateTag('description', $this->GetDescription()));
     foreach ($this->GetItems() as $item) {
         AddStr($result, $this->GenerateItemRss($item));
     }
     AddStr($result, '</channel>');
     AddStr($result, '</rss>');
     return $result;
 }
示例#11
0
 public final function Generate(Dataset $dataset, $filter)
 {
     if ($filter instanceof FilterCondition) {
         /** @var FilterCondition $filter  */
         return $this->GetFilterConditionAsSQL($dataset, $filter);
     } else {
         if ($filter instanceof FilterGroup) {
             $result = '';
             /** @var FilterGroup $filter  */
             for ($i = 0; $i < $filter->GetItemCount(); $i++) {
                 AddStr($result, $this->Generate($dataset, $filter->GetItem($i)), ' ' . $this->GetGroupOperatorAsSQL($filter->GetOperator()) . ' ');
             }
             return '(' . $result . ')';
         }
     }
     return null;
 }
示例#12
0
 public function GetValue()
 {
     $showButton = true;
     $this->OnShow->Fire(array(&$showButton));
     if ($showButton) {
         if ($this->useImages) {
             AddStr($result, '<span class="inline_edit_controls default-fade-in fade-out-on-hover" style="white-space: nowrap;">');
         } else {
             AddStr($result, '<span class="inline_edit_controls" style="white-space: nowrap;">');
         }
         if ($this->useImages) {
             AddStr($result, '<a href="#" class="inline_edit_init" title="' . $this->editButtonText . '">' . '<i class="pg-icon-edit-record"></i>' . '</a>');
             AddStr($result, '<a href="#" style="display: none;" class="inline_edit_cancel" title="' . $this->cancelButtonText . '">' . '<i class="pg-icon-inline-edit-cancel" title="' . $this->cancelButtonText . '"></i>' . '</a>');
             AddStr($result, '<a href="#" style="display: none;" class="inline_edit_commit" title="' . $this->commitButtonText . '">' . '<i class="pg-icon-inline-edit-commit" title="' . $this->commitButtonText . '"></i>' . '</a>');
         } else {
             AddStr($result, '<a href="#" class="inline_edit_init" title="' . $this->editButtonText . '">' . $this->editButtonText . '</a>');
             AddStr($result, '<a style="margin-right: 5px;" href="#" class="inline_edit_cancel" title="' . $this->cancelButtonText . '">' . $this->cancelButtonText . '</a>');
             AddStr($result, '<a href="#" class="inline_edit_commit" title="' . $this->commitButtonText . '">' . $this->commitButtonText . '</a>');
         }
         $keyValues = $this->dataset->GetPrimaryKeyValues();
         for ($i = 0; $i < count($keyValues); $i++) {
             AddStr($result, sprintf('<input type="hidden" name="pk%d" value="%s"></input>', $i, $keyValues[$i]));
         }
         AddStr($result, '</span>');
         return $result;
     } else {
         return '';
     }
 }
示例#13
0
 /**
  * @param bool $valueChanged
  * @return string
  */
 public function ExtractsValueFromPost(&$valueChanged)
 {
     if (GetApplication()->IsPOSTValueSet($this->GetName())) {
         $valueChanged = true;
         $valuesArray = GetApplication()->GetPOSTValue($this->GetName());
         $result = '';
         foreach ($valuesArray as $value) {
             AddStr($result, $value, ',');
         }
         return $result;
     } else {
         $valueChanged = true;
         return '';
     }
 }
示例#14
0
 public function DoLastError()
 {
     $result = '';
     $errors = sqlsrv_errors();
     if ($errors != null) {
         foreach ($errors as $error) {
             AddStr($result, $error['message'], '<br/>');
         }
     }
     return $result;
 }
示例#15
0
 public function ExecuteUpdateCommand($connection, $command)
 {
     $blobFieldTail = '';
     $blobFieldIndex = 0;
     $fieldValues = $command->GetValues();
     foreach ($command->GetFields() as $field) {
         if ($field->FieldType == ftBlob && isset($fieldValues[$field->Name])) {
             AddStr($blobFieldTail, sprintf('%s INTO :bind%s', $this->QuoteIdentifier($field->Name), $blobFieldIndex), ', ');
             $blobFieldIndex++;
         }
     }
     $resultSql = $command->GetSQL() . ($blobFieldTail != '' ? ' RETURNING ' . $blobFieldTail : '');
     $statement = @oci_parse($connection->GetConnectionHandle(), $resultSql);
     $blobFieldIndex = 0;
     $blobDescriptors = array();
     foreach ($command->GetFields() as $field) {
         if ($field->FieldType == ftBlob && isset($fieldValues[$field->Name])) {
             $blobDescriptors[$field->Name] = oci_new_descriptor($connection->GetConnectionHandle(), OCI_D_LOB);
             @oci_bind_by_name($statement, ':bind' . $blobFieldIndex, $blobDescriptors[$field->Name], -1, OCI_B_BLOB);
             $blobFieldIndex++;
         }
     }
     $result = @oci_execute($statement, OCI_COMMIT_ON_SUCCESS);
     foreach ($command->GetFields() as $field) {
         if ($field->FieldType == ftBlob && isset($fieldValues[$field->Name])) {
             if (is_array($fieldValues[$field->Name])) {
                 $blobDescriptors[$field->Name]->save(file_get_contents($fieldValues[$field->Name][0]));
             } else {
                 $blobDescriptors[$field->Name]->save($fieldValues[$field->Name]);
             }
             $blobDescriptors[$field->Name]->free();
         }
     }
     $error = oci_error($statement);
     return $result;
 }