FAQ

Please read the faq to get answers to 99% of your questions

Common questions

What technologies does the script use?
The script was developed on Laravel 10 php framework. For the front-end we use: Bootstrap 5 and MDB Bootstrap. For the back-end: Laravel-Admin package.
Is the script open source?
Yes it is. All php code is open and you can modify it.
Does the script use ZEND or ionCube encryption?
No it doesn't.
Does the script use any remote license verification method?
No it doesn't.
How long my license on script will be valid?
The script has a lifetime license.
During what time you provide free script updates?
We provide free script upgrades for lifetime.
Can I install license on script I bought on a few sites I owe?
You need to buy license for each of your sites separately. But, buying the script you can buy 5 or 10 licenses at ones and get a substantial discount.
Could i integrate my own theme?
Yes it is possible. All themes are separated from the programming code. Laravel uses *.blade.php templates.
Could you help us to integrate a new theme? What price?
Yes we could help you for an additional fee. The price depends on a design mockup.
May i remove all copyrights and have unbranded version?
Yes you may remove all our copyrights for free.
Can I use the Laravel photo store script to upload other files, not just photo, audio, vector, video?
You can upload ANY file formats - for example, Word, Excel files, PDF, etc. The script allows to organize files easily and upload your file archive into Internet. All the information you are uploading is secured.
Can a user get access media content without any registration and payments just indicating link to certain file into the browser?
No, he/she cannot. All files for sales are stored outside a site document root directory.
What payment methods are integrated in the photo store script?
The payment methods are available now: Paypal, Stripe, Yoomoney and Cheque Money order. We can also reintegrate other payment gateways from our old script by your request.
Could you integrate a new payment gateway?
Yes, we could integrate a new gateway for free. The most of available methods were added after our clients requests.
Could i disable Credits and have all prices in Dollars?
Yes, sure. You could disable Credits in the Admin panel -> Settings - >Site settings.


Installation

What hosting should we choose to install the script?
You need:
  • Linux hosting (shared, vps or dedicated);
  • Apache or Nginx Web Server;
  • PHP 8.0.2 or higher;
  • MySQL database (or other database supported by Laravel).
Can you install script for us?
Yes, upon your desire we can install script for FREE.
I want to install the script into the root directory of my domain: www.mydomain.com What should i do?
You have to edit the file /.env like that:
APP_URL=https://www.mydomain.com
DB_HOST=127.0.0.1
DB_CONNECTION=mysql
DB_PORT=
DB_DATABASE=[your database name]
DB_USERNAME=[database user]
DB_PASSWORD=[database password]
Then you have to open the link in your browser:
www.mydomain.com/install/

If the installation page doesn't load or opens with errors you should check writable permissions for the folders:
/path_to_site/storage/framework/cache
/path_to_site/storage/framework/sessions
/path_to_site/storage/framework/testing
/path_to_site/storage/framework/views
What is a site root directory?
/public/ is a site root directory. So if you have a dedicated server you can point your domain to /public/ folder directly.
/public/index.php is a single file that handles all site's processes.
I want to install the script into the folder of my domain: www.mydomain.com/subfolder/ What should i do?
It is possible. But we advise you to install the script on a domain or subdomain. You could create a temp subdomain for testing or development purposes.
I would like to install the script at the subdomain: store.mydomain.com What should i do?
See the instruction how to install on a domain. The process is the same.
What is a writable permission?
This is a permission which allows you to upload files on the server using the script. Usually you should set 777 to make a folder writable. But sometimes the server security settings require other permissions for uploading. For example well-known cPanel hosting manager supports uploading files into a directory with only 755 rights and moreover if you set 777 permissions for the folder it can be banned by server security policy. So we advise you set 777 permissions only when the instructions on yourdomain.com/install/ require that.
I've uploaded all files but the URL https://mydomain.com/install/ doesn't open. What should i do?
First please make should the two files exist into the site directory:
  • /.htaccess
  • /public/.htaccess
If they exist, there can be 2 reasons:
  • Your server is NGINX. So .htaccess files are ignored (they are for Apache) Here is the instructions how to install Laravel on NGINX
  • Your server is Apache. Apache can neglect the mod_rewrite instructions in .htaccess files. You have to ask your hosting support to add the string "AllowOverride All" in httpd.conf Apache configuration file and restart a server.
