наваял недавно экстеншн для uploadify.
все бы хорошо, но доступ к загрузке ограничен только для авторизованных пользователей, а флеш не умеет использовать куки.
я не смог найти встроенное решение, подскажите как лучше организовать передачу куки/каких-то-других-параметров через uploadify (параметр scriptData в опциях), чтобы 403 не вываливалось?
Uploadify + Yii
Re: Uploadify + Yii
сам выкрутился. =)
вот так создаю:
и перед описанием контроллера добавил:
работает
вот так создаю:
Код: Выделить всё
public function init()
{
list($name,$id) = $this->resolveNameID();
$baseDir = dirname(__FILE__);
$cs = Yii::app()->getClientScript();
// .swf files to assets
$uploadify = Yii::app()->getAssetManager()->publish($baseDir.DIRECTORY_SEPARATOR.'uploadify');
$cs->registerScriptFile($uploadify.'/swfobject.js');
// we use jquery
$cs->registerCoreScript('jquery');
$cs->registerScriptFile(Yii::app()->getAssetManager()->publish($baseDir.DIRECTORY_SEPARATOR.'jquery').'/jquery.uploadify.v2.1.0.js');
$cs->registerCssFile(Yii::app()->getAssetManager()->publish($baseDir.DIRECTORY_SEPARATOR.'css').'/uploadify.css');
$sessid = session_id();
$uploadurl = Yii::app()->createUrl($this->getController()->id."/upload");
$js =<<<EOP
jQuery("#{$id}_Loader").uploadify({
'uploader': '{$uploadify}/uploadify.swf',
'cancelImg': '{$uploadify}/cancel.png',
'script': '{$uploadurl}',
'buttonText' : ' ',
'fileDesc': 'Изображения',
'fileExt': '*.jpg;*.jpeg;*.gif;*.png',
'multi': false,
'scriptData': {'PHPSESSID' : '{$sessid}'},
'onComplete': function(event, queueID, fileObj, response, data) {
alert(response);
},
'auto': true
});
EOP;
$cs->registerScript('Yii.'.get_class($this).'#'.$id, $js, CClientScript::POS_READY);
if($this->hasModel()) {
$html = CHtml::activeHiddenField($this->model, $this->attribute, $this->htmlOptions);
}
else
{
$html = CHtml::activeHiddenField($name, $this->value, $this->htmlOptions);
}
$html .= "<div id=\"{$id}_Loader\">You have a problem with your javascript</div>";
echo $html;
}
Код: Выделить всё
if(isset($_POST['PHPSESSID']))
session_id($_POST['PHPSESSID']);
Re: Uploadify + Yii
подскажи как сделать лучше?
засунуть в сам экшн не получается, т.к. проверка доступа же идет заранее.
засунуть в сам экшн не получается, т.к. проверка доступа же идет заранее.
Re: Uploadify + Yii
меня лично смущает
Код: Выделить всё
if(isset($_POST['PHPSESSID']))
session_id($_POST['PHPSESSID']);
Мой маленький блог - http://dbhelp.ru
-
- Сообщения: 1428
- Зарегистрирован: 2009.08.20, 22:54
- Откуда: Молдова, Бельцы
- Контактная информация:
Re: Uploadify + Yii
Ozzy иначе не получится.
gouranga я бы использовал onBeginRequest.
gouranga я бы использовал onBeginRequest.
Re: Uploadify + Yii
Ekstazi, спасибо. Так в итоге и сделаю сейчас.