xlink / cybershadecms Goto Github PK
View Code? Open in Web Editor NEW[Abandoned][Broke] Repo for CybershadeCMS
[Abandoned][Broke] Repo for CybershadeCMS
The menu system would benefit from being able to use the routes, aswell as raw URLs, this makes sense now we have the routes in place, and that we can generate urls from said routes too. Only real upgrade i think is to allow for arguments, so maybe a new column with that primarily null.
Should probably also add a function to the Page class to gain access to a menu for output.
Thoughts?
A fresh repo does not install under WAMP Server. I also do not see a directory marked install.
We need a way to generate a URL that will work for a specific route. Ideally a method that will accept some parameters and match & generate the URL string & return it.
My idea behind this was that we have a function (standalone or static) to output custom debug data to the Debug Panels
I thought of a function like this:
Debug::log('tabName/number', $var);
Then it could "echo dump()" the data into the specified panel.
Think it will be better to strip the BBCode system out of the CMS, have it setup as a library, with supporting files so its still usable within the system, If needed/required.
Markdown will replace the BBCode setup as the default parser across the CMS, it's syntax is easier on the users, and its got a light footprint.
Im thinking we need a Permission Class, if nothing else it should implement functionality to apply permissions based on the page. Something like the forum should be able to take the permissions & implement them to its needs, but something as simple as an article module should be able to make use of a default permission system.
View = Can see the content on the site
Read = Can read the content
Post = Gives posting abilities, for the most part this will probably be down to the comments sys
Reply = Gives replying abilities
Edit = Editorial Access to the content
Del = Removing Abilties
Move = Moving the content, new alias on the system, to a new parent page etc
Special = Any special access, probably used for
Mod = Moderator Abilities
Finish the Session Class to a complete working state.
Minified files are corrupted (or something) on my local here, running OSX 10.7.5, MAMP 2.0.5, PHP 5.3.6.
You've seen the errors
Create the iPhone app which allows a user to administer their site from the ease of their handset.
Will integrate the RESTful API and the HTTP class
Fix doArgs to work with empty values such as null.
When attempting to use more than one argument in a plugin hook, PHP errors, detailing that it can't pass an anonymous array in by reference (it's not assigned to a var) and thus it errors.
The plugin system needs to take updates from the recently added reflection functions to work again.
A class needs setting up for the Emails & such. It might very well be an idea to use a 3rd party system here, due to the complexities an email can sometimes have.
In the ACP I beleive we should be giving the administrator the ability to choose what sets of charaters he wants to allow in the CMS..
The panel could look something like this following ASCII Rendering;
[ ] Upper & Lower case English alphabet ( [a-zA-Z] )
[ ] Digits ( [0-9] )
[ ] "Simple Special Characters" ( [!@#$%^&()<>?:"|{}+_/`] etc )
[ ] "Extended Special Characters" - this will be the foreign language set
The idea here, is to be able to tick what you want to allow, the functionality should take this into account when testing a username being valid, and any escaping should be done to make sure no vulnerabilities either client or server side.
Thoughts?
Used to integrate with the iPhone app
Similar to http://laravel.com/docs/database/eloquent, we should allow eloquent-like ORM ability to Cysha in order to accommodate for more ease of transition for developers using ORM previously, or porting code from other ORM-based systems.
I'm not allowed to call this taxonomy now xD <3!
We need a way of categorizing data/content within the CMS to allow users to easily search, administer, add content to those categories.
Not sure whether it should be a core class or an optional module.
Any ideas?
Do we want to be able to restrict use of the plugins / modules based on permissions, or should we just leave it down to the permissions set on the page itself?
Create the iPhone app which allows a user to administer their site from the ease of their handset.
Will integrate the RESTful API and the HTTP class
Is this project still active?
I think we should be able to set the themes up slightly better so designers can package multiple versions of themes together, usually different color schemes. We should find away to incorporate this into the CMS as a whole.
Should allow the system to keep information about activities that occur on the site, this information should include:
I am proposing a call home function, the main purpose of this will be to log any errors in a single install of CSCMS to a local & remote database. The call home function should be toggleable upon install, and in the main Admin panel.
The idea being, that it gives the developers of the CMS a head start when errors start popping up after a new release or when a specific vulnerability has been caught. It gives us the ability to replicate the error in as much detail as needed & keep an eye on the errors as a whole. Single hit errors would more than likely be bots or malicious software pinging site urls trying to provoke a request, as such it shouldnt be till the errors gained significant popularity on the database that we would look into it.
Thoughts?
We should look into moving the BBCodes into a database table.
The comments class needs porting over, this may be better as a module rather than a base class.
Would be nice to get it upgraded to have nested comments for replies & should use a permissions system too
A Helper Core Class needs creating to handle uploads. Basic functionality should include being able to upload to a specific directory, being able to throw a set of restrictions on the upload,
eg :
At the moment the routes will call to a method regardless of its state, this needs to be fixed for the following circumstances:
** should account for a __call() method in there, as that will take over if the method isn't available
Build a HTTP class which integrates RESTful Services which is going to be used by the iPhone app I'm going to create which will allow an admin to administer their site(s) from their phone app.
That way the user has complete control over their site, with ease, from their handset.
Routes should be created for the HTTP Error codes, mostly so we have something to redirect to or exec the route for on errors etc.
Suggested Route TPL: core_http404
core_http403
etc
There should be a method of implementing different configurations for different environments, but be able to have them all present, so you can just push something up and it works without needing to gitignore config files and have them present only on the specific environment.
Needs functionality to test for the following:
Functionality needs completing.
Class has had the shell layed out & some functionality adding, but needs adding to & testing.
use ./usertest.php in the root to test the class after you've implemented the functionality
We should add an option that specifies whether the cache is allowed to actually write itself to a file. This should be toggled on a per cache basis.
The idea being, during development, it may be required to clear the cache every few mins, disabling the cache in the first place allows the new cache functionality to take effect.
We need a addTableColumn function in the querybuilder so we can create table columns on the fly function so module creation can be done dynamically.
I propose we add a new method of object instantiation, rather than having multiple methods to instantiate the object required, we have 1 method which does it. Ie:
public function getObject(){
$arguments = func_get_args();
if( is_empty( $arguments ) ){
return false;
}
$class = array_shift($arguments);
if(!isset( coreObj::$_classes[$class] )){
$class::getInstance($class, $arguments);
}
return coreObj::$_classes[$class];
}
That was just a quick mock up, but you get the point.
The reason I propose this is to clean up the coreObj class, as atm its a mess.
Need an easy, configurable way to turn on caching and which parts of the system to cache.
Especially when it comes to developing with CS.
Another thing is when you want to be able to delete the cache without having access to the filesystem. So we need a way of deleting the cache/cache_*.php files from the admin panel.
Need to port the cron over from the old system, keep the 3 timers going - daily weekly & monthly
Thought about it & don't really want to slow down the CMS with custom cron timers so i think we should stick to those.
Each block should allow for URL filtering, enabling and/or disabling the block on specific routes.
Any ideas how we should do this?
Need to make a config area for all config vars in the database (cscms_config)
Two I've recently added are:
login -> 'user_registration_email'
'login' -> 'forgot_password_email'
Need to create routes & methods for the Registration & the forgot password setups. Should be fairly simple for anyone with knowledge of the CMS to do this.
Fix the Query Builder to escape the correct values.
Currently, when using the query builder's where
and on
functions are given 3 arguments, the first is used as a field reference, the second as a comparison operator, and the third as a value. The last value is sanitized and the query is built.
If the query builder's where and on functions are given 1 argument, the spaces are exploded and it does the same as the above.
What should happen is if 3 arguments are given, the last is sanitized and the query is built. If only one is given, the query builder should understand the developer is using a field to field comparison, or is using safe values, and therefore shouldn't sanitize the values.
So I was speaking to Linky about this one earlier.
We need to split up the caches to be in separate cache files and which one gets read from depends on which module is being used.
The core routes (etc) should be kept in the default file, for example, cache/cache_routes.php where the custom modules one should be kept in cache_{MODULE_NAME}_routes.php (or something similar)
With 50,000 routes in the system (which is not OTT), the CMS takes 120MB of memory per user, jsut to include the cache files.
My suggestion is, as I said, split up which caches gets loaded by splitting up the files.
We need a createTable function in the querybuilder so we can create tables on the fly function so module creation can be done dynamically.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.