Ajaxel.com - охота выслушать программистов!
#1
Отправлено 23 июня 2011 - 16:22
Что думаете? Что посоветуете?
Буду очень признателен за комментарии опытных программистов.
ссылка: http://ajaxel.com
https://ajaxel.com - Лучший CMS
#2
Отправлено 23 июня 2011 - 16:57
Unknown column 'sent' in 'field list'
Invalid SQL query:
SELECT SQL_CALC_FOUND_ROWS email, name, .group., added, sent, cnt FROM emails WHERE TRUE ORDER BY .group., email LIMIT 0,20
http://demo.cmssyste...ail/tab-db/load (ajax)
login
demo
Debug Backtrace:
7) /data01/virt28632/domeenid/www.cmssystem.net/demo/inc/AdminEmail.php on line 0
DB::qry();
6) /data01/virt28632/domeenid/www.cmssystem.net/demo/inc/AdminEmail.php on line 0
AdminEmail_db::listing();
5) /data01/virt28632/domeenid/www.cmssystem.net/demo/inc/Admin.php on line 0
AdminEmail::listing();
4) /data01/virt28632/domeenid/www.cmssystem.net/demo/inc/Admin.php on line 0
AdminObject::content();
3) /data01/virt28632/domeenid/www.cmssystem.net/demo/inc/Index.php on line 0
Admin::Index();
2) /data01/virt28632/domeenid/www.cmssystem.net/demo/inc/Site.php on line 0
Index::display();
1) /data01/virt28632/domeenid/www.cmssystem.net/demo/index.php on line 11
Site::init();
Такого нельзя допускать в демках
Сообщение изменено: Warvick (23 июня 2011 - 16:59 )
#3
Отправлено 23 июня 2011 - 20:47
alter table emails add cnt int(3) unsigned;
alter table emails add sent int(10) unsigned;
исправил... спасибо)
https://ajaxel.com - Лучший CMS
#4
Отправлено 23 июня 2011 - 21:36
что скажете? что думаете? Как бы вы поступили на моём месте? Посоветуйте! Делал цмс 4-5 лет и хочу вроде как стать знаменитым чтоле...
Мой цмс круче всех известных, джомла, друпалы и другие сегодня я думаю никакие вообще. Свой проект я делал на совесть.. безупречно так сказать. Чтобы на самом деле было просто и удобно юзать.
Хочу знать как мне поступить чтобы взлететь))) Пожалуйста пишите! Я весь во внимании..
Спасибо заранее..
Сообщение изменено: alx4ever (23 июня 2011 - 21:37 )
https://ajaxel.com - Лучший CMS
#5
Отправлено 23 июня 2011 - 22:02
Joga Bonito!
#7
Отправлено 23 июня 2011 - 22:37
раскодировать - буду лохом сразу же.. индусы загребут себе...
я думал о бесплатной лизенции чтоли.. чтож буду раздавать..
Скиф, ну и пользуйся своей джумлой.. неважно сколько человек работало, важно только то как всё это сделано.
https://ajaxel.com - Лучший CMS
#8
Отправлено 23 июня 2011 - 22:40
важно только то как всё это сделано.
Так я и говорю, то над чем ты 4 года один работал и сейчас выпустил они в версии 1.0 выпускали и забыли про это старьё скорее всего уже.
Как можно оценить движок не изучив его код?
Может ты там джумлу 1.0 или мамбу закодировал и теперь продаёшь
Сообщение изменено: Cкиф (23 июня 2011 - 22:43 )
#9
Отправлено 23 июня 2011 - 23:28
джумла?
нет, это уникальный проект. скачай да и посмотри код
я работал над ним долго и упорно! Куча всяких крутых фичей, я сам как автор всё придумал!
без обмана.
построен исключительно на высоких технологиях, грамотнее некуда!
OOP везде, быстро лётает, это супер вещь для сайтов, и возможно будущее за ним.. вот только найду инвесторов для рекламы.
Сообщение изменено: alx4ever (23 июня 2011 - 23:30 )
https://ajaxel.com - Лучший CMS
#10
Отправлено 25 июня 2011 - 00:38
mod/Allow.php
Как могут ужиться публичный конструктор и синглтон паттерн в одном классе?
Да, ты сейчас сделал костыль такой, что сохраняешь инстанс сессии в конструкторе в поле сессион. Синглтон и публичный конструктор - это две вещи не совместные на мой взгляд. И ты со временем обязательно в это дерьмо наступишь, если будешь поддерживать свой проект и развивать. Так что не без изъянов, не без изъянов ;)
Bachelor of Eternity
#11
Отправлено 25 июня 2011 - 02:40
По идее то всё работает.. Запись удобная, без глобальных.. или segmentation fault случится может?
https://ajaxel.com - Лучший CMS
#12
Отправлено 25 июня 2011 - 15:59
Что такое синглтон? Зачем он применяется?понятно.. объясни мне как же сделать лучше?
По идее то всё работает.. Запись удобная, без глобальных.. или segmentation fault случится может?
Как ответишь на оба вопроса, так и поймешь о чем человек пишет и что надо делать.
Но нет, Segmentation fault не случится
P.S. Не знаю что там за начинка, но в целом выглядит как неплохая CMS.. для 2000-2003-го года. Проблема в том что на дворе 2011 и последняя версия пхп 5.3.6, а не 4.1.
P.P.S. кодирование проектов - зло из того же времени. Пользуешься тем что клиенты не понимают, какую свинью им подкладываешь.
Сообщение изменено: Inori (25 июня 2011 - 16:37 )
#13
Отправлено 25 июня 2011 - 18:43
построен исключительно на высоких технологиях, грамотнее некуда!
OOP везде, быстро лётает, это супер вещь для сайтов, и возможно будущее за ним.. вот только найду инвесторов для рекламы.
Нда... однако самооценка у вас, молодой человек, не хромает.
Я бы не стал так говорить, потому что 4-5 лет писалась это уже != "...это супер вещь для сайтов, и возможно будущее за ним.."
Я рекомендую перевести текущую CMS на какой-нибудь фреймворк (ну тупо переписать , внешнюю сторону не менять, чтоб клиенты не пугались), чтоб не отстовать. Желательно также проапдейтить всем клиентам уже поставленную версию потом.
Например Symfony 2, Yii или что-нибудь такое, это достаточно быстро получиться я думаю.
Тогда поддержка у продукта будет не только от "автора" но и от комьюнити выбраного фреймворка (на уровне ядра хотябы).
Дерзай.
Сообщение изменено: PyPL (25 июня 2011 - 18:44 )
#14
Отправлено 25 июня 2011 - 19:07
Тогда уже и можно будет говорить о том, что оно работает. А пока что оно "вроде как" работает ;)
П.С. Не стоит воспринимать мою критику слишком сильно, но меня просто напросто умиляют выражения вида:
построен исключительно на высоких технологиях, грамотнее некуда!
OOP везде, быстро лётает, это супер вещь для сайтов, и возможно будущее за ним.. вот только найду инвесторов для рекламы.
Я сам какое-то время назад таким же был, ну или почти таким же, хорошо что мне вовремя мозги прочистили.
Я бы наверное сделал следующее:
Выложить его как Опен Соурс проект, если у народа появится интерес, то заодно и коммьюнити обрастет да и денег на этом поднять можно будет, заодно и модули начнут писать и баг репорты на халяву.
П.П.С. Я еще не видел что бы в развитие CMS вкладывали сегодня деньги.
Bachelor of Eternity
#15
Отправлено 25 июня 2011 - 23:30
что касается ваших синглтонов: http://brainstorm.name/archives/35 незнаю честно о чём вы.. я почитал, и сделал я вроде всё правильно.
проект совсем не выглядет на 2000-2003, и никакой не php4 он даже работать не будет с такой версией.
next+next - неосилил.. сорри)
Mr. Positive заметил это:
final class Allow { private static $_instance = false; private $Session; public static function getInstance() { if (!self::$_instance) { self::$_instance = new self; } return self::$_instance; } public function __construct() { $this->Session =& Session::getInstance(); } //... }
где ошибка?
PS.
Я понимаю, вы хотите чтобы я открыл код.. но делать этого никогда не стану, никогда и никогда... если интересно могу лично показать что там таится, этот проект всё что у меня есть, и если код будет открыт и попадёт в чужие руки, то конец всему.
И вопрос, зачем вам код, зачем на популярном фреймворке? Факт в том что ЦМС мой предназначен чисто для пользования, для сайтов, и он работает! И я продолжаю ежедневно его дополнять.. вот форум надо будет, опросник, генератор форм и тд..
https://ajaxel.com - Лучший CMS
#16
Отправлено 25 июня 2011 - 23:44
Ну на мой взгляд не совсем логично реализовывать объект с паттерном Синглтон и делать публичный конструктор. Нафиг он тебе нужен? Смысл синглтона в том чтобы всегда иметь максимум один экземпляр объекта. В данном контексте создав объект через конструктор N раз ты получишь N разных объектов, который висят в памяти. И соответственно N полей Session которые по сути ссылаются всегда на один и тот же объект в памяти, вместо того что бы иметь один объект. Т.е. в твоем случае я бы сделал приватным конструтор и будет тебе радость ;)
P.S. ну не открывай свой код. Мне побоку открытый он или закрытый, я все равно на РНР уже ничего не пишу ;)Кто угодно и так может твой код взять и скачать и использовать если ему захочется и чихать он будет на лицензию ;)
Bachelor of Eternity
#17
Отправлено 25 июня 2011 - 23:55
ну что можно сказать... если ты считаешь что твоя CMS самая оху***ая, то зачем тогда здесь вообще спрашивать?
Клепай дальше сайты клиентам и всё. Я не понимаю просто сути топика...
"Звездой" веб-девелоперского мира ты не станешь, потому что у твоего продукта закрытый код (открывать не планируется). Как по твоему люди это оценят?
Твоя CMS'ка ориентированна на конечных пользователей, т.е она может стать мега популярной только среди них, НО она НЕ станет таковой, потому что опять же ----> есть куча бесплатных альтернатив <----, смысл им пыжиться? Темболее на бесплатный продукт можно всегда найти специалиста.. а не заказывать всё у одного человека.
С технической части тебе тоже ничего не посоветовать, потому что КОД ЗАКРЫТ.
Вообщем разговор пустой получается.
Работай дальше и всё.
Удачи.
#18
Отправлено 25 июня 2011 - 23:59
final class Allow { private static $_instance = false; private $Session; public static function getInstance() { if (!self::$_instance) { self::$_instance = new self; } return self::$_instance; } private function __construct() { $this->Session =& Session::getInstance(); }
проверил, работает.. Но я всё равно не догоняю.. в чём разница.
опять PS)
на лиценцию чихать не будут, ну будет траял на 30 дней, будут нотисы, конечно всё можно будет убрать как нибудь, но будет очень трудно с этим.. Я не только хорошо сделал проект но и защитил себя тоже...)
Кстате если кто хочет себе лицензию то спрашивайте.. подарю!
хм... проверю ещё раз и память тоже...
PyPL, там не всё закрыто... можно понять суть..
мне просто интересно как по вашему пониманию выглядет админка там.. сайт.. фичи.. интересно мне может что нить убрать или добавить. В этом суть!
https://ajaxel.com - Лучший CMS
#19
Отправлено 26 июня 2011 - 00:03
да, так. Смысл в том, что с одной стороны ты пытался реализовать паттерн, а с другой стороны ты делал не правильным его. Добавишь ты когда-нибудь туда поле допустим какое-то, где можно будет задать состояние. И будут у тебя два разных объекта, созданных. Поменяешь ты в одном объекте значение поля. В другом объекте ничего не поменяется. И все, каранчун тебе, Цирютелли. Дебагер в зубы и вперед. Так что лучше упреждать себя.
Bachelor of Eternity
#20
Отправлено 26 июня 2011 - 00:07
но нужен public в других местах, иначе ощибка где класс екстендится другим классом..
спасибо, буду знать..
https://ajaxel.com - Лучший CMS
#21
Отправлено 26 июня 2011 - 00:21
чем меньше видимости тем лучше.
P.S. Как ты класс экстендить собрался если он у тебя final?
И езе один ньюанс.
Т.е. ты утверждаешь, что
$a = new Allow();
$b = new Allow();
$c = Allow::getInstance();
будут ссылаться на один и тот же учстов в памяти, т.е. попросты это тот же самый объект?
Сообщение изменено: Mr. Positive (26 июня 2011 - 00:20 )
Bachelor of Eternity
#22
Отправлено 26 июня 2011 - 08:50
Mr. Positive заметил это:
final class Allow { private static $_instance = false; private $Session; public static function getInstance() { if (!self::$_instance) { self::$_instance = new self; } return self::$_instance; } public function __construct() { $this->Session =& Session::getInstance(); } //... }
где ошибка?
Сама концепция сингелтонов подразумевает что твой класс-силгентон должен охранять единичность объекта-себя (иногда не себя) во всем проекте. Спрячь конструктор
final class Allow { //.... private function __construct() { $this->Session =& Session::getInstance(); } //... }
если private не проканает в PHP (я на PHP не пишу...) ... тогда protected ...
Верю в смерть после жизни, любовь после секса и в крем после бритья ...
#24
Отправлено 26 июня 2011 - 09:10
То моё скромное мнение такое ... пока есть рынок/спрос ... можно толкать/продавать и развивать ...
Их же еще не постиг злой рок забвения, как в своё время постиг BBS (если Вы конечно такое застали) ...
Опять-таки у таких монописаных проектов есть свои плюсы и минусы ...
из плюсов то что никто не будет копаться в коде и тем самым находить там уязвимости ...
да и объемы установленных CMS сущностей данной конструкции неизмеримо малы с масштабами таких как Joomla или Django ...
Но это же и есть самый большой минус ... кто-то найдет уязвимость ... не сейчас ... а потом ...
причем такую, что придется переписывать половину кода, да и навряд ли автор об этом узнает из exploit листа....
Верю в смерть после жизни, любовь после секса и в крем после бритья ...
#25
Отправлено 26 июня 2011 - 11:53
Мне нафик не сдался код твоего проекта, своих хватает. А вот клиентам будет весело узнать через 3-4 года, что их сайт надо будет переделывать с 0.как хотите так и думайте.. свинья это или нет.. вам решать. Мне незачем делать свиней.. так что поверьте, проект сделан на совесть...
Попадался уже на такие проекты "умников" на предыдущей работе. Сначала тратили неделю на то чтобы втолковать клиенту почему его сайт нельзя допилить, потом неделю успокаивали и отговаривали от судебных исков.
Приведи хоть 1 пример где ты используешь возможности 5.3?проект совсем не выглядет на 2000-2003, и никакой не php4 он даже работать не будет с такой версией.
#26
Отправлено 26 июня 2011 - 12:38
Особо в код не вникал, но пара вопросов есть.
1. Почему половина шаблонов в смарти, половина в пхп?
2. Про mvc, я так понимаю, вы не слышали?
3. Где логика? В th.php вы используете <?, а в шаблонах, где его было логичней использовать, у вас полная форма <?php
4.
define ('FTP_DIR_ROOT', str_replace('\\','/',dirname(__FILE__)).'/');вы пробелы наугад расставляете? Что за стиль кода такой?
5. Судя по
public function json() { if (Session()->login_try) { $this->toDialog(Session()->getMsg()); } else { switch (url(0)) { case 'login': $this->toDialog(Session()->getMsg()); break; case 'register': $this->toDialog(Factory::call('user')->doRegister()); break; case 'lostpass': $this->toDialog(Factory::call('user')->doLostPass()); break; case 'city': $this->json_ret = Data::cities($_REQUEST['country']); break; case 'User': $this->json_ret = Factory::call('user')->getJSON(); break; case 'Forum': $this->json_ret = Factory::call('forum')->getJSON(); break; case 'comment': $this->json_ret = $this->Comment(); break; case 'comment_page': $this->json_ret = $this->CommentPage(); break; } } $this->end(); }Добавлять новые модули будет не особо приятно.
6. Если вы используете свой класс, для работы с БД, зачем делать
elseif ($id = DB::one('SELECT id FROM '.DB_PREFIX.'users WHERE login LIKE '.escape(url(1)))) {А если где-нибудь забудете сделать эскейп? Вообще в чем смысл такой оболочки? Человек, который будет что-то дописывать после вас вряд ли будет помнить такие тонкости.
7.
$_SESSION['Captcha_name'] = ($_GET['name']?$_GET['name']:'captcha');По идее выдаст ворнинг, если $_GET['name'] не существует. Для чего там скобки?
#29
Отправлено 28 июня 2011 - 22:18
хочешь узнать мнение то создай тему на php клубе...там сразу получишь объективную оценку и сразу будет ясно стоит ли CMS разрабатывать далее или нет.
пожалуй так я и сделаю поскольку на этом форуме да и в Эстонии осталось мало хороших людей (уехали все наверное)..
А какие PHP клубы ты посоветуешь?
А то что стоит ли дальше разрабатывать цмс или нет - ответ по любому буду, деваться некуда.. раз начал то закончу.. может не лям но на жизнь хватит...
по поводу N объектов - да я понял только минут десять спустя после того как выключил комп.. может и ошибка может и нет.. на самом деле это не была ошибкой если говорить об этой записи, но ошибка в классе Allow, так как значения при вызове нового объекта обнулять не требовалось, а если требуется создать новый объект не являющийся синглтоном? то увы, вы ошиблись.. синглтон - для разового пользования, а public function __construct() для множества.. Мне не нужно было вызывать new Allow(); кроме как Allow::getInstance(везде); который и вызывает __construct() публичный или нет, ->Session тоже может быть разной в зависимости от зависимостей..
th.php - это тупо для уменшения картинок (не моё), хочешь вставь туда <?php, если запретил для чего не понятно short_tags
На смарти шаблоны для паблика, на php админка.. всё логично.
Инкуб, спасибо, выслушал.. но уязвимостей пока нет, а если будут то исправим и патч повесим, всех проинформировав посредством RSS канала а админке..
CMS Ajaxel - лучше тем что не придётся много времени убивать чтобы вставить или отредактировать контент, быстрая с окнами и контексным меню.. также много встроеных фичей и краткое меню в админке чтобы не искать.. всё под рукой..
Так как же вы мне сможете помочь то? Прибегаете все с только к проблемам которых нет..
https://ajaxel.com - Лучший CMS
#30
Отправлено 28 июня 2011 - 22:34
Если столько времени уже потрачено без результата (пару локальных сайтов в продакшене это не результат), то может стоит задуматься?
Что значит деваться некуда? За 5 лет не закончить проект, ну это просто не имеет смысла продолжать.А то что стоит ли дальше разрабатывать цмс или нет - ответ по любому буду, деваться некуда.. раз начал то закончу..
Хватит засорять интернет всякими велосипедами уже.Потом PHP так и остаётся в глазах других - сообществом "говнокодеров".
Вообщем это моё ИМХО.Ты же хотел выслушать мнение других.
Удачи.