Перейти к содержимому

Фото
- - - - -

Прошу заценить начало)


  • Закрытая тема Тема закрыта
30 ответов в этой теме

#1 alx4ever

alx4ever

    Absolut

  • Пользователь
  • 232 сообщений
  • Откуда:Tallinn, Estonia

Отправлено 18 ноября 2010 - 19:53

Вот только несколько часов назад открыл сайт: http://cmssystem.net

он был уже, но сейчас он на новом движке и в новом облике. Буду постить туда много чего интересного, предлагаю программерам присоединиться, модераторы если.. сайт будет о том как делать WEB.

Ну вобщем, сам смогу справиться с материалом, а так жду ваших пожелании и замечании, ну и может быть заказов.
Благодарю за внимание и за недавнюю критику что привело меня к созданию этого нового :)

Сообщение изменено: alx4ever (18 ноября 2010 - 19:56 )

  • 0

https://ajaxel.com - Лучший CMS 


#2 Cerfy

Cerfy
  • Пользователь
  • 235 сообщений

Отправлено 18 ноября 2010 - 20:25

ошибок грамматических много (:

на англ всмысле

Сообщение изменено: Cerfy (18 ноября 2010 - 20:25 )

  • 1
Don't forget, kids...
The more posts you have, the bigger your penis is.

#3 nobody45

nobody45
  • Постоялец
  • 5 276 сообщений

Отправлено 18 ноября 2010 - 20:39

посмотрел портфолио, это ты сделал этот сраный секс-фэйсбук который на руторе вылетает постоянно, гореть синим пламенем :lol:
  • 1

#4 Хантер

Хантер
  • Пользователь
  • 116 сообщений
  • Откуда:Таллин

Отправлено 18 ноября 2010 - 21:18

чета там все не по русски не порядок :rolleyes: :rolleyes: :rolleyes:
  • 0

#5 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 18 ноября 2010 - 21:19

alx4ever, ребрендинг cmsdragon?
  • 0

#6 LeRoi

LeRoi
  • Постоялец
  • 1 386 сообщений

Отправлено 18 ноября 2010 - 21:36

.

PHP Error: WARNING
Invalid argument supplied for foreach() in /home/cmsdrago/public_html/cmssystem.net/inc/Session.php on line 0


Сообщение изменено: LeRoi (18 ноября 2010 - 21:35 )

  • 0
quattro

#7 alx4ever

alx4ever

    Absolut

  • Пользователь
  • 232 сообщений
  • Откуда:Tallinn, Estonia

Отправлено 18 ноября 2010 - 22:22

ошибок грамматических много (:

на англ всмысле


Это точно :) Я настолько сильно занят PHP и идеями что забыл английский... Помоги исправить плиз, буду очень благодарен и кое что сделаю для тебя ))

посмотрел портфолио, это ты сделал этот сраный секс-фэйсбук который на руторе вылетает постоянно, гореть синим пламенем


Да сделал его, а ты секрета незнаешь, делался он мной за 4-5 дней работы в офисе, а потом я уволился, дело дошло даже до полиции, у меня этот босс выкрал флешку с исходниками, и охранник меня вытолкнул. Они не заплатили мне достойно. Но менты ничего не сделали, пистония блин... В итоге этот сайт на их расторяжении, сделал я там всё кроме отправки писем друг другу. Ну и они ITM делали и делают бабки на CMСах.

чета там все не по русски не порядок

По русски позже мне с международным ещё не справится...

alx4ever, ребрендинг cmsdragon?


Точна)) скорее хочется сделать всё грамотно..

PHP Error: WARNING
Invalid argument supplied for foreach() in /home/cmsdrago/public_html/cmssystem.net/inc/Session.php on line 0


За это конечно спасибо, и это пипец, не могу понять как случилось, уже нашёл и исправил, всего 2 foreach-а в том классе.. А вот сессия пустая шла из базы... странно чёрт, спать не буду :(



Спасибо вам за внимание, пишите ещё) Жду помощи!