I don't see /install/ folder into the script's archive.
All script's URLs are virtual. They don't exist really.
I want to install the script at a local server for testing. Is it possible?
Yes sure. You have to set your local server URL in /.env file.
I don't see any images after the installation and i cannot upload any media files in the admin panel. What is wrong?
All media files are stored into the directories:
/storage/app/public/ - for previews
/storage/app/private/ - for paid files

They are stored outside a site root directory and they cannot be accessed on the internet by default. The installation script creates 'storage' link into /public/ directory with a redirection to /storage/app/public/ folder. So when you open the link: www.yourdomain.com/storage/test.jpg, the file is taken from /storage/app/public/test.jpg really.

Sometimes servers prohibite to create 'links' for security reasons (rarely) and you need to do that yourselves.

Method 1 :
  • Go to Hosting panel -> File manager (cPanel doesn't support link creation in File manager)
  • Open the directory /path_to_site/public/
  • Create a link 'storage' with path: /path_to_site/storage/app/public/
Method 2:
  • Run the command in terminal/cmd/shh:
    ln -s /path_to_site/storage/app/public /path_to_site/public/storage
Method 3:
  • Run the command in terminal/cmd/shh:
    cd /path_to_site/
  • Then the command:
    php artisan storage:link
Method 4:
I would like to change a hosting. How can i migrate my site?
  • You should download all files from the old server and upload them on the new server.
  • Create a mysql dump (backup) in the phpmyadmin on the old server.
  • Create a new database on the new server and import the dump.
  • Modify the file /.env with the new server/database details.
If you have any problems you should contact us
When i run www.domain.com/install/ i get a blank page.
There is a php error. You have to look at the php error logs for the details (or enable php error reporting in php.ini: display_errors = On) and contact us. There can be several reasons.
Should i use SSL?
You must always use SSL. Now this is approximately obligatory for all sites. You have to edit the file /.env and add https:// to your domain:
APP_URL=https://www.mydomain.com
Is it possible to install the script on nginx server?
Yes it is. Instructions
Is it possible to install the script on IIS server?
It is possible theoretically. But we don't advise you to do this. IIS has an analog of Apache rewrite_mod but it is paid. Moreover there can be other unexpected problems.
How could i set a mail function on my site?
You have to edit /.env file and set the parameters:
MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=youremail@gmail.com
MAIL_PASSWORD=password
MAIL_ENCRYPTION=ssl
MAIL_FROM_ADDRESS=youremail@gmail.com
I set all correct email credentials but i don't receive any messages from my site.
You have to ask your hosting support to open SMTP port for your host. Sometimes is blocked by default to prevent spaming.
I forgot my admin panel access. What should i do?
You should contact us. We will restore it quickly.


Uploading media files

How should i configure my server to upload media files?
You shoud check and increase the next php.ini settings:
  • upload_max_filesize and post_max_filesize - This is a maximum filesize that you may upload on a server.
  • memory_limit - It is max RAM memory of your server that the script may use. It is a critical limit for the photo stock sites. When you upload a photo the script generates/resizes 2 previews. It requires many RAM memory especially for the high-resolution photos. It must be minimum 128M for 2000-3000px images.
  • max_execution_time - The script may work only for the time and then a server terminates the process. If you upload large files you should increase the setting. Usually this is 30 seconds by default. So Dropzone uploader works only for the time. Is it possible to upload 10-20Mb file for 30 seconds? Sometimes yes but it is better to change the limit for the stable work.
How could i change php.ini setting on the hosting?
You should ask your hosting support. There can be several methods: global php.ini modification, creation of a local php.ini, .htaccess instructions or php code. It depends on the server's settings.

If you use hostmonster/bluehost cpanel for example you have to go to 'PHP configs' section, select 'Single php.ini file', install local php.ini file, rename the file 'php.ini.default' to 'php.ini' by ftp and edit limits. It is important to set 'Single php.ini file' otherwise local php.ini will affect only a root directory - not nested folders.
When I try to upload a photo i get the error: Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 7804 bytes)...
You should increase 'memory_limit' in php.ini file. The script creates 2 photo's previews and it requires many RAM memory especially when you upload a high-resolution image.
When I try to upload 5Mb file I receive a error message. The small files are being uploaded fine. Why does it happen?
Probably it is a PHP setting restriction. By default in php.ini file upload_max_filesize = 2M.
I logged in as photographer and try to upload a photo. I see the max upload limit = 5M but 'upload_max_filesize' = 100M in php.ini. What is wrong?
You should change the photographer's limit here:
Admin panel -> Settings -> Seller categories and limits
What files types does the script support?
The script supports all file formats. You can have 4 types of the publication:
  • Photo publication consists of:
    - 2 photo's previews
    - a list of files for sale. Format: *.jpg, *.jpeg, *.png, *.gif, *.eps, *.zip.
  • Video publication consists of:
    - one *.jpg photo preview
    - one *.mp4 video preview
    - a list of files for sale. Any format.
  • Audio publication consists of:
    - one *.jpg photo preview
    - one *.mp3 audio preview
    - a list of files for sale. Any format.
  • Vector publication consists of:
    - one *.jpg photo preview
    - a list of files for sale. Any format.
