Yiiframework.co.il Code is now open sourced!

CMS Application

This is something I’ve been working on and still am constantly to make it better, This is a CMS system that allows you to control an entire multi-language website simply from within it’s built in Admin control panel.

Some of the features

  • Blogs – Full System (Includes categories, tags, posts, replies, multi-language, permission based and more)

  • Custom Pages – Full System (Includes categories, tags, posts, replies, multi-language, permission based and more)

  • Articles – Full System (Includes categories, tags, posts, replies, multi-language, permission based and more)

  • Tutorials – Full System (Includes categories, tags, posts, replies, multi-language, permission based and more)

  • Downloads System – Full System (Includes categories, tags, posts, replies, multi-language, permission based and more)

  • User Manager – Full user manager

  • Permission Manager – Hierarchy based permissions

  • Forum – Includes topics, replies, editor, topic subscription, topic & replies management and more.

  • Newsletter Manager – Allows you to send an email to all users subscribed

  • Contact Manager – Allows users to contact you through the website and it will email those to a certain email and add them to the admin control panel where you will be able to view and reply directly from the admin control panel.

  • Language Manager

  • Statistics

  • Dashboard

  • Full featured Control Panel with ability to restrict certain users to certain places in the ACP

  • Facebook integration – Ability to allow users to login and register from their facebook account

  • Social ready – You can share pretty much everything with Twitter and facebook share buttons

  • Signup & Login – Ability to signup for the site and login, includes forget password option that verifies the user through his email same thing applies for the signup process.

  • Settings Manager – You can change the sites settings right from the built in admin control panel, You can add settings at any time from the ACP and use them in the code as well.

  • User public profiles – Displays what content is user submitted, his info and role in the application.

  • SEO Ready – All links are SEO ready that includes the user profiles, articles, blogs, custom pages, downloads forum topics etc…

  • Feeds – Includes feeds to all content based on category/language

  • Ability to print or download PDF/Doc for all content available

  • And more features

It has no installer and you’ll need to configure it manually by importing the base.sql file and changing the db connection settings from the protected/config files.

This is published for learning purposes, And is released under the new GPL license.

This has one restriction, The CMS can be used for other websites, But you can’t user the theme that comes with this CMS as it’s a personal theme i bought from themeforest.net.

View a demo – http://yiiframework.co.il

Get it from google code

[color="#FF0000"][size="3"]Update[/size][/color]:

Having issues with the sessions/login/register/captcha?

Try this:

http://www.yiiframework.com/forum/index.php?/topic/17837-yiiframeworkcoil-code-is-now-open-sourced/page__view__findpost__p__99346

looks good… where to change the language?

Top right, you have 2 blue buttons, the right one is for english :)

Nice.

What parts rely on Zend Framework (I’ve seen that it is included in the extension dir)?

@ekerazha The site feeds, PDF, Text processing, Mail and search rely on Zend framework Zend_Feed, Zend_Pdf, Zend_Text, Zend_Mail and Zend_Search_Lucene respectively.

I have checked the code out from google repository into a local folder yiicms which is accessible on my http://localhost/yiicms. I followed the readme but I get this error when I try to access the site through my browser:

[font="Arial"][size="2"]


Fatal error: Call to a member function createCommand() on a non-object in /htdocs/yiicms/protected/components/CustomUrlManager.php on line 19

[/size][/font]

I have tried to set


CURRENT_ACTIVE_DOMAIN

to both


localhost

and


localhost/yiicms

– no luck.

Any help appreciated. Thanks.

UPDATE!

Okay, I figured it was a database config issue, and along, I found out, that the DEV part doesn’t work. So I am trying to run the PROD, which defaults to Hebrew, and when I try to change to English by clicking the top right language switcher the site jumps to http://en.yiiframework.co.il/index despite the fact that I have changed CURRENT_ACTIVE_DOMAIN in the index.php for both DEV and PROD.

I am not going to inspect any more code now, as this steals too much time and I think basic stuff like this should have been fixed before the code was released in public. Looking forward to an update from the issuer!

I released this so others can take a look at the code and do as they like, Not to sit down and support every issue every person runs into. By just looking at your issue i can say that this is caused by the redirects in .htaccess file, Which i did not remove when i uploaded it to the repo, Since the first issue was due to the fact you did not configure the required parameters in the config file as it stated in the readme, I can’t do anything about it.

I did not force you to use it, I gave you the option to. If you plan on complaining about it then i’d rather you not to use it at all. I gave this out for free with some modification required obviously for it to work.

