Shadow post

Start growing your Facebook media presence. Do more with Facebook, in less time


Welcome


First of all, Thank you so much for purchasing this project and for being my loyal customer. You are awesome!
You are entitled to get free lifetime updates to this product + exceptional support from the author directly.

This documentation is to help you regarding each step of customization. Please go through the documentation carefully to understand how this project is made and how to customize this properly.

Requirements

You will need the following things.

  1. A domain.
  2. A hosting.
  3. And this project with proper license.

Be careful while installing this project in your hosting server.

Overview #back to top

Shadowpost, it's a complete Facebook Poster solution for Page & Group that allows you to auto post (Text / links / Images / Videos) to Facebook, schedule and manage. Shadowpost include carousel posting. Shadowpost has auto share. It is a web-based app and fairly easy to use and easy to operate. You can manage all those Facebook Posting from one place. Managing all posting media for business purpose is a huge pain. Shadowpost helps you save time managing multiple Facebook accounts. So we made this to make your life easy.

You don’t need any kind of technical knowledge to maintain the system. Only thing is needed is to read this documentation very well.


Features #back to top

  1. Facebook Page Insight
  2. Facebook General Poster (Text/Link/Image/Video).
  3. Facebook Carousel Poster
  4. Auto Share
  5. Multi-user & SAAS Application.
  6. Multil-account Support.
  7. Multilangual Support.
  8. Social Login (Google+, Facebook)
  9. Payment Management (Paypal + Stripe).
  10. One click installation.

Server Configuration #back to top

  1. PHP v5.4 to 7 & mysql v5.x
  2. Make sure of these settings in your server
    1. cURL (ENABLED)
    2. mbstring (ENABLED)
    3. safe_mode (OFF)
    4. open_base_dir (has no value)
    5. allow_url_open (OPEN)
    6. mysqli (ON)
  3. Folders and files permissions
    1. Folder: application/config (777)
    2. Folder: application/core (777)
    3. Folder: download (777)
    4. File: application/install.txt (777)

If you get "404 page not found" error then make AllowOverride in your virual host and check if .htaccess file is uploaded successfully in root or not.

Quick Start Guide #back to top

  1. Install Shadowpost. here
  2. Setup Facebook apps. here
  3. Import Facebook accounts. here
  4. Create campaign. here

If you need to learn more about Shadowpost, read this documentation. It will teach you about User Management, Package Setting, Payment Setup and many more.