You can disable unnecessary publication's types here:
Admin panel -> Catalog -> Media types
Could i add a new publication type except photo, video, audio and vector?
Yes you could. Here: Admin panel -> Catalog -> Media types
Could i upload *.png or *.tif file as photo publication?
Yes it is possible. You are able to upload *.jpg, *.jpeg, *.gif, *.png, *.raw, *.tif, *.tiff, *.eps files in photo's publications. Also the script can resize *.jpg, *.jpeg, *.gif (not animated) and *.png automatically. It keeps a transparent background for *.gif and *.png.
What stock file's licenses does the script support?
The script supports Royalty-free and Rights-Managed licenses.
What should i configure in the admin panel before file's uploading.
You have to set minimum one license here (Common, Extended, etc):
Admin panel -> Settings -> Royalty-Free Licenses

and minimum one file type/price here:
Admin panel -> Settings -> Royalty-Free Prices -> Photo/Video/Audio/Vector
Can I sell a photo of the original size?
Yes you can. Admin panel -> Settings -> Royalty-Free Prices -> Photo. You should set 'size' field as '0'.
Can a small photo size be for free downloading?
Yes it can. Admin panel -> Settings -> Royalty-Free Prices -> Photo. You should set a price = 0.
Can i set a watermark for a photo size?
Yes you can. Admin panel -> Settings -> Royalty-Free Prices -> Photo. There is a 'watermark' checkbox.
I would like to sell *.avi video file but i don't see the field in the upload form. Where could i add it?
You should go to Admin panel -> Settings -> Royalty-free Prices -> Video and add the video format. The Laravel store script supports ANY file type.
Could i sell *.zip archive of *.mp3 files?
Why not. You should go to Admin panel -> Settings -> Prices -> Audio and add *.zip file type.
Where could i upload my files?
You have several variants:
  • Admin panel -> Catalog (one by one)
  • Admin panel -> Catalog -> Bulk upload (preupload files on ftp)
  • Photographer's member area -> My upload
What uploaders does the script support?
There are 2 types of the uploaders:
Is it possible to bulk upload many photos?
Yes sure. There are 3 ways:
  • Admin panel -> Catalog -> Bulk Upload -> FTP photo uploader. You should preupload all photos by a ftp client first.
  • Admin panel -> Catalog -> Bulk Upload -> CSV photo uploader
  • Photographer's member area -> My upload -> Upload photo
I try to upload a photo in the admin panel but get a blank page.
Probably php EXIF library isn't installed on your server. You should add the php module or contact us. We will send you modified files where the library code is commented. Exif allows to define google coordinates from IPTC data automatically.
Does the script generate previews and resized copies for a photo's publication or i should prepare them myself?
The script creates previews and copies automatically. When you upload a photo, 2 previews are generated. When someone buys a photo size, the script creates a resized copy (the copy is removed after downloading).
What php libraries does the script use for the photo's preview's generation?
The script can use 2 libraries: php GD or Imagemagick. php GD is a standard. This is installed on all servers. Imagemagick is more powerful tool for images editing but unfortunately it is usually unavailable on the shared hostings.