Another thing i would say is to use a virtual host and use something like http://yiicms.com as the domain. Then configure the domain constant to ‘yiicms.com’ that will work better then ‘localhost’

Very nice!

I find a good site to study!

Really, really awesome, Vince! :)

Just one small tip:

Could you please swap the text of the buttons English / Hebrew, please?

It would make sense, wouldn’t it?

So that English users (who doesn’t read Hebrew) will know where to click. ;)

Makes sense yes, But those are also part of the translations, So when the hebrew site is viewed the text are translated to hebrew and since the application runs in hebrew by default it shows the texts in hebrew as well. I will do this at some point. At the mean time just use http://en.yiiframework.co.il and it will be english by default.

Thank you for taking your time to respond, and of course for releasing your code to the community. I did follow the readme file - in every detail - and did modify the config files. The problem is that the DEV didn’t work for me. However, as stated in my previous post, running the PROD was also unsuccessful. I do not expect you to fulfil a support role for every single question that might arise from various users, and I am not here to complain. All I hoped for was to see the system’s backend and eventually inspect some code to see how different issues were addressed. I will try to follow your advices on the virtual host and the .htaccess file; I will post my results.

I am aware that you have done a great job, and I have only respect for your work. Peace.

Thank you. I appreciate that.

Do let me know if that worked for you, That system was never intended to be released like this so i did customize it to my needs and i can’t remember everything i did so i will probably take some time to figure all the issues out but when i figure an issue i always add it to the readme or somewhere as a note for others to see.

Hi Vince and thanks for sharing your code.I have managed to get the site to work locally on my virtual host,after solving some problems,a few more remain.

  • First,importing the database,there were some empty string default values for integer typed columns,that raised MySQL errors,I replaced these with 0.
  • Then the facebookLibclass,it game me an error:Fatal error: Class ‘facebookLib’ not found in J:\vhosts\yii.gr\yii\protected\modules\site\controllers\IndexController.php on line 40 The line that caused the problem was :

Yii::import('ext.facebook.facebookLib');

.Correct me if I am wrong,but in order to import a class with import function,the first class letter should be capital both in filename and declaration inside the file.I got this working after replacing


Yii::import('ext.facebook.facebookLib');

with


include Yii::getPathOfAlias('ext.facebook').'\facebookLib.php';

.

  • Then I got "CDummyCache.directoryLevel" is not defined.No idea how to fix it,so I just commented out the cache in config.
  • I created a custom page in admin panel,(approved) but it does’nt show up anywhere,I tried the url but no luck.
  • Any 400 page not found error is accompanied with Notice: Undefined index: source in J:\vhosts\yii.gr\yii\protected\modules\site\views\error\error.php on line 32.
  • Last I had to set in main config file ‘subdomain_languages’ => false,to avoid the generation of links to non-existing languge subdomains,

Vince I hope you help us with these problems,I am looking forward to study the code in your site,there’s so much for me to learn from it. And for everybody,I think.Thanks in advance.

  1. Yeah, I didn’t check that DB file for a while that might happen. it’s easy to fix though and i see that you were able to do so.

  2. Yes, I checked locally both filename and class name appear as: ‘facebookLib’ and so does the version online. So i am not sure why this happens. Something with the autoloading.

  3. That’s a small typo, Just go to protected/config/main.php and remove the following:


, 'directoryLevel' => 2 

  1. Did you choose a language when you created it? When viewing the page make sure you visit the application in the same language the page you created is, And that you have access to it.

  2. In the following file: protected/modules/site/views/error/error.php you will find the following:


<?php if( count($error['source']) ): ?>

change it to:


<?php if( isset($error['source']) && count($error['source']) ): ?>

  1. Your right, I’ve updated the code as well.

I’ve updated the code to reflect the changes.

Hi Vincent,

Is there a special configurition to make functions::getAlias() work?

Is not working for me when i pass it Hebrew text.

Well, I think it will strip non UTF8 characters, so first make sure your working with UTF8, Then output what ever it returns to see if it’s an empty string or anything else.

Why don´t promote this CMS with a website?

The Features are quite huge and it has one big advantage… its Yii based ;-).

Greetings Jan

P.S. Just one question. Is WYSIWYG included?

Totally agree.This high quality code should be promoted to an official archetypal skeleton for a full featured CMS Yii application.

I am ‘stealing’ quite a few bits and integrating them into my own skeleton template.

This application can be customized-(if stripped of the parts that are too specialized for it’s purpose)-and serve as a full featured Yii application skeleton.Vince if you did that,I am sure you will be worshipped as a Yii god!