本文整理汇总了PHP中Model_Base::str2url方法的典型用法代码示例。如果您正苦于以下问题:PHP Model_Base::str2url方法的具体用法?PHP Model_Base::str2url怎么用?PHP Model_Base::str2url使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Model_Base
的用法示例。
在下文中一共展示了Model_Base::str2url方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getCart
public function getCart($userId)
{
$result = DB::select()->from($this->tableName)->where('user', '=', $userId)->group_by('mid')->execute()->as_array();
$material = new Model_Material('groups');
$category = new Model_Category('tree');
$base = new Model_Base();
$arr = array();
foreach ($result as $item) {
//var_dump($item);
//название модели
$materialData = $material->getMaterial($item['mid']);
$arr[$item['mid']]['name'] = $materialData['name'];
$arr[$item['mid']]['mid'] = $item['mid'];
//url модели
$categoryName = $category->getNode($material->getTreeIdByMid($item['mid']));
$categoryName = $base->str2url($categoryName['name']);
$arr[$item['mid']]['url'] = $categoryName . '/' . $materialData['url'] . '.html';
//Изображение
$fields = $material->getFields($item['mid'], true);
$arr[$item['mid']]['img'] = $fields['Photos'][0];
//количество
$arr[$item['mid']]['count'] = $this->getCartCount($userId, $item['mid']);
//сумма
$arr[$item['mid']]['sum'] = $this->getCartPrice($userId, $item['mid']);
//размер
$arr[$item['mid']]['size'] = $item['size'];
//цвет
$arr[$item['mid']]['color'] = $item['color'];
}
return $arr;
}
示例2: action_index
public function action_index()
{
if ($_FILES['upload']) {
if ($_FILES['upload'] == "none" or empty($_FILES['upload']['name'])) {
$message = "Вы не выбрали файл";
} else {
if ($_FILES['upload']["size"] == 0 or $_FILES['upload']["size"] > 12050000) {
$message = "Размер файла не соответствует нормам";
} else {
if ($_FILES['upload']["type"] != "image/jpeg" and $_FILES['upload']["type"] != "image/jpeg" and $_FILES['upload']["type"] != "image/png") {
$message = "Допускается загрузка только картинок JPG и PNG.";
} else {
if (!is_uploaded_file($_FILES['upload']["tmp_name"])) {
$message = "Что-то пошло не так. Попытайтесь загрузить файл ещё раз.";
} else {
$message = '';
$uploadDir = $this->uploads_dir();
$ext = explode('.', $_FILES['upload']['name']);
$extension = array_pop($ext);
$base = new Model_Base();
$extarr = explode('.', $_FILES['upload']['name']);
$ext = array_pop($extarr);
$name = implode('', $extarr);
$name = substr(md5(microtime() * time()), 0, rand(20, 10));
//$name =rand(1, 1000).'-'.md5($_FILES['upload']['name']).'.'.$ext;
$filename = $base->str2url($name) . '.' . $ext;
//$filename = substr(md5(microtime() * time()),0,rand(20,10)).'.'.$extension;
if (copy($_FILES['upload']['tmp_name'], $uploadDir . "/" . $filename)) {
$message = "Файл " . $name . " загружен";
}
// $name =rand(1, 1000).'-'.md5($_FILES['upload']['name']).'.'.$this->getex($_FILES['upload']['name']);
// move_uploaded_file($_FILES['upload']['tmp_name'], "/img/user/".$name);
// $full_path = 'http://sp-salon.ru/img/user/'.$name;
// $message = "Файл ".$_FILES['upload']['name']." загружен";
// $size=@getimagesize('/img/user/'.$name);
// if($size[0]<50 OR $size[1]<50){
// unlink('/img/user/'.$name);
// $message = "Файл не является допустимым изображением";
// $full_path="";
// }
}
}
}
}
$callback = $_REQUEST['CKEditorFuncNum'];
echo '<script type="text/javascript">window.parent.CKEDITOR.tools.callFunction("' . $callback . '", "' . DIRECTORY_SEPARATOR . $this->baseDir . $filename . '", "' . $message . '" );</script>';
}
}
示例3: action_index
public function action_index($subdir = NULL)
{
//получаем все папки из папки baseDir
$dir = $this->uploads_dir();
if (isset($_POST['delPictures'])) {
$dirName = $this->request->param('id');
$arr = $_POST;
unset($arr['dirName']);
unset($arr['delPictures']);
foreach ($arr as $picture => $value) {
$path = $dir . $dirName . '/' . str_replace('^', '.', $picture);
//var_dump($path);
if (file_exists($path)) {
// удаляем файл
unlink($path);
}
}
}
if (isset($_POST['deleteDir'])) {
$dirName = Arr::get($_POST, 'dirName') . '/';
$result = $this->RemoveDir($dirName);
//chdir ($parent); //путь где создавать папку
//mkdir ($folderName, 0770); //имя папки и атрибуты на папку
}
if (isset($_POST['add_folder'])) {
$folderName = Arr::get($_POST, 'folderName');
$base = new Model_Base();
$folderName = $base->str2url($folderName);
$parent = $dir . Arr::get($_POST, 'parentName');
//var_dump($parent);
chdir($parent);
//путь где создавать папку
mkdir($folderName, 0777);
//имя папки и атрибуты на папку
}
if (isset($_POST['filesUpload'])) {
//get uploadDir
$uploadDir = Arr::get($_POST, 'dir');
//перебираем массив файлов
for ($i = 0; $i < count($_FILES['file']['name']); ++$i) {
if ($_FILES['file']['size'][$i] > 3300000) {
echo 'Файл не должен быть больше 3 Мб';
} else {
$ext = explode('.', $_FILES['file']['name'][$i]);
$extension = array_pop($ext);
$base = new Model_Base();
$extarr = explode('.', $_FILES['file']['name'][$i]);
$ext = array_pop($extarr);
$name = implode('', $extarr);
$filename = $base->str2url($name) . '.' . $ext;
//$filename = substr(md5(microtime() * time()),0,rand(20,10)).'.'.$extension;
if (copy($_FILES['file']['tmp_name'][$i], $uploadDir . "/" . $filename)) {
$img = $uploadDir . "/" . $filename;
}
}
}
}
$folder = $dir . $this->request->param('id');
if ($folder) {
if (is_dir($folder)) {
if ($dh = opendir($folder)) {
while (($file = readdir($dh)) !== false) {
if (filetype($folder . '/' . $file) != 'dir') {
$this->files[] = array('name' => $file, 'mime' => File::mime($folder . '/' . $file));
}
}
closedir($dh);
}
}
}
$folders = $this->getFolders();
$this->template->content = View::factory('admin/admFiles', array('folders' => $folders, 'files' => $this->files, 'basedir' => $folder, 'user' => $this->user));
}
示例4: createFromGroups
public function createFromGroups($parentId, $groupId)
{
$material = new Model_Material('groups');
$base = new Model_Base();
//получаем дерево групп
$groups = $material->getTree($groupId);
// 1. Получаем количество групп
$groupCount = count($groups);
// 2. Получаем крайний правый ключ
$parentGroup = $material->getNode($groupId);
$rightKey = (int) $parentGroup['right_key'] + 1;
// 3. Получаем левый ключ
$parentNode = $this->nstree->getNode($parentId);
// получаем левел
$level = (int) $parentNode['level'];
$leftKey = (int) $parentNode['left_key'] + 1;
//echo $leftKey.'-'.$rightKey;
$this->nstree->modifyNodes($leftKey, $rightKey);
$parent_node_lk = $parentNode["left_key"];
$parent_node_rk = $parentNode["right_key"];
$parent_node_level = $parentNode["level"];
$parent_group_lk = $parentGroup["left_key"];
$parent_group_rk = $parentGroup["left_key"];
$parent_group_level = $parentGroup["level"];
foreach ($groups as $group) {
// Преобразование level'a группы для ноды
$level_offset = $parent_node_level - $parent_group_level;
$url = $base->str2url($group["name"]);
while (!$this->unique_url($url)) {
$url = $url . "-";
}
$node = array("name" => $group["name"], "url" => $url, "id" => NULL, "left_key" => $group["left_key"] + $leftKey, "right_key" => $group["right_key"] + $leftKey, "level" => $group["level"] + $level_offset);
list($insert_id, $tmp) = DB::insert("tree", array_keys($node))->values(array_values($node))->execute();
DB::query(NULL, "COMMIT")->execute();
//Подключаем материалы
$action = "sidebar";
$left_menu = array("id" => NULL, "node_id" => $insert_id, "widget_id" => 2, "param" => "twig", "action" => $action, "options" => '{"' . $action . '_parent_id":"' . $parentId . '"}', "position" => "left_block", "title" => "Меню", "ordering" => 10);
//list($insert_id, $tmp) = DB::insert("tree_widgets_rel", array_keys($left_menu))->values(array_values($left_menu))->execute();
DB::insert("tree_widgets_rel", array_keys($left_menu))->values(array_values($left_menu))->execute();
$action = "index";
$catalog = array("id" => NULL, "node_id" => $insert_id, "widget_id" => 1, "param" => "twig", "action" => $action, "options" => '{"' . $action . '_catalog_id":"' . $group['id'] . '"}', "position" => "right_block", "title" => "Каталог", "ordering" => 10);
//list($insert_id, $tmp) = DB::insert("tree_widgets_rel", array_keys($catalog))->values(array_values($catalog))->execute();
DB::insert("tree_widgets_rel", array_keys($catalog))->values(array_values($catalog))->execute();
}
/*foreach ($groups as $group)
{
//берем узел
//var_dump($group);
//обновляем данные
$url = $base->str2url($group["name"]);
while(!$this->unique_url($url))
{
$url = $url."-";
}
$extrafields = array("name" => $group["name"], "url" =>$url);
$node = array(
"id" => NULL,
"left_key" => $group["left_key"] + $leftKey,
"right_key" => $group["right_key"] + $leftKey,
"level" => $group["level"] + $level
);
$node = $node + $extrafields;
list($insert_id, $tmp) = DB::insert("tree", array_keys($node))->values(array_values($node))->execute();
DB::query(NULL, "COMMIT")->execute();
//Подключаем материалы
$action = "sidebar";
$left_menu = array(
"id" => NULL,
"node_id" => $insert_id,
"widget_id" => 1,
"param" => "twig",
"action" => $action,
"options" => '{"' . $action . '_parent_id":"' . $parentId . '"}',
"position" => "left_block",
"title" => "Меню",
"ordering" => 10,
);
list($insert_id, $tmp) = DB::insert("tree_widgets_rel", array_keys($left_menu))->values(array_values($left_menu))->execute();
$action = "index";
$catalog = array(
"id" => NULL,
"node_id" => $insert_id,
"widget_id" => 1,
"param" => "twig",
"action" => $action,
"options" => '{"' . $action . '_catalog_id":"' . $group['id'] . '"}',
"position" => "right_block",
"title" => "Каталог",
"ordering" => 10,
);
//.........这里部分代码省略.........
示例5: action_index
public function action_index()
{
$id = $this->request->param('id');
if ($id == 'export') {
$query = 'SELECT * FROM vz_catalog ORDER BY act DESC LIMIT 700, 100';
$result = DB::query(Database::SELECT, $query)->execute()->as_array();
$types = array('', 'База отдыха', 'Загородный отель', 'Санаторий', 'Кемпинг', 'Гостиница', 'Конно - спортивный клуб', 'Коттедж');
$region = array('0' => '', '66' => 'Свердловская область', '74' => 'Челябинская область', '72' => 'Тюменская область', '59' => 'Пермский край', '2' => 'Башкортостан');
$facialities = array('0' => '', '1' => 'Баня', '3' => 'Баня, Бассейн', '4' => 'Бильярд', '5' => 'Баня, Бильярд', '7' => 'Баня, Бассейн, Бильярд', '9' => 'Баня, Лес', '11' => 'Баня, Бассейн, Лес', '13' => 'Баня, Бильярд, Лес', '15' => 'Баня, Бассейн, Бильярд, Лес', '17' => 'Баня, Водоем', '20' => 'Бильярд, Водоем', '21' => 'Баня, Бильярд, Водоем', '23' => 'Баня, Бассейн, Бильярд, Водоем', '24' => 'Лес, Водоем', '25' => 'Баня, Лес, Водоем', '27' => 'Баня, Бассейн, Лес, Водоем', '29' => 'Баня, Бильярд, Лес, Водоем', '31' => 'Баня, Бассейн, Бильярд, Лес, Водоем', '33' => 'Баня, Питание', '35' => 'Баня, Бассейн, Питание', '37' => 'Баня, Бильярд, Питание', '39' => 'Баня, Бассейн, Бильярд, Питание', '40' => 'Лес, Питание', '41' => 'Баня, Лес, Питание', '43' => 'Баня, Бассейн, Лес, Питание', '44' => 'Бильярд, Лес, Питание', '45' => 'Баня, Биллиард, Лес, Питание', '47' => 'Баня, Бассейн, Бильярд, Лес, Питание', '49' => 'Баня, Лес, Питание', '51' => 'Баня, Бассейн, Лес, Питание', '53' => 'Баня, Бильярд, Лес, Питание', '56' => 'Лес, Водоем, Питание', '57' => 'Баня, Лес, Водоем, Питание', '58' => 'Бассейн, Лес, Водоем, Питание', '59' => 'Баня, Бассейн, Лес, Водоем, Питание', '60' => 'Бильярд, Лес, Водоем, Питание', '61' => 'Баня, Бильярд, Лес, Водоем, Питание', '63' => 'Баня, Бассейн, Бильярд, Лес, Водоем, Питание', '65' => 'Баня, Бассейн, Бильярд, Лес, Водоем, Питание');
$base = new Model_Base();
$material = new Model_Material('group');
$counter = 0;
foreach ($result as $item) {
$photos = array();
$dates = array();
$faciality = array();
$dquery = 'SELECT busy_date FROM vz_calendar WHERE cottage_id =' . $item['id'];
$dresult = DB::query(Database::SELECT, $dquery)->execute()->as_array();
if (isset($facialities[$item['opt']])) {
$ifaciality = explode(',', $facialities[$item['opt']]);
} else {
$ifaciality = array();
}
foreach ($ifaciality as $fitem) {
$faciality[] = trim($fitem);
}
foreach ($dresult as $date) {
$dates[] = $date['busy_date'];
}
$pquery = 'SELECT id, title FROM vz_images WHERE top = ' . $item['id'] . ' ORDER by ord';
$presult = DB::query(Database::SELECT, $pquery)->execute()->as_array();
foreach ($presult as $pitem) {
$id = intval($pitem['id']);
if ($id < 1000) {
$folder = 0;
}
if ($id > 999 && $id < 10000) {
$folder = substr($id, 0, 1);
}
if ($id > 9999) {
$folder = substr($id, 0, 2);
}
$photos[] = '/img/user/catalog/' . $folder . '/' . $pitem['id'] . 'b.jpg';
}
if ($item['act'] == 1) {
$sleep = 0;
} else {
$sleep = 1;
}
$insert = array('title' => $item['name'], 'url' => $base->str2url($item['name']), 'description' => $item['description'], 'sleep' => $sleep, 'date_241' => $dates, 'select_223' => array($types[$item['object_type']]), 'chars_224' => $item['pagetitle'], 'chars_225' => $item['spec_offer'], 'chars_226' => $item['spec_price'], 'chars_227' => $item['city'], 'select_228' => array($region[$item['region']]), 'chars_229' => $item['len'], 'chars_230' => $item['path'], 'select_231' => $faciality, 'chars_232' => $item['bad1'], 'chars_233' => $item['bad2'], 'chars_234' => $item['rooms'], 'price_235' => $item['cost'], 'chars_236' => $item['dayprice'], 'chars_237' => $item['people'], 'chars_238' => $item['mincapacity'], 'chars_239' => $item['capacity'], 'photoalbum_243' => $photos, 'texts_242' => $item['content']);
$res = $material->newMaterial($insert, '33', array(), TRUE);
if ($res) {
++$counter;
} else {
$this->data['errors'][] = 'Материал ' . $item['name'] . ' не был добавлен';
}
//
// echo '<pre>';
// var_dump($insert);
// echo '<pre>';
}
$this->data['messages'][] = 'Добавлено ' . $counter . ' материалов';
} elseif ($id == 'comments') {
//перебираем все отзывы
$query = 'SELECT a.*, b.name AS obj_name FROM vz_reviews a, vz_catalog b WHERE a.object_id = b.id ORDER BY object_id DESC LIMIT 0, 1000';
$result = DB::query(Database::SELECT, $query)->execute()->as_array();
$cnt = 0;
foreach ($result as $comment) {
$q = 'SELECT id FROM materials WHERE name =\'' . $comment['obj_name'] . '\'';
$res = DB::query(Database::SELECT, $q)->execute()->current();
if ($res) {
$q1 = "UPDATE vz_reviews SET object_id = " . $res['id'] . ' WHERE id =' . $comment['id'];
$res1 = DB::query(Database::UPDATE, $q1)->execute();
if (!$res1) {
$this->data['errors'][] = $q1;
} else {
++$cnt;
}
}
}
$this->data['messages'][] = 'Обновлено ' . $cnt . ' комментариев';
} elseif ($id == 'update_id') {
$cnt = 0;
//ПЕРЕБИРАЕМ ВСЕ КОТТЕДЖИ
$query = 'SELECT * FROM vz_catalog WHERE act!=0 ORDER BY act DESC LIMIT 0, 500';
$result = DB::query(Database::SELECT, $query)->execute()->as_array();
foreach ($result as $item) {
//делаем запрос по названию
$q = 'UPDATE materials SET old_id = ' . $item['id'] . ' WHERE name = \'' . $item['name'] . '\'';
$res = DB::query(Database::UPDATE, $q)->execute();
if (!$res) {
$this->data['errors'][] = $q;
} else {
++$cnt;
}
}
}
$this->template->content = View::factory('admin/admScripts', array('data' => $this->data, 'user' => $this->user));
}
示例6: str2url
public static function str2url($str)
{
$base = new Model_Base();
return $base->str2url($str);
}
示例7: uploadFile
public function uploadFile($gid)
{
$material = new Model_Material('groups');
$data = $material->getFullMaterials2($gid, 10000, 0);
$phpexcel = new PHPExcel();
// Создаём объект PHPExcel
$page = $phpexcel->setActiveSheetIndex(0);
// Делаем активной первую страницу и получаем её
$letters = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ');
$header = array('name' => 'Название');
$fields = $material->getFieldsSet($gid);
foreach ($fields as $field) {
$header[$field['name']] = $field['title'];
}
$fields = $header;
$header = array_values($fields);
for ($i = 0; $i < count($header); ++$i) {
$page->setCellValue($letters[$i] . "1", $header[$i]);
}
//echo '<pre>';
$row = 2;
foreach ($data as $item) {
$col = 0;
foreach ($fields as $key => $field) {
if (isset($item[$key])) {
if (!is_array($item[$key])) {
$page->setCellValue($letters[$col] . $row, $item[$key]);
} else {
$str = '';
$s = 1;
foreach ($item[$key] as $val) {
$str .= Arr::get($val, 'value');
if ($s < count($item[$key])) {
$str .= ', ';
}
++$s;
}
$page->setCellValue($letters[$col] . $row, $str);
}
}
++$col;
}
++$row;
}
// echo '</pre>';
$page->setTitle("Страница 1");
// Заголовок делаем "Example"
/* Начинаем готовиться к записи информации в xlsx-файл */
$objWriter = PHPExcel_IOFactory::createWriter($phpexcel, 'Excel2007');
/* Записываем в файл */
$group = $material->getGroup($gid);
$base = new Model_Base();
$filename = $group['id'] . '_' . $base->str2url(Text::limit_chars($group['name'], 20)) . '_' . date("Y.m.d H-i-s");
$objWriter->save(DOCROOT . "/img/user/export/" . $filename . ".xlsx");
return array('Файл ' . $filename . ' успешно создан в директории <a href="/admin/files/export">/export/</a>');
}