PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (23): « 1 [2] 3 4 5 6 7 8 9 ... » В конец

> Найдено сообщений: 340
android Отправлено: 23 Сентября, 2014 - 16:10:44 • Тема: Как запустить функцию в шаблоне? • Форум: Вопросы новичков

Ответов: 25
Просмотров: 1303
OrmaJever дело в том что это многопользовательская система управления сайтами, на данный момент реализован простой шаблонизатор, я бы хотел его расширить подобным функционалом.

А так как это многопользовательская система, соответственно много мини сайтов и у каждого свой владелец, поэтому я не могу позволить внедрять php в код. Да и все должно быть автоматизированно, захотел владелец - испортил, это его право, главное что бы серверный код был не доступен
android Отправлено: 23 Сентября, 2014 - 15:37:55 • Тема: Как запустить функцию в шаблоне? • Форум: Вопросы новичков

Ответов: 25
Просмотров: 1303
caballero уважаемый, давайте вы не будете разглагольствовать умеет человек или нет. Смарти или твиг не подходят, нужен гораздо меньший функционал чем в них.

OrmaJever лучше бы подсказали как реализовать, а не писали чушь

Хорошо, хотите точно знать для чего?
Есть cms в ней необходимо реализовать шаблонизатор с минимальным функционалом который включает использование разрешенных функций на своем синтаксисе. Так как система на сервере, а с конечным редактированием шаблонов будут работать другие люди в веб-оболочке, необходимо запретить php

Надеюсь все понятно объяснил, мне нужно только то что я спросил в первом посту, остальной флуд не по теме - лесом Хм
android Отправлено: 23 Сентября, 2014 - 14:42:17 • Тема: Как запустить функцию в шаблоне? • Форум: Вопросы новичков

Ответов: 25
Просмотров: 1303
Тем что это доступно будет для пользователей! которые не разбираются в php
И взаимодействие напрямую с php запрещено
android Отправлено: 23 Сентября, 2014 - 13:22:14 • Тема: Как запустить функцию в шаблоне? • Форум: Вопросы новичков

Ответов: 25
Просмотров: 1303
Добрый день, пишу шаблонизатор. Решил сделать использование разрешенных функций в шаблоне, например:

CODE (php):
скопировать код в буфер обмена
  1. <?php
  2.  
  3. $tpl->add_extensions('dump', 'var_dump');
  4.  
  5. class tpl {
  6.   function add_extensions( $name, $sys_name )
  7.         {
  8.                 if( ! function_exists( $sys_name ) )
  9.                 {
  10.                         return false;
  11.                 }
  12.  
  13.                 $this->config['extensions'][$sys_name] = $name;
  14.         }
  15. }


Но я не понимаю как потом циклом делать замену в шаблоне всех функций которые разрешены в массиве config['extensions'] ?

Пример как должно выглядеть в шаблоне test.view:
PHP:
скопировать код в буфер обмена
  1.  
  2. Проверка....  {{ dump('test1','test2','test3'....) }}
  3.  
android Отправлено: 07 Января, 2014 - 17:08:45 • Тема: MVC авторизация • Форум: Объектно-ориентированное программирование

Ответов: 4
Просмотров: 4352
А как вынести то? Однако

И получается в нем мне приходится вызывать другие классы, функции. Вот смотрите какая камасутра:

