Наскоро започнах разработването на много потребители на услуги WAP-см, т.е. CMS насочени към създаването на сайтове за мобилни устройства, но не изисква собственикът на познания в програмирането. Сортиране на решение с изваждането от кутията, като UCOZ само под WAP.
Естествено колебливо реши да разгледа готови решения, които търсят нещо различно от добре познатите двигатели лайна WAP-мотор, johnCMS, DCMS. Попаднах на проект за интересни и млади MobileCMS. Разбира се, след като тя беше интересно да гледам кода, още повече, че описанията са обещаващи: кода на базата на PLO HMVC, уеб администратор интерфейс, възможност за приспособяване, монтаж и управление на модули от административната област, с отворен код.
Аз трябва да кажа, че по време на това писание, учих MobileCMS v1.5.
Е Е, ние се опитваме да се облича / Localhost / и веднага виждате грешката: ". Сървърът не е настроен ionCube Loader, контакт техническа поддръжка за вашия хостинг доставчик, за да инсталирате модула"
Ние като инсталацията завърши, няма проблем. Ние се опитваме да отворите сайта и да виждате грешката:
грешка на сайта: файловата Q: Начало \ Localhost \ \ WWW \ MobileCMS \ библиотеки \ template.php изисква ioncube_loader_win_5.2.dll на ionCube PHP Loader да бъдат инсталирани от оператора на уеб сайт. Ако сте оператор на сайта моля използвайте Loader съветника за ionCube да помогне с инсталацията.
Толкова много, че е мястото, където tak..tak означава, необходими ionCube, файл "библиотеки / template.php" кодиран. След прочитане на информацията от сайта на разработчика разкри, че системата е платил лиценз (99wmr :))), която може автоматично да премахне MobileCMS авторските права на всички страници на сайта. И прочитане на информацията от закупуването на лиценз се казва: "От известно време авторските права се прибира автоматично.". Така че системата автоматично ще премахне авторските права е регистрирано в двигателя, или дори по-лошо, може да има скриптове черно-степенно разработчик, с които тя може да премахнете отдалечено авторските права (не само защото така кодирана template.php файл).
Счупете всички източници, и не намери нищо в тях, която е свързана с лиценза, както и разглеждане на кодовите шаблони footer.tpl не са намерили в тях кода, където ще може да вземе линията "Предоставено от MobileCMS", но това е все още там.
Нещо, което изкълчен моята история, отидете направо на въпроса. За да стартирате CMS трябваше да продължава да го сложите на сървър, където има ionCube и да видим какво ще се случи след старта.
1. Обърнете внимание на външния вид на 2 файла в папката / кеш / file_cache /, то
/ Кеш / file_cache / б / b81755a649ad357a44526821a64432a0
и
/ Кеш / file_cache / F / f7c69042a56ced3e29af3ce2a911d68a
Вторият файл това е просто една поредица масив с кеша на главната страница шаблон. И това е повече от един файл е много интересно. Виж, че има
Най-attentive've вероятно вече забелязали, че тук има стойност [лицензиран] => 0, и да, аз трябва да кажа, ако смените "0" до "1" на авторските права да изчезне, но не винаги, защото след известно време (10800 секунди = 3 часа), за да се възстановят отново файла и авторски права обратно на мястото си. Нека се опитаме да решим този проблем.
Метод # 2
Всичко точно същото, както в метод # 1, но вместо да определя коригират можем да променим времето за промяна на файл. Възможно е да се направи PHP-функции са сензорни () по този начин. По този начин, ние сме пускането на промяната в далечното бъдеще, казват те файла Последна промяна в 2099. Защо? Аз казах, че файлът ще бъде възстановен на всеки 3 часа? Така 03:00, този път в кеш файл на живот и ще бъде разгледано клас източник кеширане, можем да видим, че кеша се почиства на базата на прави времето на промяна на данни (време модификация) поставяне, че в бъдеще, ние ще направим файл вечно жив в кеш паметта.
върне FALSE;
>
?>
И между другото, макар template.php файл се кодира, можем да научим името на ключа, за които лицензия се кешира, тази линия "license_data", т.е. md5 ( "license_data") = b81755a649ad357a44526821a64432a0, така че можем да сложим на водача, с изключение на това, а не с MD5 низ.
функция синтактична ($ файла. $ PARAMS = масив ())
ако (! strstr ($ името на файла. ".tpl"))
$ Име = '.tpl ".;
>
foreach ($ PARAMS като $ Var => $ var_value)
$ Това -> Vars [$ Var] = $ var_value;
>
ако (strpos ($ това -> тема, "администратор") === 0)
$ Alternative_theme = 'администратор';
>
още
$ Alternative_theme = 'по подразбиране';
>
ако (file_exists .... (основното "модули /" ROUTE_MODULE "/ възгледи /" $ това - ..> тема "/" $ име))
$ Това -> template_file = корен. "Модули /. ROUTE_MODULE. "/ Прегледи /. $ Това -> тема. '/'. $ Име на файл;
>
още
ако (file_exists (ROOT. "модули /. ROUTE_MODULE. / възгледи / '. $ alternative_theme.' / '. $ име))
$ Това -> template_file = корен. "Модули /. ROUTE_MODULE. "/ Прегледи /. $ Alternative_theme. '/'. $ Име на файл;
>
още
ако (file_exists .. (основното "/ възгледи /" $ това - ..> тема "/" $ име))
$ Това -> template_file = корен. "/ Прегледи /. $ Това -> тема. '/'. $ Име на файл;
>
още
изход ( 'File ". $ Име на файл. " Това не е шаблон, или не може да бъде намерен. " );
>
>
>
извличане ($ това -> Vars, EXTR_REFS);
ob_start ();
включва $ това -> template_file;
$ PAGE_CONTENT = $ това -> add_code (ob_get_clean ());
върне $ PAGE_CONTENT;
>
функция дисплей ($ файла. $ PARAMS = масив ())
ехо $ това -> синтактичния анализ ($ името на файла $ Поколения назад.);
>
функция възлага ($ param1. $ param2 = NULL)
ако ((! $ param2 И is_array ($ param1)))
foreach ($ param1 като $ ключова стойност => $)
$ Това -> Vars [ключ $] = $ стойност;
>
ако ($ param2)
$ Това -> Vars [$ param1] = $ param2;
върне TRUE;
>
функция add_code ($ буфер)
ако (($ това! -> code_added И strpos ($ това! -> тема, "администратор") == 0))
ако (! class_exists ( "File_Cache"))
a_import ( "библиотеки / file_cache ');
>
$ License_data = масив ( "лицензиран" => 0. "шаблон '=>' '.' License_place '=>'