You can select what library to use in the config file: /config/image.php
What library is better? php GD or Imagemagick?
Definitely Imagemagick is better. That allows to reach the best preview's quality and saves original colors. But it consumes many server's resources. So you can use it only on vps or dedicated servers.
Does the Laravel store script create previews for video publications automatically?
Yes it does. But it is possible only if you install FFMPEG library on your server. You can set the option here: Admin panel -> Settings -> FFMPEG
Could i upload video files without ffmpeg?
Surely. Yes you could. In this case you need to upload *.jpg and *.mp4 video previews separately. You can create the files using some offline software. The method is preferable when video files are large and they can overload a server.
I try to upload *.mp4 video preview but a player doesn't show it?
*.mp4 must be generated by H.264 codec. For example if it is created by mpeg codec it doesn't work (in a browser).
I have ffmpeg. Is the script able to generate *.avi video file from *.mov file for sale?
No it isn't. The script creates only video previews.
FFMPEG is installed on the server but the previews aren't created. What is wrong?
You should contact us. We will check the ffmpeg settings. There can be several reasons: wrong ffmpeg path, incorrect configuration, absence of necessary codecs, disabled php 'exec' function on the server and etc.
Does the script create watermarked video previews by ffmpeg?
Yes it does.
Does the script create previews for the audio publication automatically?
No it doesn't. You need to have minimum 3 files to upload a audio publication: *.jpg preview, *.mp3 preview and a file for sale - any format. But it is possible theoretically by ffmpeg. You should contact us. We will invent something.
Is it possible to create audio 'watermark'?
It is possible theoretically. You need to have the library on the server: sox.sourceforge.net. And again you should only contact us
Does the script create previews for the *.tif, *.png files?
No it doesn't. You need to upload a *.jpg preview separately for each publication. But we can develop the option if you have Imagemagick.
Can I sell only prints - not digital files?
Yes, you can. You should go to Admin panel -> Settings - > Site Settings and check 'Sell prints only'
I would like to sell canvases and t-shirts with my photo's prints.
You could add any such products here: Admin panel -> Settings - >Prints and products
Can a user upload own photos and order prints?
Yes he/she can. We have added the feature. Admin panel -> Settings -> Site settings -> Print lab.
Can the script extract IPTC and EXIF information and add it to a photo publication automatically?
Yes it can. The Laravel photo script supports the feature. We recommend you to use the opportunity if you have to upload thousands of photos. The script reads titles,keywords,descriptions from IPTC and google coordinates from EXIF. The filled IPTC info will help you to work on all photo stock sites and accelerate considerably the upload process.
The script reads IPTC info but the encode is wrong.
The IPTC data must be in utf8 encode.
Where can i edit IPTC?
Many photo softwares have such tool. Adobe Photoshop Lightroom, for example. You can do that here: Adobe Photoshop -> File -> File info.
I uploaded a new watermark but I don't see any changes on the site. Why?
The watermarked previews are generated one time during uploading. The new watermark will affect new publications only. You can regenerate the old thumbs here: Admin panel -> Catalog -> Select action. Attention! It can overload your server.
Is there any file size limitation?
No there isn't. The file size is only limited by the php.ini settings: upload_max_filesize and post_max_filesize.
What is the model release?
If the people are depicted on a photo with the faces you should prove that they were agreeable to be a model in the internet. Usually you have to upload their passport or driving license scan.
What is the property release?
Property release is signed by an owner of house, hotel, private land, castle and etc. For example you can shoot model in 5 stars hotel or any other well-known hotels but you may not sell those files with commercial purposes without signed property release from the hotel. It is forbidden to use famous well-known interiors and private property for commercial purposes without signed property release from the owner.
Can a media file have an exclusive price for sale? It must be removed from the stock after the first purchase.
Yes it can. You should enable the checkbox: Admin panel -> Catalog - >Edit a file -> 'Exclusive price'
I have a lite version and upload files only in the admin panel. So i've removed all sellers. What should i enter in 'Author' field?
The script must have minimum one seller and you have to choose him/her as author. You can add the user in Admin panel -> Users -> Customers.