Сообщение изменено: alx4ever (18 ноября 2010 - 22:36 )

  • 0

https://ajaxel.com - Лучший CMS 


#8 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 18 ноября 2010 - 22:53

Посмотрел код... это писалось году эдак в 2005м? Сегодня совершенно иные стандарты.

За это конечно спасибо, и это пипец, не могу понять как случилось, уже нашёл и исправил, всего 2 foreach-а в том классе.. А вот сессия пустая шла из базы... странно чёрт, спать не буду

Я сегодня убил час на тикет с ошибкой. Дело дошло даже до анализа подробнейших логов POST запросов, была восстановлена вся цепочка приведшая к ошибке и оказалось что человек просто 2 раза засабмитил форму, что и вызвало ошибку. Как-то умудрился её засабмитить с разницей в пол часа. Видимо браузер не загрузил страницу, хотя запрос успел пройти и чел нажал ф5.
  • 0

#9 alx4ever

alx4ever

    Absolut

  • Пользователь
  • 232 сообщений
  • Откуда:Tallinn, Estonia

Отправлено 18 ноября 2010 - 23:03

хмхмхмхмх

сразу мысль в голову, в вот MyISAM играет роль в последовательности запросов...? InnoDB позволяет приостанавливать чёта, но я только за MyISAM..

Другая мысль, как можно засабмиттить форму в промежутке в пол часа, обычно ведть такое бывает когда:

<button type="submit" onclick="submit()">Наеби запрос</button> тогда да, при нажатии на эту хрень будет 2 сабмита, у меня была с этим проблема.. Уже забыл что было, но был какойто конфликт.

Сообщение изменено: alx4ever (18 ноября 2010 - 23:04 )

  • 0

https://ajaxel.com - Лучший CMS 


#10 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 18 ноября 2010 - 23:06

хмхмхмхмх

сразу мысль в голову, в вот MyISAM играет роль в последовательности запросов...? InnoDB позволяет приостанавливать чёта, но я только за MyISAM..

Другая мысль, как можно засабмиттить форму в промежутке в пол часа, обычно ведть такое бывает когда:

<button type="submit" onclick="submit()"> тогда да, при нажатии на эту хрень будет 2 сабмита, у меня была с этим проблема.. Уже забыл что было, но был какойто конфликт.

В нормальных языках программирования типа Java, когда приложение висит всегда в памяти делают для каждой формы уникальный form_id который предотвращает повторные сабмиты и всяческие анти-хаки. На PHP тоже можно, только лучше хранить в key-value бд эти хеши. И не надо никакой javascript мудрить.

MyIsam нужен только тем, кто знает что им точно не подходит InnoDb, в остальных случаях InnoDb нужен всем остальным. Вообще не представляю как можно жить без транзакций и внешних ключей.
  • 0

#11 alx4ever

alx4ever

    Absolut

  • Пользователь
  • 232 сообщений
  • Откуда:Tallinn, Estonia

Отправлено 18 ноября 2010 - 23:22

Народу не нравится когда их грузят. Давай не будем коптить тут о кодинге, ведь это наша скромная задача.

А остальным желающим приобрести сайт для построения успешного бизнеса, прошу! Приветствую, а также помощи по контенту для своего сайта. Ведь за этим я сюда обратился....

Сообщение изменено: alx4ever (18 ноября 2010 - 23:58 )

  • 0

https://ajaxel.com - Лучший CMS 


#12 alx4ever

alx4ever

    Absolut

  • Пользователь
  • 232 сообщений
  • Откуда:Tallinn, Estonia

Отправлено 19 ноября 2010 - 19:22

Хм, на самом деле это рубрика программирование а не услуги)) Обратился чтоб заценили и сказали что думают.. Интересно выслушать.
пасиба!
  • 0

https://ajaxel.com - Лучший CMS 


#13 Mr. Positive

Mr. Positive
  • Постоялец
  • 850 сообщений

Отправлено 19 ноября 2010 - 21:33