PHP:
скопировать код в буфер обмена
  1. <?
  2. class Controller {
  3.     public $tpl,
  4.            $request,
  5.            $db,
  6.            $config,
  7.            $model;
  8.  
  9.     public $alert,
  10.            $auth,
  11.            $admin_auth;
  12.  
  13.     public function __construct()
  14.     {
  15.         $this->_Run();
  16.     }
  17.  
  18.     public function _Run()
  19.     {
  20.         $this->tpl = new Template();
  21.         $this->tpl->dir = APPPACH.'templates'.DIRECTORY_SEPARATOR;
  22.         $this->request = new Request();
  23.         $this->alert = new Alert();
  24.         $this->config = new Config(APPPACH.'configs'.DIRECTORY_SEPARATOR.'core.conf.inc');
  25.         $this->db = new Database(array(
  26.             'host' => $this->config->load('database', 'host'),
  27.             'user' => $this->config->load('database', 'user'),
  28.             'pass' => $this->config->load('database', 'pass'),
  29.             'db'   => $this->config->load('database', 'db'),
  30.         ));
  31.     }
  32.  
  33.     public function _Auth()
  34.     {
  35.                 //авторизация клиента [заполнение массива данными]
  36.     }
  37.  
  38.     public function _Admin_Auth()
  39.     {
  40.        //Авторизация админки [заполнение массива данными]
  41.     }
  42.  
  43.     public function view($str)
  44.     {
  45.                 //Функция для вывода информации, используется и в админке и у клиента (как сделать разные??)
  46.                
  47.         $this->tpl->load('main.tpl');
  48.         $this->tpl->set('{main}', $str);
  49.  
  50.         $result = $this->tpl->compile();
  51.  
  52.         $result = $this->_access($result);
  53.  
  54.         echo $result;
  55.     }
  56.  
  57.     function action_index()
  58.     {
  59.                
  60.     }
  61.  
  62.  
  63.     function _access( $str )
  64.     {
  65.                 //Функция для проверки доступа в шаблоне к компоненту. Пример [group=0]это для гостей[/group]
  66.     }
  67.  
  68.     function access()
  69.     {
  70.         //Функция проверки доступа к контроллеру (сделана только для админки)
  71.     }
  72.  
  73.     function add_logs( $name, $amount = false, $type = false, $uid = false )
  74.     {
  75.                 //Функция добавления логов
  76.     }
  77.  
  78.     function generateCode($length=10)
  79.     {
  80.         $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPRQSTUVWXYZ0123456789";
  81.         $code = "";
  82.         $clen = strlen($chars) - 1;
  83.         while (strlen($code) < $length)
  84.         {
  85.             $code .= $chars[mt_rand(0,$clen)];
  86.         }
  87.         return $code;
  88.     }
  89. }
  90. ?>

(Добавление)
Вот попытался создать отдельные контроллеры:
Создал два файла Admin_Controller.php и User_Controller.php в папке system
Внутри унаследовал от основного контроллера каждый:
class Admin_Controller extends Controller и
class User_Controller extends Controller

Но пишет Fatal error: Class 'Controller' not found in D:\OpenServer\domains\p.su\system\Admin_Controller.php on line 9

Как я понял это из-за того что первыми подгружаются подконтроллеры а только потом основной контроллер, так как я все делаю через цикл в файле general.php:
PHP:
скопировать код в буфер обмена
  1. foreach(scandir(SYSPACH) as $val)
  2.     if($val != '.' and $val != '..')
  3.         require_once SYSPACH.$val;
  4.  


Так что мне придется вручную прописывать тогда?!
android Отправлено: 31 Декабря, 2013 - 00:04:33 • Тема: MVC авторизация • Форум: Объектно-ориентированное программирование

Ответов: 4
Просмотров: 4352
Доброй ночи, архитектуру MVC фреймверка знаю, но не могу понять как сделать получение данных а именно куда запихнуть функцию которая достает данные о юзере и добавляет их в массив.

Дело в том что я бы мог просто разместить в главном контроллере и делов то. Но так как кроме клиенской части есть часть администраторская где тоже нужна авторизация. А контроллер используется там и там. И получается функция уже должна быть другой

Вот сама функция:
CODE (htmlphp):
скопировать код в буфер обмена
  1. if( $id = $this->request->session('auth_id') )
  2.         {
  3.             if( $_SERVER['REMOTE_ADDR'] !== $this->request->session('auth_ip') )
  4.             {
  5.                 session_destroy();
  6.                 header('Location: /');
  7.             }
  8.  
  9.             $result = $this->db->getRow('select * from `users` where `id`=?s', $id);
  10.  
  11.             if( $result )
  12.             {
  13.                 $this->auth = $result;
  14.             }
  15.             else
  16.             {
  17.                 $this->auth = array(
  18.                     'id' => 0 //Гости
  19.                 );
  20.             }
  21.         }
  22.         else
  23.         {
  24.             $this->auth = array(
  25.                 'id' => 0 //Гости
  26.             );
  27.         }