How to install? #back to top

  1. Download .zip package
  2. Upload it to your server
  3. Extract the package
  4. Run the uploaded url via browser (http://yourdomain.com/Shadowpost/) and you will find a interface to provide the settings for Shadowpost:
    1. Hostname : database host name / IP
    2. Database Name : create a mysql database for Shadowpost on your host and write that name here
    3. Database username : username of the created database
    4. Database password : password of the created database
    5. Shadowpost Admin Panel Login Username : this will be used to login as admin
    6. Shadowpost Admin Panel Login Password : password to log in as admin
  5. Click Install Shadowpost Now Button
  6. You are done. Log in with your admin username and password and start using Shadowpost.

Dashboard #back to top

As you can imagine the dashboard is the admin home page. Admin will get to see this page right after login. Here an admin will find all the Graphical statistics of total system activities. Graphical charts are used for easy understanding. As you use this system you will find dashboard very useful. In fact, it will save your ton of time.


Setting #back to top

The Setting is the most important part of this application. Actually, it is a set of instructions/settings. Those settings are sorted as per order of system flow like you have to define or set roles before you creating users.

As I told before, it is indeed the most important part of this application. So do not just randomly enter into menus and create add or changes. do it as top-down way. These settings are very important because the whole system depends on this setting.

But, be afraid. I will go through the whole process one by one. Just read the documentation carefully and do as it instructed. And you will be all set.

Application Setting #back to top

  1. Item Name
  2. Item Short Name
  3. Time Zone
  4. Company Name
  5. Company Address
  6. Company Email
  7. Upload Logo
  8. Upload Favicon

After installing Shadowpost, most people like to change this setting first.


SMTP Settings #back to top

This section is very necessary. Only after setting up this section, the application can send emails. So, you can imagine how much important it is. There will be many cases while you have to send emails. So let's set up email.

After a fresh installation, you will see an empty table here. Also, you can find an "Add" button. Click on Add button. It will open a page require some information. It requires Email gateway (SMTP) information.

  1. By now you should have SMTP info of your cPanel or any other Mail gateway.
  2. Fill every field according to your SMTP.
  3. Make sure "Active" is selected on status field.
  4. You can add multiple SMTP by repeating this process.
  5. You can have many SMTP but only one will work. Therefore the "inactive" status there.
  6. You have multiple SMTP information, then make only one active and make others inactive.

This is system's email configuration for sending emails to user. Without configuring this setting admin can't send email also system email (system email example: password recovery) will not work. Once it is configured you can do all of these.



Social Login Settings #back to top

Admin has to config "Social Login Settings" with Facebook APP ID, Facebook APP Secret, Google Client ID , Google Client Secret to make facebook & google login to work. FOllow the process



Facebook Settings

This is the form to add your facebook app information, you will get app domain, site url, valid oauth redirect uris needed to create facebook app here. Copy the urls and create your facebook app following the process below. You can create multiple app and can add but only one can be enabled at a time.



Create your own facebook app and put APP ID and APP Secret here. System will take care of everything else.

How to create facebook app and get API ID & APP Secret?
  1. Login to https://developers.facebook.com/ using your facebook account and click "Add a new app".

  2. Type a "Dispaly Name" and click "Create App ID"

  3. Click "Settings" menu. Here you will see your APP ID and APP Secret. Type YOUR APPLICATION DOMAIN in "App Domains".

  4. Then click "Add Platform" and it will bring the following popup. Choose "Website" here.

    It will bring a input area for "Site URL", put it and click "Save Changes".

  5. Put valid oauth redirect URIs and click "Save Changes"

Facebook App Settings #back to top

Admin has to config "Facebook App Settings" with Facebook APP ID, Facebook APP Secret to make facebook api feature work. FOllow the process



Facebook Settings

This is the form to add your facebook app information, you will get app domain, site url, valid oauth redirect uris needed to create facebook app here. Copy the urls and create your facebook app following the process below. You can create multiple app and can add but only one can be enabled at a time.



Create your own facebook app and put APP ID and APP Secret here. System will take care of everything else.

How to create facebook app and get API ID & APP Secret?
  1. Login to https://developers.facebook.com/ using your facebook account and click "Add a new app".

  2. Type a "Dispaly Name" and click "Create App ID"

  3. Click "Settings" menu. Here you will see your APP ID and APP Secret. Type YOUR APPLICATION DOMAIN in "App Domains".

  4. Then click "Add Platform" and it will bring the following popup. Choose "Website" here.

    It will bring a input area for "Site URL", put it and click "Save Changes".

  5. Put valid oauth redirect URIs and click "Save Changes"

    You need to app approval For this application

Payment Settings #back to top


Here you need to specify your payment setting. We support both Paypal and Stripe payment gateway. By default, you will see a similar screen like below. Here in this table, there is only one row. You can only edit this column. Click on edit icon. If you want Paypal payment gateway then only specify Paypal email and keep stripe fields empty. Otherwise, if you want Stripe payment gateway, fill 'stripe secret key' and 'Stripe publishable key' fields. Select your currency. Click on "Update" button.




Your payment history will be here. Below this page, there is a table. All the payments list will show here.

User Management #back to top

User panel is the list of all users who belong to this system of Admin user and Member user. Admin can add a new user by clicking the add button. Admin can create a user, edit a user, activate or deactivate a user, change user password, search user etc.


Add User: Adding a new user is a very easy process. Click the "Add" button. It will open a form like below.


  1. Put an user name.
  2. Now put an unique email.
  3. Mobile number field is optional.
  4. Put a secure password.
  5. write user address.
  6. Select a user type (Admin user / Member user).
  7. Select status (Active/inactive).
  8. Finally hit save.
  9. You will get a confirmation on success.
All (*) marked fields are necessery.

You can find Edit user, Delete user and Change password option on the right side of user row.

Edit user: Edit user is same as add user. Click pencil button to edit user at the end of a row of any user under action column. Make necessary changes and hit save. You will get confirmation of success.

Send Email #back to top

Here you can send email to your users. Sending email is very easy here. All of your users will be listed here. You just have to select users from the table and click on "send email" button. A popup will open. In this popup, will find the email subject and message field. Fill that two field and click on "Send" button. Your email will send.


Package Setting #back to top

Here all of your package related information will be here. This is actually package management for this application. Here you can:

  1. Create different packages.
  2. Assign different access level.
  3. Set charges.
  4. Users pay usages bills here.

The first thing to do here is to setup packages for this application. So that you can charge for them. By default, this application comes with a Trail package, which is free to use for seven days. You can't delete this package. So you need to create new packages.


To create a new package, click on 'Add' button. It will open a page with a form.

  1. First set package name.
  2. Set price
  3. Set validity. (Validity in days).
  4. Select modules permission for this package.
  5. Finally, click on "Save" button.

Connect Account #back to top

If you already setup your app setting, you are ready to Connect Account to this application. To do so you just need to open this page.

  • Clicking import account menu will bring you a button named "Login with Facebook", simply clicking it will start importing your facebook account. From v4.5 we have removed numeric ID based login system that requires tester role on app to import account. We have removed this becuase as per new changes from Facebook apps needed to be reviewed now.

  • Now you can see a new button Insight here you can see the page insight.

  • Allow the permission as the snapshots below :

    You must click "OK", otherwise nothing will work !!!

  • Finally your account is imported now !!! You will see your pages, groups. You can add another account (if your package is multi-account) same way.

  • If you import multiple facebook accounts, you can switch among them from the top of the page.

  • Auto Post #back to top


    Below feature are same in all auto posting like (Text, Link, Image, Video)
    • You can choose where to post among your pages and groups. ***
    • You can enable auto share and choose among your pages to share the post. It will be automatically shared. ***
    • You can schedule the campaign now or later. If you choose to schedule later then you have to enter time and timezone.



    To create a new post click Auto Post. You will get the post create form. By default you are in text campaign. You can swtich among Text / Image / Link / Video from the top navigation as marked in below snapshot. Type an message and you will see the campaign preview in the right side block.




    Now in Link tab. Type a message and paste an link like (http://ambitiousit.net/demo/shadowpost). Shadowpost will grab the link details like preview image,caption,description automatically and show you how it will look on facebook after publish.




    Now in Image tab. Type a message and paste an image url like. Shadowpost will grab the image automatically and show you how it will look on facebook after publish. You can change the image link or can upload any image if you want.




    Now in Video tab. Type a message and paste an video url like or can paste a youtube video link. Shadowpost will grab the video automatically and show you how it will look on facebook after publish. You can also paste video thumbnail image link or can upload a thumb image.

    Carousel Post #back to top


    To create a new Carousel post click "Carousel Post" sidebar. You will get the carousel postform. Each carousel may contain upto 2-5 images. You can simply paste an image link or can upload an image. Each image will have it's own title,description and action

    Auto Post Report#back to top

    All of your Facebook post information will show here. You can get all type of Facebook auto post campaign related information from here. Like:

    1. Message
    2. Publisher
    3. Post Type
    4. Scheduled at
    5. Post Status
    6. Post Visit
    7. Delete campaign.

    Carousel Post Report#back to top

    All of your Facebook Carousel post information will show here. You can get all type of Carousel Post Report campaign related information from here. Like:

    1. Message
    2. Publisher
    3. Post Type
    4. Scheduled at
    5. Post Status
    6. Post Visit
    7. Delete campaign.

    How to Update #back to top

    Update - v1.3.1 to v1.3.2

    1. Download v1.3.2

    2. Copy/Replace your following files and folders taking from v1.3.2

    1. application/controller/paypal_ipn.php
    2. application/controller/payment.php
    3. application/libraries/paypal_class.php
    4. application/view/admin/payment/add_package.php
    5. application/view/layout/sidebar_layout.php
    6. application/view/member/member_payment_history.php
    7. documentation/index.html

    3. Open application/config/ambitious_config.php and update 'itemVersion' from v1.3.1 to v1.3.2

    4. You are done.



    Update - v1.2 to v1.3

    1. Download v1.3

    2. Copy/Replace your following files and folders taking from v1.3

    1. application/controller/*
    2. application/view/*
    3. application/libraries/*
    4. documentation/index.html

    2. Run the database migration file via browser. Example link http://example.com/update

    3. Open application/config/ambitious_config.php and update 'itemVersion' to v1.3

    4. You are done.



    Update - v1.0 to v1.1

    1. Download v1.1

    2. Copy/Replace your following files and folders taking from v5.0

    1. application/controller/update
    2. application/controller/fbpageinsight
    3. application/view/connect_account
    4. application/view/insight/page_insight
    5. documentation/index.html

    2. Run the database migration file via browser. Example link http://example.com/update

    3. Open application/config/ambitious_config.php and update 'itemVersion' to v1.1

    4. You are done.



    v1.0

    Initial version



    Multilangual Support #back to top


    Disclaimer: We are glad to provide our product in 11 different languages. You can select your language while Installation or you can change your language from General Settings. All the translations are performed by google translator. Also, there are possibilities of human error. If there are any errors then we can not take the responsibility because firstly, we have no control over or knowledge on Google's translation algorithm and secondly, our first language is Bengali & the second language is English. So we were unable to correct errors for other languages than Bengali or English. You can correct any error or change any word if you like to (described below).
    Change Any Built-in Language's Words/Sentences:

    If you want to change words/sentences any of our built-in languages, you will find them in three places. Let you want to change Bengali language, then you will find Bengali language files in:

    1. Shadowpost/application/language/bengali/

                                        // example: admin_lang.php
                                        1. $lang["company name"]    = "Your Value 1";
                                        2. $lang["company address"] = "Your Value 2";
                                    

    2. Shadowpost/plugins/grid/locale/bengali.js

                                        1. $.fn.pagination.defaults.beforePageText  = 'Value 1';
                                        2. $.fn.pagination.defaults.afterPageText     = ' Value 2 {pages}';
                                        3. $.fn.pagination.defaults.displayMsg         = 'Value 3 {total} Value 4 {from} Value 5 {to} Value 6';
                                    

    3. Shadowpost/plugins/grocery_crud/laguages/bengali.php

                                        1. $lang['list_add']                  = 'Value1';
                                        2. $lang['list_actions']             = 'Value2';
                                        3. $lang['list_page']                = 'Value3';
                                    
    The files are PHP or JS files. So, any syntax error during changing will affect the system. Please be careful when you change and backup original files before you change.

    Add new language:

    1. Suppose your language name is "my_lang"
    2. Copy application/language/English folder and paste & rename folder to "my_lang". Then translate all files in that folder.
    3. Translate coping plugins/grid/locale/english.js as plugins/grid/locale/my_lang.js
    4. Translate coping plugins/grocery_crud/languages/english.php as plugins/grocery_crud/languages/my_lang.php
    5. Then open application/controllers/home.php and add an array index in function language_list()