Example #1
0
 /**
  * 处理上传图片和上传文件
  * @param string $field
  * @param \Lite\DB\Model $model_instance
  * @return string
  */
 public static function displayField($field, Model $model_instance)
 {
     $value = $model_instance->{$field};
     $define = $model_instance->getPropertiesDefine($field);
     if ($define['rel'] == 'upload-image') {
         $value = $value ?: Config::get('app/default_image');
         //todo merge params
         return '<span class="image-thumb">' . self::getImg(Config::get('upload/url') . $value) . '</span>';
     } else {
         if ($define['rel'] == 'upload-file') {
             $value = $value ?: Config::get('app/default_image');
             return '<a href="' . Config::get('upload/url') . $value . '" target="_blank" title="' . h($value) . '">下载</a>';
         } else {
             return parent::displayField($field, $model_instance);
         }
     }
 }
Example #2
0
 /**
  * 获取状态变更按钮
  * 如果是最后一个状态,则不扭转
  * @param \Lite\DB\Model $model 数据模型
  * @param null $field 状态字段名
  * @param array $state_options 状态扭转选项(缺省读取options)
  * @return string
  * @throws \Lite\Exception\Exception
  */
 public static function getNextStateBtn(Model $model, $field = null, $state_options = array())
 {
     if (!$field && $model instanceof ModelInterface) {
         $field = $model->getStateKey();
     }
     if (!$field) {
         throw new Exception('next state field not found');
     }
     $options = $state_options ?: $model->getPropertiesDefine($field)['options'];
     $val = $model->{$field};
     $pk = $model->getPrimaryKey();
     $matched = false;
     foreach ($options as $k => $opt_name) {
         if ($val == $k) {
             $matched = true;
         } else {
             if ($matched) {
                 return '<a href="' . self::getUrl(self::getController() . '/state', array($field => $k, $pk => $model->{$pk})) . '" rel="async" class="state-changer btn">' . $opt_name . '</a>';
             }
         }
     }
     return '';
 }