За последние 24 часа нас посетил 21871 программист и 1795 роботов. Сейчас ищут 1719 программистов ...

Посмотрите и оцените мой велосипед :D

Тема в разделе "Решения, алгоритмы", создана пользователем easy163, 25 авг 2012.

  1. easy163

    easy163 Активный пользователь

    С нами с:
    5 авг 2012
    Сообщения:
    11
    Симпатии:
    0
    Пишу для изучения php свою кмс. Пишу уже пару месяцев, решил сегодня показать наработку, ещё не все дописано но уже реализовано:
    1) Добавление страниц
    2) Добавление записей на страницы
    3) Визуальный редактор с возможностью подключения лайтбокса
    4) Тайтлы
    5) Постраничная навигация (которую решил сам написать, по ощущениям получилось короче чем у других)
    6) Модули (пока не дописаны, есть возможность добавлять новые модули и перемещать)
    7) Позиция страниц
    8) Порядок страниц
    9) Защита от кавычек, select-ы, удаление страниц которые содержат записи (возможно есть дыры, латаю)

    Что возможно будет:
    1) Галерея
    2) Настроен визуальный редактор (а именно облегчен и убрано лишнее)
    3) Безопасность повысится
    4) Оптимизирован код (опять )
    5) остальное посмотрю по возможности

    Сейчас cms весит 1.33мб, без визуального редактора около 300 килобайт, поэтому стремлюсь уменьшить вес редактора.

    P.S. Можете лазить, удалять, добавлять что угодно.
    P.S.S. У хостера сегодня проблемы, иногда не отвечает.

    Сам сайт тут http://blogeasy.ru
    Админка тут http://blogeasy.ru/admin/
    Логин - admin
    Пароль - 1

    P.S. Сменить пароль не получиться, не пытайтесь :)

    Жду критики (да вообще чего угодно, интересно мнение), можно кидать помидорами :)
     
  2. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Нет ты ошибаешся :)
    Закрой доступ в админку и исправляй.

    О качестве cms можно судить по коду, а не внешнему виду.

    Зато все остальное можно посмотреть без проблем :)
     
  3. easy163

    easy163 Активный пользователь

    С нами с:
    5 авг 2012
    Сообщения:
    11
    Симпатии:
    0
    Хоть скажите где, проще будет :)
    Делаю на локалке, там пусть творят что хотят, все равно надо знать дыры.
    Кода мало, он спокойно читается и индуской логики нет :D

    Например? Ну говорите не молчите :D
     
  4. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Вначале локально у себя, потом перекидывай на хостинг.
    Хотя и в этом случае возможны баги :)

    И как ты подключаешь файлы? __autoload()?

    Версия базы, имя пользователя которым ты подключился к базе.
    Можно просмотреть все таблицы на которые ты имеешь доступ.

    Если была бы там секретная информация, о ней бы уже все знали :)
    Исправляй, удачи! :)
     
  5. easy163

    easy163 Активный пользователь

    С нами с:
    5 авг 2012
    Сообщения:
    11
    Симпатии:
    0
    Я не знаю что это, значит этого нет :D

    Буду нервно исправлять :D Спасибо за помощь :)
     
  6. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    __autoload() используется для подключения классов

    http://www.php.ru/manual/function.autoload.html

    Прими 100 грамм для храбрости, поможет :)
     
  7. d1gi

    d1gi Активный пользователь

    С нами с:
    24 май 2009
    Сообщения:
    326
    Симпатии:
    0
    а какже "хлебные крошки"? ;) и перейдя по ссылке в меню, менюшка не меняется? надо чтоббы на странице небыло ссылок на саму себя.

    роутинги page/287/0 очень некрасивы... надо делать управляемые...

    а вообще редактирование сайтов должно быть прямо на самом сайте ;) так называемый "edit in place" ;)

    какой смысл заложен в стремлении "уменьшить размер кода"? может быть просто обфусцировать по лёгкому? ;) т.е. вырезать все каменты и лишние пробелы и переносы строк? ;)

    а вообще для чего показываете? ;)))))))
     
  8. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Ссылки в меню на Яндекс и Гуугл слева я добавил. Там просто текстовые поля, которые правятся с помощью редактора CKeditor, который в свою очередь не настроен. Пока ничего интересного.

    КМС - это кандидат в мастера спорта. Нужно писать CMS.
     
  9. easy163

    easy163 Активный пользователь

    С нами с:
    5 авг 2012
    Сообщения:
    11
    Симпатии:
    0
    Пока ещё не думал, на сколько они важны по вашему? :)

    Думал сделать только активный пункт меню, чем плоха ссылка на саму себя?

    Наверно я маньяк раз пытаюсь написать движок в две строки :D Насчет вырезания пробелов и комментариев согласен.

    Я хочу узнать мнение о том что написал, услышать полезные советы и узнать о всех дырах в движке.

    Знаю, знаю. Руки не доходят, думаю над тем что бы вырезать и удалить не нужные плагины.

    ага :)

    P.S. Хороша ли система добавления записей без всяких разделов и категорий? На мой взгляд не подготовленного пользователя путают разделами, категориями, под категориями и т.д. (посмотрите на джумлу).
     
  10. d1gi

    d1gi Активный пользователь

    С нами с:
    24 май 2009
    Сообщения:
    326
    Симпатии:
    0
    на РНР это неполучится... тут лучше в сторону рельс на руби посмотреть... а если продолжать на РНР, то надо осваивать современные паттерны и фреймворк и юзать их, иначе через какое то время поймете что так долго пытались написать что-то "ого го какое классное, что никто до меня до догадался", а в итоге пришло только понимание, что отработанные профессионалами решения превосходят во всех смыслах всё, что вы придумали ;))

    для сравнения посмотри на http://digi.tw1.ru/, там и хлебные крошки и редактирование на месте и ссылки подручные...
     
  11. easy163

    easy163 Активный пользователь

    С нами с:
    5 авг 2012
    Сообщения:
    11
    Симпатии:
    0
    Простой движок выйдет. За тяжелое сразу не буду браться, сейчас сижу и изобретаю постраничную навигацию, возможно то что написал придумано до меня 100 раз, но мне важно понять самому как оно работает, а не просто скопировать чужой код и вставить.
     
  12. d1gi

    d1gi Активный пользователь

    С нами с:
    24 май 2009
    Сообщения:
    326
    Симпатии:
    0
    правильное решение! :)) попробовать всё самому надо обязательно! :)

    а вот на счет простоты... я бы порекомендовал особо не стремиться... на РНР это слишком сложно будет сделать, а вот на руби уже более реально ;) а вот стремиться к логичности, гибкости и возможности написав минимум кода в результате получить что-то вразумительное это порекомендовал бы ;) но обычно под капотом у таких каркасов метров 10 кода уже припрятано ;)

    из простых примернов есть Slim и Silex фреймворки, весьма просто устроены, особенно первый ;)
     
  13. easy163

    easy163 Активный пользователь

    С нами с:
    5 авг 2012
    Сообщения:
    11
    Симпатии:
    0
    Но реально :)
    Вот например есть пример постраничной навигации http://www.php.su/articles/?cat=examples&page=062 , на мой взгляд она слишком большая. Видел другие варианты они были даже больше и не устраивали меня. Через неделю примерно до меня дошло и навигация появилась и была всего около 12-14 строчек кода. При этом присутствовал активный пункт. Сейчас доделываю что бы выводилось только 19 ссылок например, а средняя была как раз активным пунктом. Осталось немного и будет навигация не больше 18 строк думаю.

    p.s. Строки где стоит только { , } или комментарии не считал :)
     
  14. d1gi

    d1gi Активный пользователь

    С нами с:
    24 май 2009
    Сообщения:
    326
    Симпатии:
    0
    ммм... да помню, в начале своего обучения тоже стремился чего-то там минимизировать ;)) сейчас уже стремлюсь минимизировать повторные подходы к решению одной и тойже задачи ;) но тогда "кол-во строчек" вырастает ;)
     
  15. easy163

    easy163 Активный пользователь

    С нами с:
    5 авг 2012
    Сообщения:
    11
    Симпатии:
    0
    Переписал навигацию, переделал вывод страниц в админке, добавил пару вкусностей, внизу стоит счетчик на сайте со скоростью генерации страницы, юзайте и ломайте господа :D
     
  16. d1gi

    d1gi Активный пользователь

    С нами с:
    24 май 2009
    Сообщения:
    326
    Симпатии:
    0
    интереснее было бы код глянуть ;)) говнокод или что-то интересное всёже есть ;)
     
  17. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Да, не серьёзно это, выкладывать ссылки на свои упражнения в программировании на форуме программистов, не показывая сам код, да ещё писать "зацените мой велосипед".
     
  18. easy163

    easy163 Активный пользователь

    С нами с:
    5 авг 2012
    Сообщения:
    11
    Симпатии:
    0
    Самый обычный код, form для вставки записей, запросы к бд по минимуму, я же Вам не битрикс :D
    Код (Text):
    1.  
    2. <?php
    3. defined('AUTH') or die ('Restricted access');
    4. $titledb = mysql_query("SELECT * FROM settings WHERE name='title'");
    5. $title = mysql_fetch_array($titledb);
    6. echo '
    7.     <img src="tmp/img/img_19.png" align="left"></img><h3>Настройки сайта</h2>
    8.     <br />
    9.     <a href="Не скажу :)">Сменить пароль</a>
    10.     <br />
    11.     <form action="Где обработчик тоже не скажу :D" method="post" style="padding:10px 0 0 10px;">
    12.     Название сайта<br />
    13.     <input type="text" name="title" value='.$title[value].' size="80"/><br /><br />
    14.     <input type="image" src="tmp/img/buttonrefresh.png" name="submit"/>
    15.     </form>
    16. ';
    17. ?>
    Это страница смены тайтла сайта была :)
    Я же написал ещё что бы попробовали взломать всякими кавычками и вообще нашли дыры ;) Если код будут знать все, то сайт будет проще взломать, посмотрите на джумлу, вордпресс и т.д. :D

    P.S. В скором времени стили надо будет добавить все же к таблицам и убрать br :)
     
  19. d1gi

    d1gi Активный пользователь

    С нами с:
    24 май 2009
    Сообщения:
    326
    Симпатии:
    0
    да... жаль конечно... ничего интересного...

    могу дать вам совет, начните изучать фреймворки... если чувствуете что сил маловато, то йии, а если есть стойкость духа, то разумеется симфони2 ;)
     
  20. easy163

    easy163 Активный пользователь

    С нами с:
    5 авг 2012
    Сообщения:
    11
    Симпатии:
    0
    Зачем мне они? Просто изучать как устроены или просто дописывать код? Думаю самое главное что бы человек сам писал как считает нужным не переписывая чужой код, а то получиться что все cms как под копирку :)
     
  21. d1gi

    d1gi Активный пользователь

    С нами с:
    24 май 2009
    Сообщения:
    326
    Симпатии:
    0
    ага, всё понтяно :)