コード例 #1
0
 /**
  * Render a form file
  *
  * @param  string $content
  * @return string
  */
 public function render($content)
 {
     $element = $this->getElement();
     if (!$element instanceof Zend_Form_Element) {
         return $content;
     }
     $view = $element->getView();
     if (!$view instanceof Zend_View_Interface) {
         return $content;
     }
     $name = $element->getName();
     $attribs = $this->getAttribs();
     if (!array_key_exists('id', $attribs)) {
         $attribs['id'] = $name;
     }
     $separator = $this->getSeparator();
     $placement = $this->getPlacement();
     $markup = array();
     $size = $element->getMaxFileSize();
     if ($size > 0) {
         $element->setMaxFileSize(0);
         $markup[] = $view->formHidden('MAX_FILE_SIZE', $size);
     }
     if (Zend_File_Transfer_Adapter_Http::isApcAvailable()) {
         $markup[] = $view->formHidden(ini_get('apc.rfc1867_name'), uniqid(), array('id' => 'progress_key'));
     } else {
         if (Zend_File_Transfer_Adapter_Http::isUploadProgressAvailable()) {
             $markup[] = $view->formHidden('UPLOAD_IDENTIFIER', uniqid(), array('id' => 'progress_key'));
         }
     }
     if ($element->isArray()) {
         $name .= "[]";
         $count = $element->getMultiFile();
         for ($i = 0; $i < $count; ++$i) {
             $htmlAttribs = $attribs;
             $htmlAttribs['id'] .= '-' . $i;
             $markup[] = $view->formFile($name, $htmlAttribs);
         }
     } else {
         $markup[] = $view->formFile($name, $attribs);
     }
     $markup = implode($separator, $markup);
     switch ($placement) {
         case self::PREPEND:
             return $markup . $separator . $content;
         case self::APPEND:
         default:
             return $content . $separator . $markup;
     }
 }
コード例 #2
0
ファイル: File.php プロジェクト: romlg/cms36
 /**
  * Render a form file
  *
  * @param  string $content
  * @return string
  */
 public function render($content)
 {
     $element = $this->getElement();
     if (!$element instanceof Zend_Form_Element) {
         return $content;
     }
     $view = $element->getView();
     if (!$view instanceof Zend_View_Interface) {
         return $content;
     }
     $name = $element->getName();
     $attribs = $this->getAttribs();
     if (!array_key_exists('id', $attribs)) {
         $attribs['id'] = $name;
     }
     $separator = $this->getSeparator();
     $placement = $this->getPlacement();
     $markup = array();
     $size = $element->getMaxFileSize();
     if ($size > 0) {
         $element->setMaxFileSize(0);
         $markup[] = $view->formHidden('MAX_FILE_SIZE', $size);
     }
     if (Zend_File_Transfer_Adapter_Http::isApcAvailable()) {
         $markup[] = $view->formHidden(ini_get('apc.rfc1867_name'), uniqid(), array('id' => 'progress_key'));
     } else {
         if (Zend_File_Transfer_Adapter_Http::isUploadProgressAvailable()) {
             $markup[] = $view->formHidden('UPLOAD_IDENTIFIER', uniqid(), array('id' => 'progress_key'));
         }
     }
     if ($element->isArray()) {
         $name .= "[]";
         $count = $element->getMultiFile();
         for ($i = 0; $i < $count; ++$i) {
             $htmlAttribs = $attribs;
             $htmlAttribs['id'] .= '-' . $i;
             $markup[] = $view->formFile($name, $htmlAttribs);
         }
     } else {
         $markup[] = $view->formFile($name, $attribs);
     }
     $markup = implode($separator, $markup);
     $html = '';
     switch ($placement) {
         case self::PREPEND:
             $html = $markup . $separator;
         case self::APPEND:
         default:
             $html = $separator . $markup;
     }
     $file = '';
     $default_value = $element->getDefaultValue();
     if ($default_value) {
         $file = '<a href="' . $default_value . '" target="_blank" class="view">Просмотр</a>';
     }
     $button_title = isset($attribs['button_title']) ? $attribs['button_title'] : 'Обзор...';
     $ret = '
     <div class="elemBox file">
         ' . $file . '
         <a class="button" title="выберите файл">' . $html . '<span>' . $button_title . '</span></a>
         <div class="inputBox">
             <input class="text" type="text" value="' . $default_value . '" name="' . $name . '" readonly="readonly">
         </div>
     </div>';
     return $ret;
 }