本文整理汇总了PHP中URL::prepareUrl方法的典型用法代码示例。如果您正苦于以下问题:PHP URL::prepareUrl方法的具体用法?PHP URL::prepareUrl怎么用?PHP URL::prepareUrl使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类URL
的用法示例。
在下文中一共展示了URL::prepareUrl方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: parseCategoryPath
/**
* Парсит путь категории возвращает набор категорий.
* @param type $path - список категорий через /
*/
public function parseCategoryPath($path)
{
$i = 1;
$categories = array();
if (!$path) {
return $categories;
}
$parent = $path;
$parentTranslit = MG::translitIt($parent, 1);
$parentTranslit = URL::prepareUrl($parentTranslit);
$categories[$parent]['title'] = URL::parsePageUrl($parent);
$categories[$parent]['url'] = URL::parsePageUrl($parentTranslit);
$categories[$parent]['parent_url'] = URL::parseParentUrl($parentTranslit);
$categories[$parent]['parent'] = 0;
while ($parent != '/') {
$parent = URL::parseParentUrl($parent);
$parentTranslit = MG::translitIt($parent, 1);
$parentTranslit = URL::prepareUrl($parentTranslit);
if ($parent != '/') {
$categories[$parent]['title'] = URL::parsePageUrl($parent);
$categories[$parent]['url'] = URL::parsePageUrl($parentTranslit);
$categories[$parent]['parent_url'] = URL::parseParentUrl($parentTranslit);
$categories[$parent]['parent_url'] = $categories[$parent]['parent_url'] != '/' ? $categories[$parent]['parent_url'] : '';
$categories[$parent]['parent'] = 0;
}
}
$categories = array_reverse($categories);
return $categories;
}
示例2: updateProduct
/**
* Изменяет данные о товаре.
* @param array $array массив с данными о товаре.
* @param int $id id изменяемого товара.
* @return bool
*/
public function updateProduct($array)
{
$id = $array['id'];
$userProperty = !empty($array['userProperty']) ? $array['userProperty'] : null;
//свойства товара
$variants = !empty($array['variants']) ? $array['variants'] : array();
// варианты товара
$updateFromModal = !empty($array['updateFromModal']) ? true : false;
// варианты товара
unset($array['userProperty']);
unset($array['variants']);
unset($array['updateFromModal']);
if (!empty($array['url'])) {
$array['url'] = URL::prepareUrl($array['url']);
}
$maskField = array('title', 'meta_title', 'meta_keywords', 'meta_desc', 'image_title', 'image_alt');
foreach ($array as $k => $v) {
if (in_array($k, $maskField)) {
$v = htmlspecialchars_decode($v);
$array[$k] = htmlspecialchars($v);
}
}
$result = false;
// Если происходит обновление параметров.
if (!empty($id)) {
unset($array['delete_image']);
// Обновляем стандартные свойства продукта.
if (DB::query('
UPDATE `' . PREFIX . 'product`
SET ' . DB::buildPartQuery($array) . '
WHERE id = ' . DB::quote($id))) {
// Обновляем пользовательские свойства продукта.
if (!empty($userProperty)) {
$this->saveUserProperty($userProperty, $id);
}
// Эта проверка нужна только для того, чтобы исключить удаление
//вариантов при обновлении продуктов не из карточки товара в админке,
//например по нажатию на "лампочку".
if (!empty($variants) || $updateFromModal) {
// обновляем и добавляем варианты продукта.
if ($variants === null) {
$variants = array();
}
$this->saveVariants($variants, $id);
}
$result = true;
}
} else {
$result = $this->addProduct($array);
}
$currencyShopIso = MG::getSetting('currencyShopIso');
$this->updatePriceCourse($currencyShopIso, array($id));
$args = func_get_args();
return MG::createHook(__CLASS__ . "_" . __FUNCTION__, $result, $args);
}
示例3: newCategory
/**
* Создание новой категории.
* @param $category - категория.
*/
function newCategory($category)
{
$url = URL::prepareUrl(MG::translitIt($category['name'], 1));
$parent_url = MG::get('category')->getParentUrl($category['parent_id']);
$parent = URL::prepareUrl(MG::translitIt($category['parentname'], 1));
$data = array('title' => $category['name'], 'url' => str_replace(array('/', '\\'), '-', $url), 'parent' => $category['parent_id'], 'html_content' => $category['description'], 'meta_title' => $category['name'], 'meta_keywords' => $category['name'], 'meta_desc' => MG::textMore($category['description'], 157), 'invisible' => 0, 'parent_url' => $parent_url, '1c_id' => $category['1c_id']);
$res = DB::query('SELECT *
FROM `' . PREFIX . 'category`
WHERE `1c_id`=' . DB::quote($category['1c_id']));
if ($row = DB::fetchAssoc($res)) {
DB::query('
UPDATE `' . PREFIX . 'category`
SET ' . DB::buildPartQuery($data) . '
WHERE `1c_id`=' . DB::quote($category['1c_id']));
return $row['id'];
} else {
$data = MG::get('category')->addCategory($data);
return $data['id'];
}
return 0;
}
示例4: updateCategory
/**
* Изменяет данные о категории.
*
* @param array $array массив с данными о категории.
* @param int $id id изменяемой категории.
* @return bool
*/
public function updateCategory($array)
{
$id = $array['id'];
$result = false;
if (!empty($array['url'])) {
$array['url'] = URL::prepareUrl($array['url']);
}
$maskField = array('title', 'meta_title', 'meta_keywords', 'meta_desc', 'image_title', 'image_alt');
foreach ($array as $k => $v) {
if (in_array($k, $maskField)) {
$v = htmlspecialchars_decode($v);
$array[$k] = htmlspecialchars($v);
}
}
// Если назначаемая категория, является тойже.
if ($array['parent'] === $id) {
$this->messageError = 'Нельзя назначить выбраную категорию родительской!';
return false;
}
if ($id || $id === 0) {
$childsCaterory = $this->getCategoryList($id);
}
// Если есть вложенные, и одна из них назначена родительской.
if (!empty($childsCaterory)) {
foreach ($childsCaterory as $cateroryId) {
if ($array['parent'] == $cateroryId) {
$this->messageError = 'Нельзя назначить выбраную категорию родительской!';
return false;
}
}
}
if ($_POST['parent'] === $id && !isset($array['parent'])) {
$this->messageError = 'Нельзя назначить выбраную категорию родительской!';
return false;
}
if (!empty($array['image_url'])) {
$array['image_url'] = self::resizeCategoryImg($array['image_url']);
}
if (!empty($id)) {
// обновляем выбраную категорию
if (DB::query('
UPDATE `' . PREFIX . 'category`
SET ' . DB::buildPartQuery($array) . '
WHERE id = ' . DB::quote($id, true))) {
$result = true;
}
// находим список всех вложенных в нее категорий
$arrayChildCat = $this->getCategoryList($array['parent']);
if (!empty($arrayChildCat)) {
// обновляем parent_url у всех вложенных категорий, т.к. корень поменялся
foreach ($arrayChildCat as $childCat) {
$childCat = $this->getCategoryById($childCat);
$upParentUrl = $this->getParentUrl($childCat['parent']);
if (!empty($childCat['id'])) {
if (DB::query('
UPDATE `' . PREFIX . 'category`
SET parent_url=' . DB::quote($upParentUrl) . '
WHERE id = ' . DB::quote($childCat['id'], true))) {
}
}
}
}
} else {
$result = $this->addCategory($array);
}
//очищам кэш категорий
Storage::clear(md5('category'));
$args = func_get_args();
return MG::createHook(__CLASS__ . "_" . __FUNCTION__, $result, $args);
}
示例5: updateProduct
/**
* Изменяет данные о товаре.
* @param array $array массив с данными о товаре.
* @param int $id id изменяемого товара.
* @return bool
*/
public function updateProduct($array)
{
$id = $array['id'];
$userProperty = !empty($array['userProperty']) ? $array['userProperty'] : null;
//свойства товара
$variants = !empty($array['variants']) ? $array['variants'] : array();
// варианты товара
$updateFromModal = !empty($array['updateFromModal']) ? true : false;
// варианты товара
unset($array['userProperty']);
unset($array['variants']);
unset($array['updateFromModal']);
if (!empty($array['url'])) {
$array['url'] = URL::prepareUrl($array['url']);
}
$result = false;
// Если происходит обновление параметров.
if (!empty($id)) {
unset($array['delete_image']);
// Обновляем стандартные свойства продукта.
if (DB::query('
UPDATE `' . PREFIX . 'product`
SET ' . DB::buildPartQuery($array) . '
WHERE id = %d
', $id)) {
// Обновляем пользовательские свойства продукта.
if (!empty($userProperty)) {
$this->saveUserProperty($userProperty, $id);
}
// Эта проверка нужна только для того, чтобы исключить удаление
//вариантов при обновлении продуктов не из карточки товара в админке,
//например по нажатию на "лампочку".
if (!empty($variants) || $updateFromModal) {
// обновляем и добавляем варианты продукта.
if ($variants === null) {
$variants = array();
}
$this->saveVariants($variants, $id);
}
$result = true;
}
} else {
$result = $this->addProduct($array);
}
$args = func_get_args();
return MG::createHook(__CLASS__ . "_" . __FUNCTION__, $result, $args);
}
示例6: updatePage
/**
* Изменяет данные о странице
*
* @param array $array массив с данными о категории.
* @param int $id id изменяемой категории.
* @return bool
*/
public function updatePage($array)
{
$id = $array['id'];
$result = false;
if (!empty($array['url']) && strpos($array['url'], 'http:') !== 0) {
$array['url'] = URL::prepareUrl($array['url']);
}
$maskField = array('title', 'meta_title', 'meta_keywords', 'meta_desc', 'image_title', 'image_alt');
foreach ($array as $k => $v) {
if (in_array($k, $maskField)) {
$array[$k] = htmlspecialchars($v);
}
}
// Если назначаемая категория, является тойже.
if ($array['parent'] == $id) {
$this->messageError = 'Нельзя назначить выбраную страницу родительской!';
return false;
}
$childsPage = $this->getPagesInside($id);
// Если есть вложенные, и одна из них назначена родительской.
if (!empty($childsPage)) {
foreach ($childsPage as $cateroryId) {
if ($array['parent'] == $cateroryId) {
$this->messageError = 'Нельзя назначить выбраную страницу родительской!';
return false;
}
}
}
if ($_POST['parent'] == $id) {
$this->messageError = 'Нельзя назначить выбраную страницу родительской!';
return false;
}
if (!empty($id)) {
// обновляем выбраную страницу
if (DB::query('
UPDATE `' . PREFIX . 'page`
SET ' . DB::buildPartQuery($array) . '
WHERE id = ' . DB::quote($id, true))) {
$result = true;
}
// находим список всех вложенных в нее страниц
$arrayChildCat = $this->getPagesInside($array['parent']);
if (!empty($arrayChildCat)) {
// обновляем parent_url у всех вложенных категорий, т.к. корень поменялся
foreach ($arrayChildCat as $childCat) {
$childCat = $this->getPageById($childCat, true);
$upParentUrl = $this->getParentUrl($childCat['parent']);
if (DB::query('
UPDATE `' . PREFIX . 'page`
SET parent_url=' . DB::quote($upParentUrl) . '
WHERE id = ' . DB::quote($childCat['id'], true))) {
}
}
}
} else {
$result = $this->addPage($array);
}
$args = func_get_args();
return MG::createHook(__CLASS__ . "_" . __FUNCTION__, $result, $args);
}