File Storage

Where does the script store media files?
The script may store files on a local server where the software is installed or on S3 clouds hostings: Amazon S3 and Yandex.Cloud.
The clouds hosting is cheap, easy and safe way to store media files and distribute them faster in Internet.
Where could i change the storage settings?
You could set it here: Admin panel -> Settings -> File storage
How to set Amazon S3 storage?
You have to edit /.env file:
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=your_bucket_name
and choose Amazon S3 in Admin panel -> Settings -> File storage.

'your_bucket_name' bucket must already exist on Amazon S3.
How to set Yandex.Cloud storage?
You have to edit /.env file:
YANDEXCLOUD_ACCESS_KEY_ID=
YANDEXCLOUD_SECRET_ACCESS_KEY=
YANDEXCLOUD_DEFAULT_REGION=ru-central1
YANDEXCLOUD_BUCKET=your_bucket_name
and choose Yandex.Cloud in Admin panel -> Settings -> File storage.

'your_bucket_name' bucket must already exist on Yandex.Cloud.
What is a bucket?
A bucket is a "folder/directory" on S3 storage server.
I've uploaded 32000 photos on a local disk and i cannot upload more. Does the script have any limitations?
There is no any limit. In Linux system a directory may have only 31998 subdirectories. So when you have 31998 publications you should only add a new folder for the local file storage. Admin panel -> Settings -> File storage -> Local server
Can a user download a media file without any registration and payments just indicating link to the file in a browser?
No, the hooligan cannot. If you use a local storage, media files are stored outside a site root directory. If you use S3 storage a filename is encrypted.
What is better: the storage on the your server or on S3 clouds?
This is only your decision. Your server is the easiest way to store files. If you have few files and they are not large you should use only your server.

The advantages of clouds hostings are:
  • The script requires only 100-150Mb disk space for the php files and temporary media files.
  • The disk space can grow without any limitation on the clouds hostings. You pay only for what you use.
  • It is cheap, easy and safe way to store media files.
  • The speed of file's download is fast and garanted.
  • Probably it is a single way to store large GBs video files.
  • Many hostings don't allow to store media file even if they announce unlimit disk space.
  • You can easily change a hosting. You don't need to migrate gigabites of file's archives to a new server. You have to upload only several megabites of php files.
  • This is a global tendention to store data on the clouds servers.
I am affraid that Amazon S3 and Yandex.Clouds will disappear and i will lose all my files.
We think the probability that your hosting provider will disappear is higher in the millions times.
Could i store media file on other clouds services except Amazon and Yandex.Cloud?
Yes you could. Laravel supports many other S3 storage services like Backblaze, Selectel, Google storage. Many of them use Amazon SDK library and syntax (except Google). You only have to set correct endpoints. Please contact us.
Could i move my media files back from S3 clouds hosting to my server?
No you could not, sorry. It is impossible. This is a street with the one-way traffic :)


Themes and Configuration

Where can i change a current theme?
You should go to Admin panel -> Templates -> Select template
Could i modify a design?
Yes sure. Laravel uses *.blade.php templates. You could modify them here:
/resources/views/templates/your-template/ - your theme's templates
/resources/views/pvs/ - all script's service page's templates.
What files should i edit to change my template?
You have to edit the files into /resources/views/templates/your-template/ folder:
  • app.blade.php - Main template with a header and a footer
  • home.blade.php - Home page
  • menu.blade.php - Main menu
  • item.blade.php - Media publication page
  • item_print.blade.php - Print template
  • item_stock.blade.php - Stock publication (iStockphoto, Shutterstock, etc.)
  • item_stock_print.blade.php - Stock Print publication
  • catalog_view_*.blade.php - Catalog listing templates
  • search.blade.php - Main search bar