Я думаю вообще, что все CMS это большое зло, ибо любое средство, которое решает общую задачу решает хуже задачу для частного случая.
  • 0
Former IAPB 8X.
Bachelor of Eternity

#14 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 19 ноября 2010 - 22:50

alx4ever, ты хочешь чтобы тебя похвалили, чтобы тобой восхищаюсь? Я честно восхищаюсь твоим упорством, давно бы мог направить энергию в правильное русло.
  • 0

#15 alx4ever

alx4ever

    Absolut

  • Пользователь
  • 232 сообщений
  • Откуда:Tallinn, Estonia

Отправлено 19 ноября 2010 - 23:05

Setor, спасибо огромное за совет, не Я НЕЗНАЮ что ещё делать, энергию, куда? Вот нашёл своё, и занимаюсь, и за такой комплимент отдельное пасибо)

positive мистер, смени свой ник :)

Сообщение изменено: alx4ever (19 ноября 2010 - 23:05 )

  • 0

https://ajaxel.com - Лучший CMS 


#16 PyPL

PyPL
  • Пользователь
  • 54 сообщений

Отправлено 20 ноября 2010 - 00:23

Mr. Positive, +1 CMS = ЗЛО. Берём framework с наработаной codebase и делаем нужный проект.
Против ТС ничего не имею :)

Сообщение изменено: PyPL (20 ноября 2010 - 00:24 )

  • 0

#17 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 20 ноября 2010 - 00:39

Берём framework с наработаной codebase и делаем нужный проект

Желательно что-то популярное, например, Zend Framework. Написать для него модуль "CMS" и дело в шляпе. Отлично подходит.
  • 0

#18 alx4ever

alx4ever

    Absolut

  • Пользователь
  • 232 сообщений
  • Откуда:Tallinn, Estonia

Отправлено 20 ноября 2010 - 12:42

Setor, вот ты можешь взять framework а другим тоже самое посоветуешь? Врятли все знакомы с PHP.
Между прочим, мной разработанный CMS похож на framework и плюс с админкой где для каждого сайта можно создавать и устанавливать свои нужные модули. А также всю админку можно сделать по своему вкусу не говоря о сайте.
Дело не в написании чего то а в использовании, быстроте. удобстве..

Сообщение изменено: alx4ever (20 ноября 2010 - 12:42 )

  • 0

https://ajaxel.com - Лучший CMS 


#19 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 20 ноября 2010 - 14:08

alx4ever, я говорю о технологиях. Если бы ты взял Zend Framework за основу, Smarty для шаблонов (в твоём случае у тебя смарти уже есть), возможно Doctrine для БД (моя любимая связка:)) и написал бы на этом свои модули, я бы заранее знал почти всю твою систему, даже не заглянув в код. Но т.к. ты всё пишешь сам, используешь код, который был написан для PHP4 (я лично видел у тебя присваивание объектов по ссылке). Чтобы хоть что-то там поменять или добавить нужно изучить то что ты написал, мало кто за это возьмётся.

Нужно использовать стандартные технологии, чем больше ты юзаешь стандартного, тем лучше. Я могу быть спокоен за компоненты зенда, я не буду бояться что у тебя к примеру может оказаться не гибкий класс кеширования, который поддерживает только файлы, а я хочу подключить memory db, или какой-то свой неудобный синтаксис шаблонов, когда я хорошо знаю смарти либо всё построено на запросах типа select * from news insert into news... вместо Doctrine_Core::getTable( 'News' )->find( 1 )->setTitle( 'new title' )->save(); или $news = new News(); $news->title = 'new title'; $news->save();

продолжать можно бесконечно.

если ты создаёшь тему в разделе "программирование", то оценки будут программерские, а не юзерские. Я уверен что ты написал все вспомогательные классы фреймворка сам потратив на это кучу времени, когда можно было взять всё готовое с хорошей документацией и большими возможностями.

Надеюсь понятно изложил свою точку зрения. Проделана большая работа, но часть её проделана впустую. Будь ближе к стандартам и люди к тебе потянутся ;)