Структура папок:

(Добавление)
Возможно немного коряво изложил мысль, но сильно не пинайте Растерялся
android Отправлено: 30 Декабря, 2013 - 16:34:38 • Тема: Что не так с регуляркой? • Форум: Вопросы новичков

Ответов: 2
Просмотров: 224
CODE (htmlphp):
скопировать код в буфер обмена
  1. #^test1/test2/test3/(?<name>(webmoney|in)).html(?<error>.*)?$#is


Регулярка проверяет урл на наличие webmoney или in, дальше если указано webmoney или in она присваивает переменной в массиве с названием name указанное значение.

Но у меня выбивает
CODE (htmlphp):
скопировать код в буфер обмена
  1. preg_match() [<a href='function.preg-match'>function.preg-match</a>]: Unknown modifier 'n' in


В чем проблема ребята? Огорчение
(Добавление)
Извините, соврал вам, вместо решеток у меня был вертикальный слеш. Заменил его и все заработало!
android Отправлено: 27 Декабря, 2013 - 17:51:02 • Тема: Проблема с SQL запросом, как задать от и до? • Форум: Вопросы новичков

Ответов: 11
Просмотров: 474
teddy просто сначала, нужно было делать одно, а потом план поменялся )

В общем спасибо likvidator
android Отправлено: 22 Декабря, 2013 - 18:53:14 • Тема: Проблема с SQL запросом, как задать от и до? • Форум: Вопросы новичков

Ответов: 11
Просмотров: 474
Тедди, нужно только на оборот, что бы в базе было ОТ и ДО, а пользователь вводил одно число т.е свой возраст
android Отправлено: 22 Декабря, 2013 - 18:20:15 • Тема: Проблема с SQL запросом, как задать от и до? • Форум: Вопросы новичков

Ответов: 11
Просмотров: 474
Нужно от и до, человек вводит эти значения и в базе по ним выводятся материалы. А какой запрос должен быть я не представляю...
android Отправлено: 22 Декабря, 2013 - 18:01:27 • Тема: Проблема с SQL запросом, как задать от и до? • Форум: Вопросы новичков

Ответов: 11
Просмотров: 474
Добрый вечер, не могу понять как должна выглядеть таблица что бы в фильтре (форма поиска) можно указать возраст от и до, и соответственно что бы материалы выводились с этой таблицы в промежутке от и до.

Идей для наработки вообще нету...
android Отправлено: 15 Декабря, 2013 - 19:12:45 • Тема: SQL запрос, как сформировать поиск по столбику? • Форум: Вопросы новичков

Ответов: 3
Просмотров: 169
А что за like?
android Отправлено: 15 Декабря, 2013 - 18:57:34 • Тема: SQL запрос, как сформировать поиск по столбику? • Форум: Вопросы новичков

Ответов: 3
Просмотров: 169
Добрый вечер, есть таблица test1 с магазинами и в ней есть столбец city (где этот магазин обслуживается там ID городов через запятую)

Так вот не понимаю как сделать поиск, допустим я захотел удалить город он в таблице test2
Мне нужно сделать проверку не используется ли этот город в таблице test1 в колонке city.

При этом материалов в таблице test1 n-колво

Таблица test1:
|id|name|city|other...|
|1|Корона|10,22,45|...|
|2|Соседи|21,10,33,12|...|

Таблица test2:
|id|name|
|10|Москва|
|22|Минск|
|45|Гродно|
|21|Вильнюс|
|12|Брест|
|33|Омск|

Как быть? За ваши подсказки в виде примеров заранее спасибо!
android Отправлено: 01 Декабря, 2013 - 20:21:48 • Тема: Определение скидки... • Форум: Напишите за меня, пожалуйста

Ответов: 2
Просмотров: 39
Мелкий все гениальное - просто. Спасибо вам, избежал кучу кода одним sql запросом.

Страниц (23): « 1 [2] 3 4 5 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB