当前位置: 首页>>代码示例>>PHP>>正文


PHP Helper::createSlug方法代码示例

本文整理汇总了PHP中app\components\Helper::createSlug方法的典型用法代码示例。如果您正苦于以下问题:PHP Helper::createSlug方法的具体用法?PHP Helper::createSlug怎么用?PHP Helper::createSlug使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在app\components\Helper的用法示例。


在下文中一共展示了Helper::createSlug方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: createCategory

 private function createCategory($name, $parent_id)
 {
     $model = new Category();
     $model->loadDefaultValues();
     $model->name = $name;
     $model->parent_id = $parent_id;
     $model->slug = Helper::createSlug($model->name);
     $model->save();
     return $model;
 }
开发者ID:tqsq2005,项目名称:dotplant2,代码行数:10,代码来源:DemoDataController.php

示例2: run

 public function run()
 {
     $file = UploadedFile::getInstanceByName($this->fileName);
     if ($file->hasError) {
         throw new HttpException(500, 'Upload error');
     }
     $transliteratedFileName = Helper::createSlug(substr(strstr(strtolower($file->name), $file->extension, true), 0, -1));
     $fileName = $transliteratedFileName . '.' . $file->extension;
     if (Yii::$app->getModule('image')->fsComponent->has($fileName)) {
         $fileName = $transliteratedFileName . '-' . uniqid() . '.' . $file->extension;
     }
     Yii::$app->getModule('image')->fsComponent->put($fileName, file_get_contents($file->tempName));
     $response = ['filename' => $fileName];
     if (isset($this->afterUploadHandler)) {
         $data = ['data' => $this->afterUploadData, 'file' => $file, 'dirName' => $this->uploadDir, 'filename' => $fileName, 'params' => Yii::$app->request->post()];
         if ($result = call_user_func($this->afterUploadHandler, $data)) {
             $response['afterUpload'] = $result;
         }
     }
     return Json::encode($response);
 }
开发者ID:tqsq2005,项目名称:dotplant2,代码行数:21,代码来源:UploadAction.php

示例3: createEmptyCategory

 /**
  * @param int $parentId
  * @param int|null $categoryGroupId
  * @param string $name
  * @param bool $dummyObject
  * @return Category|null
  */
 public static function createEmptyCategory($parentId = 0, $categoryGroupId = null, $name = 'Catalog', $dummyObject = false)
 {
     $categoryGroupId = null === $categoryGroupId ? CategoryGroup::getFirstModel()->id : intval($categoryGroupId);
     $model = new static();
     $model->loadDefaultValues();
     $model->parent_id = $parentId;
     $model->category_group_id = $categoryGroupId;
     $model->h1 = $model->title = $model->name = $name;
     $model->slug = Helper::createSlug($model->name);
     if (!$dummyObject) {
         if (!$model->save()) {
             return null;
         }
         $model->refresh();
     }
     return $model;
 }
开发者ID:Razzwan,项目名称:dotplant2,代码行数:24,代码来源:Category.php