Сообщение изменено: Setor (20 ноября 2010 - 14:12 )

  • 0

#20 alx4ever

alx4ever

    Absolut

  • Пользователь
  • 232 сообщений
  • Откуда:Tallinn, Estonia

Отправлено 20 ноября 2010 - 20:09

ты так расписал тут как будто уже знаешь мою систему и мой стиль программирования ))
НЕТ, всё не так!)

Чтобы взять, у меня обычно запросом: DB::getAll('SELECT * FROM news');
Чтобы сохранить (не так как у всех, лучше):
<input type="text" name="data[title]" />
$data = $_POST['data'];
или:
$data = array(
	'title'	=> $this->data['title'],
	'body'	=> Parser::fixBody($this->data['body']),
	...
);
DB::insert('news',$data);

Есть также DB::update(), DB::delete(), DB::replace(), много интересных функции. Мудрёного ничего нет, всё сделано максимально просто и удобно.
Также глобального ничего нет. У меня Index()->call('Menu')->get($menuid); или Factory::call('rss')->set($params)->get();
Zend не хочу, слишком много лишнего и пустая нагрузка. В моей системе всё чётко, классы я писал по существу. Кода вообще мало, в ядре 50 файлов общим весом 809 кб, и никакие zend-ы не нужны.
И какой PHP4?? У меня всё объектно ориентированное. Сайт открывал? Видел как всё быстро работает? :P
Можешь посмотреть JavaScript и поймёшь мой стиль..

Идея такая:
Размещенное изображение
Размещенное изображение
Размещенное изображение

Врядли zend сделает такое

Сообщение изменено: alx4ever (20 ноября 2010 - 20:18 )

  • 0

https://ajaxel.com - Лучший CMS 


#21 PyPL

PyPL
  • Пользователь
  • 54 сообщений

Отправлено 20 ноября 2010 - 21:20

Твоя ЦМСка смахивает по стилю на Concrete5, где драг-н-дропом нужно всё редактировать :) С виду ничего так.
Кстати объектно ориентированность была и в PHP 4 (в зачаточном виде).

Для бд я смотрю у тебя чтото похожее на ActiveRecord паттерн, но ORM эффективней :)
В любом случае молоток, но стандарты нужно соблюдать (так на будущее).

Врядли zend сделает такое - ой ой ой... не надо так говорить. Особенно в присутствии Setor'a :D

З.Ы Я вообще не при теме, пишу под .NET :P

Сообщение изменено: PyPL (20 ноября 2010 - 21:22 )

  • 0

#22 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 20 ноября 2010 - 21:45

alx4ever, я пишу только то что видел лично. А видел я и передачи объектов по ссылке (зачем? видимо осталось от 4ки) и кучу plain SQL'а с повсеместным использованием $_GET и доморощенным экранированием.

И чтобы не быть голословным, открываю первый попавшийся класс mod/page/Page.php
	public function __construct($data = array(), $site) { <<<<<<<<<<<-------- а тут неплохо бы передать тип Site $site ?
		$this->order = 'id';
		$this->by = 'DESC';
		$this->where = '';
		$this->offset = 0;
		$this->limit = 20;
		foreach ($data as $k => $v) {
			$this->$k = $v;
		}
		$this->site =& $site; <<<<<<<<<<---------------- зачем?
		$this->url = $this->site->getURL();
		$this->table = 'pages';
		$this->url = getURL(array('activate_'.$this->table,'deactivate_'.$this->table,'delete_'.$this->table),true);
		if ($this->site->isUser('admin')) $this->actions();
	}
	
	private function actions() {
		if ($_GET['activate_'.$this->table]) {
			dbExecute('UPDATE '.$this->table.' SET active=\'1\' WHERE id='.(int)$_GET['activate_'.$this->table].(!$this->site->isUser('admin')?' AND userid='.(int)$_SESSION['UseriD']:''));  <<<<<<<<<<<<<<------------ куча SQL'а
		}
		elseif ($_GET['deactivate_'.$this->table]) {
			dbExecute('UPDATE '.$this->table.' SET active=\'0\' WHERE id='.(int)$_GET['deactivate_'.$this->table].(!$this->site->isUser('admin')?' AND userid='.(int)$_SESSION['UseriD']:''));
		}
		elseif ($_GET['delete_'.$this->table]) {
			dbExecute('DELETE FROM '.$this->table.' WHERE id='.(int)$_GET['delete_'.$this->table].(!$this->site->isUser('admin')?' AND userid='.(int)$_SESSION['UseriD']:''));
		}
	}

