Пример #1
0
    function handleUploads()
    {
        $upload_dir = $_SERVER['DOCUMENT_ROOT'] . "/uploads/images/";

        //$files = CUploadedFile::getInstancesByName('newVariationImage'); //incorrect yii code???
        $file = CUploadedFile::getInstanceByName('newVariationImage');

        //foreach ($files as $file) {
            $unique_name = uniqid() . '-' . $file->name;
            $fileSaved = $file->saveAs($upload_dir . $unique_name);

            if ($fileSaved) {
                //save variation
                $variation = new Variation();
                if (is_numeric($_POST['uploadFor']) && $_POST['uploadFor'] > 0) {
                    $variation->variation_id =  $_POST['uploadFor'];
                }
                $variation->variation_image = $unique_name;
                $variation->status = 1;
                if ($variation->variation_id) {
                    $variation->setIsNewRecord(false);
                }
                $variation->save();

                //link to product
                $variation_id = $variation->getPrimaryKey();
                $product2variation = new Product2variation;
                if (is_numeric($_POST['uploadFor']) && $_POST['uploadFor'] > 0) {
                    $product2variation->setIsNewRecord(false);
                }
                $product2variation->attributes = array(
                    'product_id' => $_POST['product_id'],
                    'variation_id' => $variation_id,
                );
                $product2variation->save();
            } else {
                throw new HttpException('File was not saved');
            }
       // }

        $this->actionUpdate($_POST['product_id']);
        die();
    }