Giter VIP home page Giter VIP logo

getsimple-extended-cms's People

Contributors

ccagle8 avatar cnb avatar danielrocher avatar dimayakovlev avatar emanwebdev avatar n00dles avatar tablatronix avatar williamparks avatar

Stargazers

 avatar

Watchers

 avatar  avatar

getsimple-extended-cms's Issues

Check and resolve conflicts with output of encoded characters. Allow tags in title, description and menu fields

User input stored in pages XML files filtered by calling:

filter_var($string, FILTER_SANITIZE_FULL_SPECIAL_CHARS);
  1. On output there is the problem with double encode HTML symbols. To fix this needs to review security, template and theme functions. To preserve problems with output of not filtered or filtered differently strings call one of two:

    • <?php echo filter_var($string, FILTER_SANITIZE_FULL_SPECIAL_CHARS); ?>;
    • <?php echo htmlspecialchars($string, ENT_QUOTES, 'UTF-8', false); ?>;
  2. Since HTML symbols stored encoded and on save applied function xss_clean(), there are no problems with tags in title, description and menu. Encoded symbols '<' and '>' will not be treated as HTML tags and will not broke anything in page but will not limit user with writing content. Anyway on output tags can be removed with function strip_tags().

All those changes needs to be tested well.

Make Administrative panel adaptive

Administrative panel is usable on devices with screens width more than 960px + scrollbar + browser borders.

Have no plans yet to adapt Administrative panel for mobiles but want to make it wider on desktops.

GSCANONICAL conflict with error pages

Data for 403, 404 and 503 error pages are loading from special XML files stored in GSDATAOTHERPATH without redirecting to standard pages. Enabling GSCANONICAL causes redirection to 403, 404 and 503 pages.

Fixing child pages if parent page deleted

If a page has been deleted, children pages have a non-existent parent page. All of this children pages will not be shown in table of pages. This can be fixed by changing parent page for children pages on page deletion.

New actions on page cloning

New actions:

  • page-clone - executed if page data file copied successfully, after modifying cloned page object;
  • page-clone-success - executed if cloned page object saved successfully to cloned page data file;
  • page-clone-error - executed if error acquired while page cloning.

Don't call function cdn_fallback() from frontend

Remove call of the function cdn_fallback() from the function get_scripts_backend().

Not every theme use jQuery and jQuery UI.

Will be better if theme developer implement CDN fallback by itself or set own CDN URLs for jQuery and jQuery UI in $GS_script_assets and after that call cdn_fallback().

Store page URLs in cache

For each page in the file pages.xml there are fields url and slug. In these fields stored ids of pages. Better to use field url to store result of find_url() function.

Infinite redirect with GSCANONICAL

Get ERR_TOO_MANY_REDIRECTS running GetSimple Extended CMS on the PHP Development Server on the Microsoft Windows with GSCANONICAL setting enabled.

There is no issue with PHP Development Server on Linux. So problem in function find_url(), because dirname from pathinfo() contains backslashes on Microsoft Windows witch don't replaced.

$_SERVER['REQUEST_URI']: "/index.php?id=test-page"
find_url('test-page', false): "\/index.php?test-page"

Automatically execute Components on actions

Idea taken from Shawn's plugin sa hook components.

To enable execution Components on actions do:

  1. uncomment define('GSCOMPONENTACTION', true); in gsconfig.php file;
  2. create component named like action_action-name where action-name is the name of target action;
  3. enable component and save.

Per page Custom Permalink

If Fancy URLs option enable user can set custom permalink structure on page level to overwrite global website setting.

Data can be stored in page field permalink.

Nice to have more tokens for Custom Permalink Structure

New supported tokens can be:

  • %parents% - list all parents of the page;
  • %lang% - language of the page;
  • %year%, %month%, %day% - values from page creation date.

Adding more tokens needs performance optimization. So good to store pages urls in cache.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.