示例4: createProduct

 protected function createProduct($item = [], $createNotExists = true)
 {
     if (empty($item) || !isset($item[static::ELEMENT_ID]) || !isset($item[static::ELEMENT_NAIMENOVANIE])) {
         return false;
     }
     $guid = CommercemlGuid::findOne(['guid' => $item[static::ELEMENT_ID], 'type' => 'PRODUCT']);
     if (empty($guid) && $createNotExists) {
         $category = !empty($item['categories']) ? array_shift($item['categories']) : null;
         $product = new Product();
         $product->name = $product->title = $product->h1 = $item[static::ELEMENT_NAIMENOVANIE];
         $product->slug = Helper::createSlug($product->name);
         $product->main_category_id = isset($this->categoryCache[$category]) ? $this->categoryCache[$category] : $this->rootCategoryCache;
         $product->content = empty($item[static::ELEMENT_OPISANIE]) ? '' : $item[static::ELEMENT_OPISANIE];
         if ($product->validate() && $product->save()) {
             $product->refresh();
             $product->linkToCategory($this->rootCategoryCache);
             $guid = new CommercemlGuid();
             $guid->guid = $item[static::ELEMENT_ID];
             $guid->name = $item[static::ELEMENT_NAIMENOVANIE];
             $guid->model_id = $product->id;
             $guid->type = 'PRODUCT';
             $guid->save();
             return true;
         }
     }
     if (!empty($guid)) {
         /** @var Product $product */
         $product = isset($product) ? $product : $guid->product;
         if (!empty($product)) {
             $product->price = empty($item['price']) ?: array_shift($item['price']);
             $product->content = empty($item[static::ELEMENT_OPISANIE]) ?: $item[static::ELEMENT_OPISANIE];
             $product->name = empty($item[static::ELEMENT_NAIMENOVANIE]) ?: $item[static::ELEMENT_NAIMENOVANIE];
             if (!empty($item['properties'])) {
                 AbstractPropertyEavModel::setTableName($this->objectProduct->eav_table_name);
                 $product_eav = array_reduce(AbstractPropertyEavModel::findByModelId($product->id), function ($result, $item) {
                     $key = $item->property_group_id . ':' . $item->key;
                     $result[$key] = $item;
                     return $result;
                 }, []);
                 $product_groups = array_reduce(ObjectPropertyGroup::getForModel($product), function ($result, $item) {
                     $result[] = $item->property_group_id;
                     return $result;
                 }, []);
                 $product_osv = array_reduce(ObjectStaticValues::findAll(['object_id' => $this->objectProduct->id, 'object_model_id' => $product->id]), function ($result, $item) {
                     $result[] = $item->property_static_value_id;
                     return $result;
                 }, []);
                 foreach ($item['properties'] as $key => $value) {
                     if (isset(static::$propertiesCache[$key])) {
                         /** @var Property $prop */
                         $prop = static::$propertiesCache[$key];
                         if (!in_array($prop->property_group_id, $product_groups)) {
                             $objectGroup = new ObjectPropertyGroup();
                             $objectGroup->object_id = $this->objectProduct->id;
                             $objectGroup->object_model_id = $product->id;
                             $objectGroup->property_group_id = $prop->property_group_id;
                             $objectGroup->save();
                         }
                         if ($prop->has_static_values) {
                             $psv = PropertyStaticValues::findOne(['value' => $value]);
                             if (empty($psv)) {
                                 $psv = new PropertyStaticValues();
                                 $psv->name = $psv->value = $value;
                                 $psv->property_id = $prop->id;
                                 $psv->slug = Helper::createSlug($value);
                                 if ($psv->validate() && $psv->save()) {
                                     $psv->refresh();
                                 } else {
                                     $psv = null;
                                 }
                             }
                             if (!empty($psv) && !in_array($psv->id, $product_osv)) {
                                 $osv = new ObjectStaticValues();
                                 $osv->object_id = $this->objectProduct->id;
                                 $osv->object_model_id = $product->id;
                                 $osv->property_static_value_id = $psv->id;
                                 $osv->save();
                             }
                         } elseif ($prop->is_eav) {
                             $_key = $prop->property_group_id . ':' . $prop->key;
                             if (isset($product_eav[$_key])) {
                                 /** @var AbstractPropertyEavModel $eav */
                                 $eav = $product_eav[$_key];
                                 $eav->value = $value;
                                 $eav->save();
                             } else {
                                 $eav = new AbstractPropertyEavModel();
                                 $eav->object_model_id = $product->id;
                                 $eav->property_group_id = $prop->property_group_id;
                                 $eav->key = $prop->key;
                                 $eav->value = $value;
                                 $eav->save();
                             }
                         }
                     }
                 }
             }
             $product->save();
             return true;
         }
//.........这里部分代码省略.........
开发者ID:tqsq2005,项目名称:dotplant2,代码行数:101,代码来源:XmlFileReader.php

示例5: processImportBeforeSave

 /**
  * Process fields before the actual model is saved(inserted or updated)
  * @param array $fields
  * @return void
  */
 public function processImportBeforeSave(array $fields, $multipleValuesDelimiter, array $additionalFields)
 {
     $_attributes = $this->attributes();
     foreach ($fields as $key => $value) {
         if (in_array($key, $_attributes)) {
             $this->{$key} = $value;
         }
     }
     $categories = $this->unpackCategories($fields, $multipleValuesDelimiter, $additionalFields);
     if ($categories !== false && $this->main_category_id < 1) {
         if (count($categories) == 0) {
             $categories = [1];
         }
         $this->main_category_id = $categories[0];
     }
     if (empty($this->slug)) {
         $this->slug = Helper::createSlug($this->name);
     } elseif (mb_strlen($this->slug) > 80) {
         $this->slug = mb_substr($this->slug, 0, 80);
     }
     if (empty($this->name)) {
         $this->name = 'unnamed-product';
     }
     if (!is_numeric($this->price)) {
         $this->price = 0;
     }
     if (!is_numeric($this->old_price)) {
         $this->old_price = 0;
     }
 }
开发者ID:Razzwan,项目名称:dotplant2,代码行数:35,代码来源:Product.php

示例6: actionAddStaticValue

 public function actionAddStaticValue($key, $value = "", $returnUrl)
 {
     $model = new PropertyStaticValues();
     $property = Property::find()->where(['key' => $key])->one();
     $model->property_id = $property->id;
     if (Yii::$app->request->isPost) {
         if ($model->load(Yii::$app->request->post()) && $model->save()) {
             $this->redirect($returnUrl);
         }
     } elseif ($value !== "") {
         $model->name = $value;
         $model->value = $value;
         $model->slug = Helper::createSlug($value);
         $model->sort_order = 0;
     }
     return $this->renderAjax('ajax-static-value', ['model' => $model]);
 }
开发者ID:ar7n,项目名称:dotplant2,代码行数:17,代码来源:PropertiesController.php

示例7: up


//.........这里部分代码省略.........
            fclose($f);
        }
        $this->batchInsert('{{%auth_item}}', ['name', 'type', 'description'], [['admin', '1', Yii::t('app', 'Administrator')], ['manager', '1', Yii::t('app', 'Manager')], ['administrate', '2', Yii::t('app', 'Administrate panel')], ['api manage', '2', Yii::t('app', 'API management')], ['seo manage', '2', Yii::t('app', 'SEO management')], ['task manage', '2', Yii::t('app', 'Task management')], ['user manage', '2', Yii::t('app', 'User management')], ['cache manage', '2', Yii::t('app', 'Cache management')], ['content manage', '2', Yii::t('app', 'Content management')], ['shop manage', '2', Yii::t('app', 'Shop management')], ['order manage', '2', Yii::t('app', 'Order management')], ['category manage', '2', Yii::t('app', 'Category management')], ['product manage', '2', Yii::t('app', 'Product management')], ['property manage', '2', Yii::t('app', 'Property management')], ['view manage', '2', Yii::t('app', 'View management')], ['review manage', '2', Yii::t('app', 'Review management')], ['navigation manage', '2', Yii::t('app', 'Navigation management')], ['form manage', '2', Yii::t('app', 'Form management')], ['media manage', '2', Yii::t('app', 'Media management')], ['order status manage', '2', Yii::t('app', 'Order status management')], ['payment manage', '2', Yii::t('app', 'Payment type management')], ['shipping manage', '2', Yii::t('app', 'Shipping option management')], ['newsletter manage', '2', Yii::t('app', 'Newsletter management')], ['monitoring manage', '2', Yii::t('app', 'Monitoring management')], ['data manage', '2', Yii::t('app', 'Data management')], ['setting manage', '2', Yii::t('app', 'Setting management')]]);
        $this->batchInsert('{{%auth_item_child}}', ['parent', 'child'], [['shop manage', 'category manage'], ['shop manage', 'product manage'], ['shop manage', 'order manage'], ['manager', 'administrate'], ['manager', 'content manage'], ['manager', 'order manage'], ['manager', 'shop manage'], ['manager', 'category manage'], ['manager', 'product manage'], ['manager', 'property manage'], ['manager', 'view manage'], ['manager', 'review manage'], ['manager', 'navigation manage'], ['manager', 'form manage'], ['manager', 'media manage'], ['admin', 'administrate'], ['admin', 'api manage'], ['admin', 'order manage'], ['admin', 'seo manage'], ['admin', 'task manage'], ['admin', 'user manage'], ['admin', 'cache manage'], ['admin', 'content manage'], ['admin', 'shop manage'], ['admin', 'category manage'], ['admin', 'product manage'], ['admin', 'property manage'], ['admin', 'view manage'], ['admin', 'review manage'], ['admin', 'navigation manage'], ['admin', 'form manage'], ['admin', 'media manage'], ['admin', 'order status manage'], ['admin', 'payment manage'], ['admin', 'shipping manage'], ['admin', 'monitoring manage'], ['admin', 'newsletter manage'], ['admin', 'data manage'], ['admin', 'setting manage']]);
        $this->insert('{{%auth_assignment}}', ['item_name' => 'admin', 'user_id' => $user->id]);
        // demo data
        $demo = null;
        if (getenv("INSTALL_DEMO_DATA")) {
            $demo = getenv("INSTALL_DEMO_DATA");
        } else {
            $stdIn = fopen("php://stdin", "r");
            do {
                echo 'Do you want to install demo data [y/n]: ';
                $demo = strtolower(trim(fgets($stdIn)));
            } while (!in_array($demo, ['y', 'n']));
            fclose($stdIn);
        }
        if ($demo == 'y') {
            echo "INFO: Installing demo data\n";
            $object = Object::getForClass(Product::className());
            $propertyGroup = new PropertyGroup();
            $propertyGroup->attributes = ['object_id' => $object->id, 'name' => 'Тестовый набор свойств', 'hidden_group_title' => 1];
            $propertyGroup->save();
            $propertyStaticValuesCount = [5, 3, 3, 2, 4, 5, 2];
            $propertyValues = [];
            for ($i = 1, $k = 1; $i <= 7; $i++) {
                $property = new Property();
                $property->attributes = ['property_group_id' => $propertyGroup->id, 'name' => 'Свойство ' . $i, 'key' => 'svoystvo_' . $i, 'value_type' => 'STRING', 'property_handler_id' => 2, 'has_static_values' => 1, 'has_slugs_in_values' => 1, 'handler_additional_params' => '{}'];
                $property->save(true, ['property_group_id', 'name', 'key', 'value_type', 'property_handler_id', 'has_static_values', 'has_slugs_in_values', 'handler_additional_params']);
                $propertyValues[$property->id] = [];
                for ($j = 1; $j <= $propertyStaticValuesCount[$i - 1]; $j++) {
                    $psv = new PropertyStaticValues();
                    $name = 'Значение ' . $k;
                    $psv->attributes = ['property_id' => $property->id, 'name' => $name, 'value' => $name, 'slug' => Helper::createSlug($name)];
                    $psv->save(true, ['property_id', 'name', 'value', 'slug']);
                    $propertyValues[$property->id][] = $psv->id;
                    $k++;
                }
            }
            $property = $psv = $propertyStaticValuesCount = null;
            $route = Route::findOne(['route' => 'shop/product/list']);
            $urlTemplate = Json::decode($route->url_template);
            foreach ($propertyValues as $propertyId => $values) {
                $urlTemplate[] = ['class' => 'app\\properties\\url\\PropertyPart', 'property_id' => $propertyId];
            }
            $route->url_template = Json::encode($urlTemplate);
            $route->save(false, ['url_template']);
            $route = null;
            $categories = ['Фотоаппараты', 'Телевизоры', 'Мультиварки', 'Музыкальные центры', 'Холодильники', 'Пылесосы', 'Телефоны', 'Планшеты', 'Соковыжималки', 'Электромясорубки', 'Блендеры', 'Аккустические системы', 'Вентиляторы', 'Кондиционеры'];
            $category = \app\modules\shop\models\Category::findOne(['parent_id' => 0]);
            $category->attributes = ['name' => 'Каталог', 'h1' => 'Каталог'];
            $category->save();
            srand();
            $counter = 1;
            foreach ($categories as $categoryName) {
                $newCategory = new Category();
                $newCategory->attributes = ['category_group_id' => 1, 'parent_id' => $category->id, 'name' => $categoryName, 'title' => 'Купить ' . mb_strtolower($categoryName, 'UTF-8') . ' в Москве и области', 'h1' => $categoryName, 'breadcrumbs_label' => $categoryName, 'slug' => Helper::createSlug($categoryName), 'announce' => '<p>Значимость этих проблем настолько очевидна, что рамки и место обучения кадров влечет за собой процесс внедрения и модернизации модели развития. Значимость этих проблем настолько очевидна, что укрепление и развитие структуры играет важную роль в формировании модели развития.</p>', 'content' => '<p>Таким образом рамки и место обучения кадров позволяет оценить значение системы обучения кадров, соответствует насущным потребностям. Повседневная практика показывает, что сложившаяся структура организации обеспечивает широкому кругу (специалистов) участие в формировании системы обучения кадров, соответствует насущным потребностям. Таким образом начало повседневной работы по формированию позиции влечет за собой процесс внедрения и модернизации систем массового участия. Идейные соображения высшего порядка, а также реализация намеченных плановых заданий позволяет выполнять важные задания по разработке существенных финансовых и административных условий.</p>

<p>Товарищи! сложившаяся структура организации представляет собой интересный эксперимент проверки направлений прогрессивного развития. Повседневная практика показывает, что постоянное информационно-пропагандистское обеспечение нашей деятельности играет важную роль в формировании систем массового участия. Разнообразный и богатый опыт постоянный количественный рост и сфера нашей активности в значительной степени обуславливает создание позиций, занимаемых участниками в отношении поставленных задач. Повседневная практика показывает, что укрепление и развитие структуры требуют от нас анализа системы обучения кадров, соответствует насущным потребностям. Товарищи! постоянный количественный рост и сфера нашей активности в значительной степени обуславливает создание систем массового участия.</p>

<p>Товарищи! укрепление и развитие структуры требуют от нас анализа системы обучения кадров, соответствует насущным потребностям. Повседневная практика показывает, что постоянное информационно-пропагандистское обеспечение нашей деятельности обеспечивает широкому кругу (специалистов) участие в формировании позиций, занимаемых участниками в отношении поставленных задач. Задача организации, в особенности же постоянное информационно-пропагандистское обеспечение нашей деятельности требуют определения и уточнения системы обучения кадров, соответствует насущным потребностям.</p>'];
                $newCategory->save();
                for ($i = 1; $i <= 16; $i++) {
                    $name = 'Товар #' . $counter;
                    $product = new Product();
                    $product->attributes = ['main_category_id' => $newCategory->id, 'name' => $name, 'title' => 'Купить ' . mb_strtolower($name, "UTF-8") . ' в Москве по превлекательной цене', 'slug' => Helper::createSlug($name), 'price' => rand(99, 999), 'announce' => '<p>Задача организации, в особенности же новая модель организационной деятельности в значительной степени обуславливает создание дальнейших направлений развития.</p>', 'content' => '<p>Повседневная практика показывает, что укрепление и развитие структуры способствует подготовки и реализации систем массового участия. Равным образом новая модель организационной деятельности обеспечивает широкому кругу (специалистов) участие в формировании модели развития. Таким образом постоянное информационно-пропагандистское обеспечение нашей деятельности представляет собой интересный эксперимент проверки систем массового участия.</p>
开发者ID:tqsq2005,项目名称:dotplant2,代码行数:67,代码来源:m141023_084857_init.php

示例8: actionMakeSlug

 public function actionMakeSlug($word)
 {
     \Yii::$app->response->format = Response::FORMAT_JSON;
     return Helper::createSlug($word);
 }
开发者ID:lzpfmh,项目名称:dotplant2,代码行数:5,代码来源:DashboardController.php

示例9: up

 public function up()
 {
     mb_internal_encoding(Yii::$app->getModule('core')->internalEncoding);
     $data = (include __DIR__ . DIRECTORY_SEPARATOR . 'demo-data.php');
     $productObject = Object::getForClass(Product::className());
     /** @var PropertyHandler $handler */
     $handler = PropertyHandler::findOne(['handler_class_name' => 'app\\properties\\handlers\\text\\TextProperty']);
     if (!is_null($handler)) {
         $this->textHandlerId = $handler->id;
     }
     $handler = PropertyHandler::findOne(['handler_class_name' => 'app\\properties\\handlers\\select\\SelectProperty']);
     if (!is_null($handler)) {
         $this->selectHandlerId = $handler->id;
     }
     $this->insert(PropertyGroup::tableName(), ['object_id' => $productObject->id, 'name' => 'Общая группа свойств']);
     $commonGroupId = $this->db->lastInsertID;
     $this->insert(Property::tableName(), ['property_group_id' => $commonGroupId, 'name' => 'Производитель', 'key' => 'vendor', 'property_handler_id' => $this->selectHandlerId, 'handler_additional_params' => '{}', 'has_static_values' => 1, 'has_slugs_in_values' => 1]);
     $this->properties['vendor'] = $this->db->lastInsertID;
     $staticProperties = ['Тип крепления бура', 'Макс. энергия удара', 'Количество скоростей работы', 'Питание', 'Тип процессора', 'Тип памяти', 'Частота памяти: 1600 МГц', 'Количество слотов памяти', 'Максимальный размер памяти', 'Размер экрана: 15.6 "', 'Тип экрана', 'Тип видеоадаптера'];
     foreach ($data as $category) {
         $this->insert(Category::tableName(), ['category_group_id' => 1, 'parent_id' => 1, 'name' => $category['name'], 'h1' => $category['name'], 'title' => $category['name'] . ' с доставкой в любой город России и СНГ', 'breadcrumbs_label' => $category['name'], 'slug' => Helper::createSlug($category['name']), 'announce' => $category['content'], 'content' => $category['content']]);
         $categoryId = $this->db->lastInsertID;
         $this->insert(PropertyGroup::tableName(), ['object_id' => $productObject->id, 'name' => $category['name']]);
         $groupId = $this->db->lastInsertID;
         foreach ($category['products'] as $product) {
             // product
             $slug = Helper::createSlug($product['name']);
             if (isset($this->products[$slug])) {
                 $slug = mb_substr($slug, 0, 66) . '-' . uniqid();
             }
             $this->insert(Product::tableName(), ['parent_id' => 0, 'measure_id' => 1, 'currency_id' => 1, 'sku' => $product['id'], 'main_category_id' => $categoryId, 'name' => $product['name'], 'title' => $product['name'], 'breadcrumbs_label' => $product['name'], 'h1' => $product['name'], 'slug' => $slug, 'announce' => Helper::trimPlain($product['description']), 'content' => $product['description'], 'price' => $product['prices']['min'], 'old_price' => $product['prices']['max']]);
             $productId = $this->db->lastInsertID;
             $this->products[$slug] = $productId;
             // categories
             $this->batchInsert('{{%product_category}}', ['category_id', 'object_model_id'], [[1, $productId], [$categoryId, $productId]]);
             // property groups
             $this->batchInsert(ObjectPropertyGroup::tableName(), ['object_id', 'object_model_id', 'property_group_id'], [[$productObject->id, $productId, $commonGroupId], [$productObject->id, $productId, $groupId]]);
             // properties
             if (isset($product['vendor'])) {
                 $this->saveStatic($productId, 'vendor', $product['vendor']);
             }
             foreach ($product['details']['modelDetails'] as $group) {
                 foreach ($group['params'] as $property) {
                     $property['name'] = trim($property['name'], '/ ');
                     if (in_array($property['name'], $staticProperties)) {
                         $key = $this->getKey($property['name']);
                         if (!isset($this->properties[$key])) {
                             $this->insert(Property::tableName(), ['property_group_id' => $groupId, 'name' => $property['name'], 'key' => $key, 'property_handler_id' => $this->selectHandlerId, 'handler_additional_params' => '{}', 'has_static_values' => 1, 'has_slugs_in_values' => 1]);
                             $this->properties[$key] = $this->db->lastInsertID;
                         }
                         $this->saveStatic($productId, $this->getKey($property['name']), str_replace($property['name'] . ': ', '', $property['value']));
                     } else {
                         $this->saveEav($productId, $groupId, $property['name'], str_replace($property['name'] . ': ', '', $property['value']));
                     }
                 }
             }
             // images
             $prodPhotos = [];
             if (isset($product['photos'])) {
                 foreach ($product['photos'] as $photo) {
                     $prodPhotos[] = [$productObject->id, $productId, $photo['name'], $product['name'], $product['name']];
                 }
             }
             if (isset($product['mainPhoto']['name'])) {
                 $prodPhotos[] = [$productObject->id, $productId, $product['mainPhoto']['name'], $product['name'], $product['name']];
             }
             if (count($prodPhotos) > 0) {
                 $this->batchInsert(Image::tableName(), ['object_id', 'object_model_id', 'filename', 'image_alt', 'image_title'], $prodPhotos);
             }
         }
     }
     srand();
     $cdnNumber = rand(1, 2);
     $imgUrl = "http://static-{$cdnNumber}.dotplant.ru/demo-photos.zip";
     $imagesPath = Yii::getAlias('@webroot/files/');
     $imgsFile = $imagesPath . DIRECTORY_SEPARATOR . 'imgs.zip';
     if (file_exists($imgsFile) === false) {
         $fp = fopen($imgsFile, 'w+');
         $ch = curl_init($imgUrl);
         curl_setopt($ch, CURLOPT_TIMEOUT, 600);
         curl_setopt($ch, CURLOPT_FILE, $fp);
         curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
         curl_exec($ch);
         curl_close($ch);
         fclose($fp);
     }
     if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
         echo "\n\nWow! You are running windows! Please unzip {$imgsFile} to {$imagesPath} \n\n";
     } else {
         passthru('/usr/bin/env unzip -n "' . $imgsFile . '" -d "' . $imagesPath . '"');
     }
 }
开发者ID:tqsq2005,项目名称:dotplant2,代码行数:92,代码来源:m150605_094805_demo_data.php

示例10: actionAddStaticValue

 public function actionAddStaticValue($key, $value, $returnUrl, $objectId = null, $objectModelId = null)
 {
     $model = new PropertyStaticValues();
     /** @var Property $property */
     $property = Property::findOne(['key' => $key]);
     if (is_null($property)) {
         throw new NotFoundHttpException();
     }
     $model->property_id = $property->id;
     if (Yii::$app->request->isPost) {
         if ($model->load(Yii::$app->request->post()) && $model->save()) {
             $tags = [ActiveRecordHelper::getCommonTag(Property::className()), ActiveRecordHelper::getObjectTag(Property::className(), $property->id), ActiveRecordHelper::getCommonTag(PropertyGroup::className()), ActiveRecordHelper::getObjectTag(PropertyGroup::className(), $property->property_group_id)];
             if (!is_null($objectId) && !is_null($objectModelId)) {
                 if ($property->multiple == 0) {
                     $propertyStaticValueIds = PropertyStaticValues::find()->select('id')->where(['property_id' => $property->id])->column();
                     ObjectStaticValues::deleteAll(['object_id' => $objectId, 'object_model_id' => $objectModelId, 'property_static_value_id' => $propertyStaticValueIds]);
                 }
                 $objectStaticValues = new ObjectStaticValues();
                 $objectStaticValues->attributes = ['object_id' => $objectId, 'object_model_id' => $objectModelId, 'property_static_value_id' => $model->id];
                 $objectStaticValues->save();
                 $tags[] = ActiveRecordHelper::getCommonTag(Object::findById($objectId)->object_class);
                 $tags[] = ActiveRecordHelper::getObjectTag(Object::findById($objectId)->object_class, $objectModelId);
             }
             TagDependency::invalidate(Yii::$app->cache, $tags);
             return $this->redirect($returnUrl);
         }
     } elseif ($value !== "") {
         $model->name = $value;
         $model->value = $value;
         $model->slug = Helper::createSlug($value);
         $model->sort_order = 0;
     }
     return $this->renderAjax('ajax-static-value', ['model' => $model]);
 }
开发者ID:heartshare,项目名称:dotplant2,代码行数:34,代码来源:PropertiesController.php


注:本文中的app\components\Helper::createSlug方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。