а так же куча html кода для админских ф-ций.

Да, в целом всё очень компактно, для обычной CMS и даже странно что оно работает.

PyPL,

Для бд я смотрю у тебя чтото похожее на ActiveRecord паттерн, но ORM эффективней

Поверь, там даже AR не пахнет. AR умеет Zend Framework, а ближе всего к ORM именно Doctrine :)

alx4ever,

И какой PHP4?? У меня всё объектно ориентированное. Сайт открывал? Видел как всё быстро работает?

Поверь, это не ООП. У тебя объекты - это контейнеры для функций. Сайт может быстро работать и с мегабайтами кода (для этого есть оптимизаторы и кеширование), железо нынче дешевле рабочей силы.

Я был бы рад услышать ещё объективных мнений по поводу кода :)

Да, если запустить твой CMS думаю вывалится добрая сотня Notice'в и Strict...

if ($_GET['activate_'.$this->table]) {

Сообщение изменено: Setor (20 ноября 2010 - 21:46 )

  • 0

#23 alx4ever

alx4ever

    Absolut

  • Пользователь
  • 232 сообщений
  • Откуда:Tallinn, Estonia

Отправлено 20 ноября 2010 - 22:50

Ухх)) Почитал, очень порадовало))

Setor, Simple CMS делался мной... (28 Apr 2009) полтора года назад за 3 дня. [http://dominicanwatc...ican_news/p-22] Тогда я естессна незнал про такие вещи, незнал даже про Site::getInstance(), сейчас я гипер. А вы кстате грузите, что за AR и ORM? - Впервые слышу такие страшные названия.

<<<<<<<<<<<-------- а тут неплохо бы передать тип Site $site ?
Зачем? Там настолько простая структура что ненужно.. лучше сразу Interface, или не сразу :D..

Notic-ы в новом цмсе не выпадут вообще, стоит E_ALL :) $_GET заменён на get($key, $_key, $default) и $default если поставить [[:CACHE:]] то сам знаешь что будет.. и тд.. много чего есть интересного..

доморощенным экранированием. - это ты имеешь ввиду ' и \', ну если ты всё ещё пищешь с " то незнаешь важного, то что всё что между "" парсится на нахождение переменных, типа echo "Hello $name"; Вот...

пожже чё нить ещё добавлю..

Сообщение изменено: alx4ever (20 ноября 2010 - 22:56 )

  • 0

https://ajaxel.com - Лучший CMS 


#24 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 20 ноября 2010 - 23:12

А вы кстате грузите, что за AR и ORM? - Впервые слышу такие страшные названия.

Значит дальнейшее обсуждение будет бессмысленно.

тут неплохо бы передать тип Site $site ?
Зачем? Там настолько простая структура что ненужно.. лучше сразу Interface, или не сразу

Как так зачем??? Так нужно, это good practice. Ты наверное в notepad пишешь код и хотя бы тот же автокомплит видимо тебе не нужен. А тот, кто откроет твой код даже разбираться там не станет без наличия объектной типизации.

_GET заменён на get($key, $_key, $default)

Грандиозно! А объект Http_Request есть?

Насчёт доморощенным - мне показалось что там addslashes а не твоя ф-ция escape. Но в любом случае для экранирования сегодня применяются другие методы, например placeholder'ы с указанием типа либо ORM которая сама знает нужный тип.

