Download the PHP package godsdev/mycms without Composer
On this page you can find all versions of the php package godsdev/mycms. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download godsdev/mycms
More information about godsdev/mycms
Files in godsdev/mycms
Informations about the package mycms
MyCMS
ABANDONED - use workofstan/mycms instead, where it is actively maintained.
Simple framework to help developing interactive websites. Works as a devstack which you install and then write your classes specific for the project.
Features
- jQuery and Bootstrap (version 4) used in the presentation
- Latte used as a templating engine
- MySQL/MariaDB used as the website database
- includes a general administration
- other dependent libraries and technologies - Tracy, Nette\SmartObject, Psr\Log\LoggerInterface, GodsDev\Backyard\BackyardMysqli
Installation
Require MyCMS in composer.json
.
The composer install
command will load the library's files into ./vendor/godsdev/mycms/
. The library's classes are in ./vendor/godsdev/mycms/classes/
and most of them are use prefix My
.
To customize the project, create your own classes as children inheriting MyCMS' classes in the ./classes/
directory and name them it without the initial My
in its name.
Files process.php
and admin-process.php
MUST exist and process forms.
Note: $MyCMS
name is expected by ProjectSpecific extends ProjectCommon
class (@todo replace global $MyCMS by parameter handling)
Deployment
/dist
Folder /dist
contains initial distribution files for a new project using MyCMS, therefore copy it to your new project folder.
Replace the string MYCMSPROJECTNAMESPACE
with your project namespace.
Replace the string MYCMSPROJECTSPECIFIC
with other website specific information (Brand, Twitter address, phone number...).
MyCMS is used only as a library, so the application using it SHOULD implement RedirectMatch 404 vendor\/
statement as proposed in dist/.htaccess
to keep the library hidden from web access.
Languages
Following settings are expected from the Application that uses MyCMS
Following files are expected to exist within the Application
- './language-' . $resultLanguage . '.inc.php';
where
$resultLanguage
is a (ISO 3166-2) two-letter language code. Language versions (or translations, resp.) are specified when instatiating the MyCMS object. For example:
Admin notes
clientSideResources
In class/Admin.php
you can redefine the clientSideResources
variable with resources to load to the admin. Its default is:
admin.css
may be inherited to a child project, however as vendor folder SHOULD have denied access from browser,
the content of that standard admin.css
MUST be available through method MyAdmin::getAdminCss.
Testing
Run from a command line:
Note that dist
folder contains the starting MyCMS based project deployment and testing runs through dist
as well,
so for development, the environment has to be set up for dist
as well.
TODO
- 190705: v classes\LogMysqli.php probíhá logování
'log/sql' . date("Y-m-d") . '.log.sql');
do aktuálního adresáře volajícího skriptu - což u API není výhodné. Jak vycházet z APP_ROOT? - 190723: pokud jsou v té samé doméně dvě různé instance MyCMS, tak přihlášením do jednoho admin.php jsem přihlášen do všech, i když ten uživatel tam ani neexistuje
- TO BE CHECKED 190723: nastavování hesla by se nemělo do log.sql ukládat - volat instanci BackyardMysqli namísto LogMysqli?? @crs2: Řešilo by to přidání parametru (do query() v LogMysqli.php), který by volání error_log() potlačil? A poté u změny hesla volání tohoto parametru? + Ještě mě napadá řešení na úrovni samotného sloupce tabulky, tj. definování (v LogMysqli.php), které sloupce které tabulky obsahují citlivé údaje pro logování. Ale to by vyžadovalo parsing SQL.
- 200314: administrace FriendlyURL je v F4T/classes/Admin::outputSpecialMenuLinks() a ::sectionUrls() .. zobecnit do MyCMS a zapnout pokud FRIENDLY_URL == true
All versions of mycms with dependencies
latte/latte Version ^2.4.6
tracy/tracy Version ^2.4.10
nette/utils Version ^2.4.8
texy/texy Version ^2.7.1
godsdev/tools Version ^0.3.4
godsdev/backyard Version ^3.2.1
ext-session Version *
ext-mbstring Version *