List of requirements and procedure for installation for Quick.Cart on your server.
For our scripts to work properly, your server should meet the following requirements:
- handle PHP scripts (PHP version 5.2.0 or higher - how to check the php version of my server).
- enabled mail() function, required for sending e-mail. If the e-mail sending is not working correctly or mail() function is to be disabled, then clear the "Administrator email" field in the settings.
Basic requirements for proper adding of photos:
- installed gd2 library (how to check GD library availability),
- uploaded photos shouldn't be larger than 2000px (longer side).
Uploading scripts on your server
Unpack the script's zip archive and follow one of the two options:
- Run the script on your computer using the XAMPP, WAMP or EasyPHP server. We recommend that you prepare and test the website this way.
Don't know how to create your own local server? Read the instruction on how to install a local server.
- Run the script on an external server. We recommend that you test the script and upload a finished website this way.
- in the program you use to execute the FTP connection, set the transfer mode to binary,
- change permissions (CHMOD) to 777 (or: rwxrwxrwx) for:
- "database" directory including all sub-directories and files in it,
- "files" directory and all sub-directories and files in it.
For better security use the 700 permissions for the above directories and subdirectories, and 600 for files, then check if the script is working correctly. If not, restore the permissions to previous settings. Read the instruction to change permissions.
If your server meets all of the above requirements and you have uploaded all the files:
- open your website to see the home page,
- add the admin.php phrase to your home page address (e.g. www.your-address.com/admin.php) to go to the administration login page,
- default administration panel login data are:
- login: admin
- password: admin
- After uploading the website, make sure to change the "admin.php" file name to something else, like: "8de4aa.php". When this change is done, the administration panel's address in your browser will be www.your-address.com/8de4aa.php. Don't share this address with anyone - it will make it much harder to hack your website.
- For versions v6.2 and higher, edit the "database/config/general.php" file, find the $config['admin_file'] variable, and replace its value "admin.php" with the new file name, which in this case is "8de4aa.php".
Read more in the "Security" section.
User's manual - first steps
Go to the user's manual we've prepared so you can learn step by step how to manage your website.
The "database/config/general.php" file contains some configuration variables, that are not accessible from the administration panel. It's a good idea to think about settings of those options before developing a website. It will influence functioning of the script, its efficiency etc.
The most important variables are:
- $config['allowed_ip_admin_panel'] - available since version v6.4 - contains IP address from which logging in to admin panel is allowed. To add this variable, edit the configuration file and paste the following code:
$config['allowed_ip_admin_panel'] = '126.96.36.199'; // 188.8.131.52 is the IP address, from which one can log in to admin panel.In paid editions more than one IP addresses can be defined
- define( 'DEVELOPER_MODE', true ); - available since version v6.5 - when this option is enabled, the script will display all possible errors in the PHP code and incorrect permissions for files. Once the website is published, disable this option by changing it to //define( 'DEVELOPER_MODE', true );
- $config['language_in_url'] - if you're planning on creating a multilingual website, then we recommend setting this variable to true.
- $config['products_full_description_to_file'] - if your shop will have lots of products (e.g. 1000 and more ), we recommend setting this variable to true. Full descriptions will be saved in files in the "database/products/" directory, what will accelerate the script significantly, but searching products by their full descriptions will be impossible.
- $config['pages_full_description_to_file'] - if your site will have lots of text (e.g. 200 and more pages and subpages), we recommend setting this variable to true. Full descriptions will be saved in files in the "database/pages/" directory, what will accelerate the script significantly, but searching pages by their full descriptions will be impossible.
- $config['images_sizes'] - set the seize of miniatures, that will be displayed in lists and page details as well as products. There are 3 default sizes of miniatures in the script: 100, 150 and 200 (in pixels (px)). When generating a miniature the script shrinks an image so that its wider side has the chosen length. So if a 100 miniature is chosen for a 800x600 picture, it will be shrunk to the size of 100x75.
- $config['products_default_image_size_list'] - set default miniature 1 size for products (by default displayed in lists)
- $config['products_default_image_size_details'] - set default miniature 2 size for products (by default displayed in details)
- $config['products_default_image_location'] - set default image location
- $config['pages_default_image_size_list'] - set default miniature 1 size for pages (by default displayed in lists)
- $config['pages_default_image_size_details'] - set default miniature 2 size for pages (by default displayed in details)
- $config['pages_default_image_location'] - set default image location
- $config['default_subpages_show'] - set default subpages display type
- $config['max_dimension_of_image'] – this table stores maximum width of additional image. If the image is larger than the value in this table, it is resized to fit this value.
- $config['time_diff'] - if there is a difference between local time and time on the server, you have to set it in minutes to compensate, for instance if the server is 1 hour late, than set this variable to "-60".
- $config['date_format_admin_default'], $config['date_format_admin_orders'], $config['date_format_customer_orders'] - available since v6.2 - define date display format depending on the variable's value. Name of the variable specifies locations where dates with format determined by the variable will be displayed. Date format can take the same values as the date() function parameters.
- $config['image_preview_size'] - size of the larger side of the picture preview in the product details. If you want to turn this option off, set this value to null
- $config['max_product_quantity'] - max number of items of a given product allowed per one order
- $config['order_details_from_customer'] - if the variable is set to true, then the sender of the e-mail with the order details sent to the administrator will be the client
- $config['dir_*'] - tables, which keys start with "dir_", store information about folders like databases or files. You can change the names before releasing your website to protect your site from hackers, for example.
- $config['style'] - this variable contains style name. If you want to develop your own style, change value of this variable.
- $config['page_link_in_navigation_path'] - available since version v6.3 - if a variable is set to false, name of the currently browsed page in the navigation path will not be a link
- $config['change_language_to_polish'] - available since version v6.3 - if the variable is set to true, and the browser's language is set to polish, and the language of the admin panel wasn't set by an admin, the language of the admin panel will be automatically changed to polish.
- $config['display_advanced_options'] - available since version v6.3 - if this variable is set to false, some of the advanced options in the admin panel will be hidden
- $config['display_thumbnail_2'] - available since version v6.3 - if this variable is set to false, thumbnail 2 size select field will be hidden
- $config['max_textarea_chars'] - available since version v6.3 - set maximal length of a textarea field
- $config['max_text_chars'] - available since version v6.3 - set maximal length of form fields
- $config['allowed_extensions'] - available since version v6.5 - a list of accepted file extensions, which the script will allow to be uploaded to a server. Be very careful when adding new extensions to the list.
Also remember to:
- remove languages you don't use.