Новый CMS в студию, коль о нём зашла речь :)

ну если ты всё ещё пищешь с " то незнаешь важного, то что всё что между "" парсится на нахождение переменных, типа echo "Hello $name"; Вот...

Вот спасибо, я уже больше 10 лет пишу на PHP и как-то не знал... Бывает поделишься какой-то сложной проблемой с новичком, а он как отмочит, так отмочит... такую лажу ляпнет (а-ля вода мокрая, а я-то и не знал...), будто общается с таким же нубом, как и он сам, да ещё с такой интонацией: а ты что не знал??? :lol:
  • 0

#25 shb

shb

    New life, much more options

  • Постоялец
  • 5 253 сообщений
  • Откуда:Таллинн

Отправлено 21 ноября 2010 - 01:38

PHPшники меряются писькаме!! Пока Setor лидирует! :lol:
  • 1
Мыслящий человек просто обязан время от времени поднимать себя за волосы © Тот самый Мюнгхаузен

Joga Bonito!

#26 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 21 ноября 2010 - 01:54

PHPшники меряются писькаме!! Пока Setor лидирует! :lol:

У меня в запасе ещё много умных слов :)
  • 0

#27 shb

shb

    New life, much more options

  • Постоялец
  • 5 253 сообщений
  • Откуда:Таллинн

Отправлено 21 ноября 2010 - 02:13

Тему надо было назвать "Прошу заценить конец" :lol: :lol: :lol: Лучше бы к основному треду подходила )))))
  • 0
Мыслящий человек просто обязан время от времени поднимать себя за волосы © Тот самый Мюнгхаузен

Joga Bonito!

#28 Isamashii Tora

Isamashii Tora

    Странствующий

  • Постоялец
  • 1 840 сообщений
  • Откуда:Asylum

Отправлено 21 ноября 2010 - 15:56

А мне, как новичку, интересно. Пролетают хорошие названия фреймворков, очевидные ошибки, есть чему поучиться :)
Просто конструктивную критику, автору топика, стоит воспринимать.
  • 0
"Миры рождаются и умирают, память о людях с которыми их прошел - остается" © Тристар

#29 Alexano

Alexano
  • Пользователь
  • 109 сообщений

Отправлено 23 ноября 2010 - 11:08

конечно такие конструкции с использованием $_GET портят всю картину, ООП это не назвать и до active record тут тоже далеко.
В качестве самообучения автор проделал довольно большую работу за что отдельный респект...

нужно уметь отличать функциональное программирование от ООП
  • 0

#30 tot_ra

tot_ra
  • Пользователь
  • 28 сообщений
  • Откуда:Tallinn

Отправлено 10 декабря 2010 - 10:50

Привет Александр,

В названии продукта повторяется два раза system, даже незнаю стоит ли верить :) И учитывая названные смены названий с Драконов и упоминающийся в движка вообще "Simple CMS".. то видно что движок молодой
У движка не может быть Портфолио в принципе. Использование на популярных сайтах - да.
Каша в init.php $badURLisset - плохо. Какойто код про картинки.. жесть
Языки не в БД - плохо.
Левые модули.. ну кому по умолчанию нужен Realestate модуль.
Не видно MVC, мешанина php и html (Menu.php например). Smarty - гуд, но лесенки в коде нету.
FCKEditor и TinyMCE одновременно? Странно, но пускай.
Каша в файловой структуре - названиях файлов и папок и их местоположении. dw папка с шаблонами - в честь другого движка?
БД - фигово что всё без классов, адаптеров и наследования - обычные функции, плохо. Нет поддержки mysqli - плохо. Нет поддержек остальных БД - плохо. :)

Из хорошего
GZIP - хорошо, но надо чтобы он был отключаем.
По всей видимости выносимая из www папка inc - гуд.
Какая-то модульность
Есть какие-то клиенты которые это получили

Структуру БД тоже бы неплохо глянуть. В общем не впечатлило.
  • 0
☦ php разработчик