Where could i edit js/css files?
All static files are placed into /public/templates/your-template/assets/ folder.
How to edit a checkout page, for example, and a catalog listing:
You have to edit templates into the folders:
/resources/views/pvs/checkout/
/resources/views/pvs/search/
Where to edit email templates:
Here:
/resources/views/pvs/emails/
Can you develop a new theme for the script?
It is possible for an additional fee.
Where can i remove your copyright?
You have to edit the template: /resources/views/templates/your-template/app.blade.php
Where could i add Google Analytics code?
You should add it at the bottom of the template above &/body> tag: /resources/views/templates/your-template/app.blade.php
Where can i modify a top horizontal menu?
You should edit the file: /resources/views/templates/your-template/menu.blade.php.
I would like to customize a view of the category listing.
Please edit files into the folder:
/resources/views/pvs/categories
Does the script use caching?
Yes it does. Laravel supports different caching engines: "file", | "memcached", "redis", etc. 'file' is set by default. You can edit it in the config file: /config/cache.php
I customized blade templates but i don't see any changes on my site. What is wrong?
You should clear the cache here: Admin panel ->Templates -> Caching -> Clear cache.
I want to change some urls. Where can i do that?
You should edit the file: /routes/web.php
For example, you need to change /cart/ to /shopping-cart/

Please find the line:
Route::get('cart', 'CartController@index')->name('cart');
and replace with:
Route::get('shopping-cart', 'CartController@index')->name('cart');

You need to be careful and replace 'cart' only at the first place - not in name('cart')

Then you have to clear route caching: Admin panel ->Templates -> Caching -> Clear cache.
How does the Laravel photo store script choose related items for a publication?
The script searches all publications with similar titles, keywords and descriptions.
I see several untranslatable words in my template. Where could i fix them?
At the moment the script was translated to 41 languages. We add new words/phrases permanently when we develop new features. It is impossible, of course, to support all languages simultaneously. We update only 2 files: /resources/lang/en.json and /resources/lang/ru.json. If you see untranslatable words in your language you have to open en.json file, copy all new words at the bottom, insert them in your language.json and translate.
Could i add a new word to a translation file?
You should open the file by ftp /resources/lang/your-lang.json and add the word there. To insert the word in a blade templates you have to use the syntax: {{ __('Your word') }}
How can i translate a home page to different languages?
You have to add the code {{ __('Your phrase') }} in the template /resources/views/templates/your-template/home.blade.php: and translate the text in approprite files /resources/lang/your-lang.json.
I want to add a new language. How can i do that?
You should go to Admin panel -> Settings -> Languages, add a new language and create a file /resources/lang/your-lang.json.
I would like to change a word 'Photographers' to 'Video producers'. What template should i modify?
The easiest way is to modify a translation file: /resources/lang/your-lang.json.
I want to edit the page www.mydomain.com/pages/my-page but i cannot find /pages/ folder in the script's archive
All seo-frienly URLs are virtual. The folder "pages" doesn't exist really. You should edit it here: Admin panel -> Text pages -> Site info.
I would like to have my site only in English, i disabled all languages but my site continues to show in my local language.
The script defines a default language in your web browser and translates your site. You can disable the option here: Admin panel -> Settings -> Site settings - >Automatic language detection.
I want to disable "right click button" on my site.
You should edit the templates: /resources/views/templates/your-template/app.blade.php and add the code in the <body> tag: <body oncontextmenu="return false"> More info
Where could i change a favicon?
You should upload a new favicon *.gif file here: /public/assets/images/favicon.gif
Where can i edit an audio and a video players?
You should edit the Laravel blade templates: /resources/views/pvs/audio/player.blade.php and /resources/views/pvs/video/player.blade.php


Upgrades

Where can i download the script's updates?
You can download all upgrades in your member area on cmsaccount.com. The section is 'Upgrades'. You can find all installation's instructions there.
Can you install the upgrades for us?
Yes sure. You should contact us.
Will the upgrade touch/damage my files and settings?
The upgrade won't touch your settings and uploaded files. You can lose modifications in the php blade templates (of services pages) and php controllers. So we advise you to make a backup of site's files and your database before an update.
My script has an old version. I skipped several updates. Can i install only the latest upgrade?
No you cannot. You should upgrade step by step from your version to the latest one.
Where can i download new themes?
You can download them in your member area on cmsaccount.com. The section is 'Templates'. You can find all installation's instructions there.
How will you upgrade Laravel and other package to the latest version?
We'll figure something out.
  Photo Store Script

Laravel photo stock script and WordPress plug-in for photographers and video producers.

  Support
  CMSaccount Inc.