Sanasol Опубликовано 29 января, 2013 Жалоба Поделиться Опубликовано 29 января, 2013 Итак PrototypeCP. Начинал давно, решил возобновить работу, за год обкатал наработки. В основном по шаблонизатору. Пока что кроме ядра мягко говоря ничего нету. Ядро: Поддержка шаблонов Поддержка языков Шаблонизатор: Это отдельная тема. Шаблонизатор самописный как и все остальное практически. Как он работает. Достает каркас шаблона /templates/template_name/layout.html Затем подгружает шаблоны для контента(для каждой страницы ставится отдельно) /templates/template_name/parts/part_name.html После этого начинает обработку. Замена переменных вида {var} на контент сгенерированный в php модулях. Да кстати в layout.htm обязательно должна быть указана переменная {body}, она будет заменена контентом страницы подгруженым из /templates/template_name/parts/part_name.html Замена {msg var_name} на языковую переменную с названием var_name Обработка циклов Обработка условий if Про циклы и IFы напишу позже. В шаблоне рейтинга игроков используется цикл если интересно изучите сами. Скоро начну активно дописывать. Напишу все что вспомню и придумаю. Все в открытом доступе даже psd от лого. Никаких платных модулей и прочего. Возможно добавлю свои донат скрипты в сборку. Посмотрим. Ссылка на исходники: https://github.com/S...sol/PrototypeCP 11 Ссылка на комментарий Поделиться на другие сайты Поделиться
Tailss Опубликовано 29 января, 2013 Жалоба Поделиться Опубликовано 29 января, 2013 Лайк, лайк, лалалайк Ссылка на комментарий Поделиться на другие сайты Поделиться
Sanasol Опубликовано 29 января, 2013 Автор Жалоба Поделиться Опубликовано 29 января, 2013 Пару коммитов сделал, почему-то не залились части шаблона.https://github.com/S-anasol/PrototypeCP/blob/master/templates/prototype/_parts/top.html Ссылка на комментарий Поделиться на другие сайты Поделиться
ph1047 Опубликовано 30 января, 2013 Жалоба Поделиться Опубликовано 30 января, 2013 http://php.net/manual/ru/ref.pdo-mysql.php 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Sanasol Опубликовано 30 января, 2013 Автор Жалоба Поделиться Опубликовано 30 января, 2013 http://php.net/manua...f.pdo-mysql.php Да-да это я еще гляну и переделаю наверно ибо меня не устраивает текущий класс базы. Ссылка на комментарий Поделиться на другие сайты Поделиться
Sanasol Опубликовано 30 января, 2013 Автор Жалоба Поделиться Опубликовано 30 января, 2013 Зачатки регистрации и авторизации. Новый класс сайта.Загрузка языковых файлов в php скриптах: $template->load_lang_strings("msg_menu_register")https://github.com/S-anasol/PrototypeCP/commit/b0771d626c0d6cded8613fe2bc784378d1a9d8b3 Ссылка на комментарий Поделиться на другие сайты Поделиться
ph1047 Опубликовано 31 января, 2013 Жалоба Поделиться Опубликовано 31 января, 2013 https://github.com/S-anasol/PrototypeCP/blob/master/modules/register.php фор ичем по посту и данные в конфиг - потрачено. Ссылка на комментарий Поделиться на другие сайты Поделиться
Sanasol Опубликовано 31 января, 2013 Автор Жалоба Поделиться Опубликовано 31 января, 2013 Это "конфиг", а не конфиг =)Это то что выводится в шаблоне с конфигурацией это никак не связано. Ссылка на комментарий Поделиться на другие сайты Поделиться
wl.illusion Опубликовано 31 января, 2013 Жалоба Поделиться Опубликовано 31 января, 2013 Бред использовать функции mysql, переходи на PDO.Пусть сделает классом, так лучше будет, можно будет для разных бд использовать, я у себя в cms делал — родительский класс работы с бд и наследуемые от него классы по разным драйверам, не нужно привязывать проект к одному драйверу. Ссылка на комментарий Поделиться на другие сайты Поделиться
Sanasol Опубликовано 31 января, 2013 Автор Жалоба Поделиться Опубликовано 31 января, 2013 Бред использовать функции mysql, переходи на PDO.Пусть сделает классом, так лучше будет, можно будет для разных бд использовать, я у себя в cms делал — родительский класс работы с бд и наследуемые от него классы по разным драйверам, не нужно привязывать проект к одному драйверу.Там и так используется класс, но не на PDO а на mysql_*Сейчас там вообще все печально и много мусора. Ссылка на комментарий Поделиться на другие сайты Поделиться
wl.illusion Опубликовано 31 января, 2013 Жалоба Поделиться Опубликовано 31 января, 2013 Там и так используется класс, но не на PDO а на mysql_*Сейчас там вообще все печально и много мусора.Не так, я предлагаю сделать родительский класс, а от него уже наследовать для каждой db. Пусть это старый mysql драйвер или новый или pdo или вообще другая db. Хоть noSQL или вообще работа с текстовиками.У твоей CP в целом плохая структура, но думаю ты не думал заниматься этим серьёзно потому так и получилось, я бы на твоём месте эту версию бросил и сел писать новую с уже хорошо продуманной структурой и иерархией классов.Ну и в целом многого нехватает, если задумаешь писать новое, то с удовольствием помогу, опыт создания фреймворка и CMS к нему есть. Можно вполне сделать употребляемый продукт, правда, у меня условие — freeware.Вкратце, я писал для своих коммерческих целей свой фреймворк+CMS под конкретные задачи, внутри это напоминает Joomla или Drupal, очень удобная конструкция внутри, работа с шаблонами плохо сделана, но это не было задачей, т.к. на каждый продукт натягивается один раз шаблон и непредусматривается наличие их смены. Сейчас у моего провайдера работает на этом биллинговая система и сам биллинг (админка и клиентская часть). Ссылка на комментарий Поделиться на другие сайты Поделиться
Sanasol Опубликовано 31 января, 2013 Автор Жалоба Поделиться Опубликовано 31 января, 2013 Там и так используется класс, но не на PDO а на mysql_*Сейчас там вообще все печально и много мусора.Не так, я предлагаю сделать родительский класс, а от него уже наследовать для каждой db. Пусть это старый mysql драйвер или новый или pdo или вообще другая db. Хоть noSQL или вообще работа с текстовиками.У твоей CP в целом плохая структура, но думаю ты не думал заниматься этим серьёзно потому так и получилось, я бы на твоём месте эту версию бросил и сел писать новую с уже хорошо продуманной структурой и иерархией классов.Ну и в целом многого нехватает, если задумаешь писать новое, то с удовольствием помогу, опыт создания фреймворка и CMS к нему есть. Можно вполне сделать употребляемый продукт, правда, у меня условие — freeware.Вкратце, я писал для своих коммерческих целей свой фреймворк+CMS под конкретные задачи, внутри это напоминает Joomla или Drupal, очень удобная конструкция внутри, работа с шаблонами плохо сделана, но это не было задачей, т.к. на каждый продукт натягивается один раз шаблон и непредусматривается наличие их смены. Сейчас у моего провайдера работает на этом биллинговая система и сам биллинг (админка и клиентская часть).Да времени особо нету даже привеси в порядок то что есть, не говоря уже о новом. + Есть идея(отдельная от PrototypeCP ,но связана с серверами в целом) одна которую хочется сделать, но время опять же...2 сайта на yii сейчас надо сдать, а потом смогу чем-то левым заниматься. Ссылка на комментарий Поделиться на другие сайты Поделиться
ph1047 Опубликовано 3 февраля, 2013 Жалоба Поделиться Опубликовано 3 февраля, 2013 Бред использовать функции mysql, переходи на PDO. https://github.com/S...aster/other.php Что это? https://github.com/S...aster/index.php include("./classes/class.templating.php");include("./classes/class.ragnarok.php");include("./classes/class.site.php");include("./classes/class.mysql.php"); Мне кажется проще __autoload поставить. -- if(isset($_GET["p"])){$page = $_GET["p"];} else{$page = "home";}if(file_exists("modules/{$page}.php")){include "modules/{$page}.php";} else{include "modules/404.php";} Говно код черт возьми! классик-! а что если я передам в переменную ?p=../../../../../../../etc/passwd%00 например? Не так, я предлагаю сделать родительский класс, а от него уже наследовать для каждой db Ржанул неплохо))) PDO вообще-то и дает абстрактный интерфейс над разными БД, не за что. 2 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
wl.illusion Опубликовано 3 февраля, 2013 Жалоба Поделиться Опубликовано 3 февраля, 2013 (изменено) Ржанул неплохо))) PDO вообще-то и дает абстрактный интерфейс над разными БД, не за что.Подсоедините мне к pdo, пожалуйста, nosql и работу с .txt файлами, ах, ну и да, совместимо с 4.хх и 5.0, чтобы было. Спасибо.updцепануло глаз «абстрактный интерфейс» — не путайте класс и интерфейс, я предлагал создавать класс. К PDO вы только средствами C++ сможете дописать драйвер работы с nosql или .txt. Мой способ даёт возможность без какой-либо переделки рабочего проекта менять db пользователю, а программист php без труда допишет отдельный драйвер работы с любой db средствами PHP. Да это не очень быстрый доступ к db по сравнение с PDO, но зато более универсальный и совместимый, поддающийся лёгкой доработке и изменениям. Изменено 3 февраля, 2013 пользователем wl.illusion Ссылка на комментарий Поделиться на другие сайты Поделиться
Ren Опубликовано 3 февраля, 2013 Жалоба Поделиться Опубликовано 3 февраля, 2013 как скачать то? Ссылка на комментарий Поделиться на другие сайты Поделиться
kadze Опубликовано 3 февраля, 2013 Жалоба Поделиться Опубликовано 3 февраля, 2013 черепахой Ссылка на комментарий Поделиться на другие сайты Поделиться
Ren Опубликовано 3 февраля, 2013 Жалоба Поделиться Опубликовано 3 февраля, 2013 черепахойспасибо Ссылка на комментарий Поделиться на другие сайты Поделиться
ph1047 Опубликовано 3 февраля, 2013 Жалоба Поделиться Опубликовано 3 февраля, 2013 1337Охуеть. Школота меня начала учить ООП. Совсем страх потеряла. Сначала нацепи на афину nosql базу (тхт не считается), например монго, слышал заебись, потом подумай - нахуя ты это сделал, и верни все назад. Я напомню, что эта цп для афины и класс для работы со всякой парашей кроме mysql ну может еще postgres - нах не нужен. Я это предложил чисто из соображений безопасности, потому что скрипты санасола славятся отсутствием какой-либо сантитаризации входных данных, вот и все. 3 Ссылка на комментарий Поделиться на другие сайты Поделиться
wl.illusion Опубликовано 3 февраля, 2013 Жалоба Поделиться Опубликовано 3 февраля, 2013 (изменено) Охуеть. Школота меня начала учить ООП. Совсем страх потеряла. Сначала нацепи на афину nosql базу (тхт не считается), например монго, слышал заебись, потом подумай - нахуя ты это сделал, и верни все назад. Я напомню, что эта цп для афины и класс для работы со всякой парашей кроме mysql ну может еще postgres - нах не нужен. Я это предложил чисто из соображений безопасности, потому что скрипты санасола славятся отсутствием какой-либо сантитаризации входных данных, вот и все.У меня даже ответ нет желания писать после фраз «школота», «учить». Горе вы программист, если утыкаетесь носом в свои личные предпочтения, что касается безопасности, то pdo далеко не самый безопасный и мозги никто не отменял, тем более хочется вам сказать пару ласковых, но сдержано опишу. Для начала, не вам учить кому и с какой бд работать, хотите написать узконаправленный тяжелодорабатываемый проект — пишите.Что касается самой идеи классов, во-первых, афина умеет работать с txt, это не секрет, но вы вот тут о безопасности кричали, какая же безопасность всё держать на одной бд? Умные люди предпочитают разделять бд, и nosql для не критичных данных очень подходит, тем более, если сделать кеширование данных из основной базы, для говно-серверов такое не нужно, но если кто-то серьёзно что-то хочет делать, то это очень полезно, во-вторых, ваш pdo никто не запрещал, не отрицал и вообще ничего плохого о нём не сказал (пока не сказал). Никто не мешает наследовать родительский класс и написать драйвер работы с базой через pdo, более того, это очень правильно, потому что будет оставлена обратная совместимость, а так, добрые ребята возьмут и что-то поменяют в pdo и вам придётся менять кучу вызовов или какие-то дополнительные параметры дописывать. Редко такое встречаю в крупных проектах, но бывает. Итого, мы получаем ваш тут распиариный (как ваше чсв) pdo и удобный класс для создания драйверов работы с любой бд (и не только), которые не поддерживаются pdo и возможность создания совместимости со старыми версиями php. Более того, можно сделать обязательной санацию получаемых данных, лёгкое добавление префиксов и постфиксов для имён таблиц, а ещё, что не мало важно, даже работу с несколькими бд одновременно. И всё это без каких-то проблем. Где-то pdo для работы с mysql и прочим мусором, а где-то nosql для кеширования и считывание txt (для изысканных извращенцев).Что касается кода Санасола, то ничего плохого сказать не могу, нет, вы правы, что там чёрный лес, но после многолетнего исправления говнокода различных компаний — меня напугать тяжело, а всякие флуксы и другие цп написаны чуть лучше, но там тоже есть много пёрлов, которые можно было бы повыдирать для нареканий.Да, и не разбрасывались бы вы громкими фразами и оскорблениями, ваш интеллектуальный уровень как-то меркнет, если вы чего-то не принимаете или не воспринимаете, то грошь вам цена, как разработчику, тем более, как программисту. Не нравится? Не смотрите, хотите по-оскорблять? Я уже писал о таком отношение к человеку.Резюме: не пишите чушь и оскорбления, шансов, что вас послушают — мало, что обидятся — много, что положат на вас прибор — 99.9%. Не нравится идея? Замечательно! Напишите спокойно и разумно почему ваша идея лучше, какие у неё преимущества над конкуретными. Хотите критиковать, как малолетний интригант? Вам к детям в песочницу, в любом другом виде — будьте взрослым адекватным человеком со прагматичным взглядом, а не упоротым наркоманом с чсв лошади. Изменено 3 февраля, 2013 пользователем wl.illusion 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Sanasol Опубликовано 3 февраля, 2013 Автор Жалоба Поделиться Опубликовано 3 февраля, 2013 Лучше бы выкладывали конкретный код, например для фильтрации. Зачем ругаться и оскроблять друг друга. Чуть ранее комментария про ../../../../ в $_GET я добавил фильтрацию в код. Коммитов не делал пока никаких просто. Ссылка на комментарий Поделиться на другие сайты Поделиться
ph1047 Опубликовано 4 февраля, 2013 Жалоба Поделиться Опубликовано 4 февраля, 2013 ...Мне реально пофиг на вас, школоту, и на ваше мнение. Просто лишний раз напомню, где ваше место.Лучше бы выкладывали конкретный код, например для фильтрации. Зачем ругаться и оскроблять друг друга. Чуть ранее комментария про ../../../../ в $_GET я добавил фильтрацию в код. Коммитов не делал пока никаких просто.mysql_real_escape_stringstr_replace("..","",$target)собственно все ручками, ручками. Лучше регуляркой проверять по ожидаемому формату, это самое надежное 1 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
paxac Опубликовано 24 мая, 2013 Жалоба Поделиться Опубликовано 24 мая, 2013 народ, помогите плиз, а как подключить сайт к хостинг сервера, и как поменять шаблон Ссылка на комментарий Поделиться на другие сайты Поделиться
Neero Опубликовано 19 ноября, 2014 Жалоба Поделиться Опубликовано 19 ноября, 2014 (изменено) такая проблема - панень заработала норм, но проблема одна: при регистрации после ввода данных выдает такую ошибку:Fatal error: Call to a member function Query() on a non-object in /var/www/8xcwy5s/data/www/test.ru/classes/class.site.php on line 25кто сталкивался?кстати, вот содержимое этой строки:else if($db->Query("select count(*) from `login` where `userid`='{$user}'") >= 1) Изменено 19 ноября, 2014 пользователем Neero Ссылка на комментарий Поделиться на другие сайты Поделиться
Sanasol Опубликовано 19 ноября, 2014 Автор Жалоба Поделиться Опубликовано 19 ноября, 2014 такая проблема - панень заработала норм, но проблема одна: при регистрации после ввода данных выдает такую ошибку:Fatal error: Call to a member function Query() on a non-object in /var/www/8xcwy5s/data/www/test.ru/classes/class.site.php on line 25кто сталкивался?кстати, вот содержимое этой строки:else if($db->Query("select count(*) from `login` where `userid`='{$user}'") >= 1)да чет хер его знает почемуконнект к базе есть?я починить это https://github.com/S-anasol/PrototypeCP/commit/fb5cc84f62078b0bfeb6410f2a2f712be2d799f2 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Neero Опубликовано 19 ноября, 2014 Жалоба Поделиться Опубликовано 19 ноября, 2014 подскажи ещё пожалуйста, как убрать подтверждение регистрации через почту?... Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения