#!/bin/bash #======================================================================= # Checking Dependancies #======================================================================= # Get Tools ! [[ -f "/var/lib/gsl/scripts/gsl__tools" ]] \ && echo "! Missing file: /var/lib/gsl/scripts/gsl__tools" \ && return source "/var/lib/gsl/scripts/gsl__tools" # Get conf gsl__check_source "/etc/gsl/gsl.conf" || exit 1 # Get Logs Manager gsl__check_source "$gsl_dir_scripts/gsl__log_manager" || exit 1 # Check/Create Files and Folders gsl__create_ff gsl__find_domain gsl__check_source "$gsl_dir_scripts/gsl__auth_manager" || exit 1 gsl__authors_list check || exit 1 gsl__check_source "$gsl_dir_scripts/gsl__new_website" || exit 1 gsl__check_source "$gsl_dir_scripts/gsl__post_checkers" || exit 1 gsl__check_source "$gsl_dir_scripts/gsl__post_manager" || exit 1 gsl__check_source "$gsl_dir_scripts/gsl__db_manager" || exit 1 gsl__check_source "$gsl_dir_scripts/gsl__post_makers" || exit 1 gsl__check_source "$gsl_dir_scripts/gsl__page_creator" || exit 1 gsl__check_source "$gsl_dir_scripts/gsl__do_commons" || exit 1 #======================================================================= # Main #======================================================================= case "$1" in author|-A) gsl__authors_list check || exit 1 case "$2" in "") gsl__authors_list ;; add) gsl__logs_print \ "$gsl_log_i" \ "Starting" \ "Process" \ "Add Author for domain $gsl_find_domain" \ "Domain: $gsl_find_domain" gsl__authors_add gsl__logs_print \ "$gsl_log_i" \ "Stopping" \ "Process" \ "Add Author for domain $gsl_find_domain" \ "Domain: $gsl_find_domain" ;; remove) gsl__logs_print \ "$gsl_log_i" \ "Starting" \ "Process" \ "Remove Author for domain $gsl_find_domain" \ "Domain: $gsl_find_domain" gsl__authors_remove gsl__logs_print \ "$gsl_log_i" \ "Stopping" \ "Process" \ "Remove Author for domain $gsl_find_domain" \ "Domain: $gsl_find_domain" ;; esac ;; new|-N) gsl__logs_print \ "$gsl_log_i" \ "Starting" \ "Process" \ "New Website" \ "$gsl_dir_scripts/gsl__new_website" gsl__new_website gsl__logs_print \ "$gsl_log_i" \ "Stopping" \ "Process" \ "New Website" \ "$gsl_dir_scripts/gsl__new_website" [[ -f "$gsl_file_db_domains" ]] && \ [[ -d "$gsl_dir_user_posts" ]] \ && cd "$gsl_dir_user_posts" \ && gsl author add ;; log|-L) [[ -z `grep '[^[:space:]]' "$gsl_file_logs" 2>/dev/null` ]] \ && echo "# No logs to show. File is empty." \ && exit while test "$2" do case "$2" in clean|-C) gsl_date_logs=`date +%F-%H-%M-%S` mv "$gsl_file_logs" "$gsl_dir_logs/$gsl_date_logs.gsl.log" rm -f "$gsl_file_logs" printf '%s %s %s\n' \ "# Logs saved to" \ "$gsl_dir_logs/$gsl_date_logs.gsl.log" \ "and cleaned" exit ;; -s) gsl_logs_last_session=true ;; -e) gsl_logs_err=true ;; -i) gsl_logs_inf=true ;; -w) gsl_logs_war=true ;; *) gsl_logs_search="$2" ;; esac shift done gsl__logs_show ;; check|-C) gsl__check_nbr_posts case "$2" in -F) gsl_force_check=true if [[ "$3" ]];then gsl__check_opt_post "$3" fi ;; *) if [[ "$2" ]];then gsl__check_opt_post "$2" fi ;; esac gsl__logs_print \ "$gsl_log_i" \ "Starting" \ "Process" \ "Check Post for domain $gsl_find_domain" \ "${PWD}" gsl__loop_posts check gsl__logs_print \ "$gsl_log_i" \ "Stopping" \ "Process" \ "Check Post for domain $gsl_find_domain" \ "${PWD}" ;; make|-M) gsl__check_nbr_posts case "$2" in -F) gsl_force_make=true if [[ "$3" ]];then gsl__check_opt_post "$3" fi ;; *) if [[ "$2" ]];then gsl__check_opt_post "$2" fi ;; esac gsl__logs_print \ "$gsl_log_i" \ "Starting" \ "Process" \ "Make Post for domain $gsl_find_domain" \ "${PWD}" gsl__loop_posts make gsl__logs_print \ "$gsl_log_i" \ "Stopping" \ "Process" \ "Make Post for domain $gsl_find_domain" \ "${PWD}" ;; post-list) if [[ "$2" ]];then gsl__check_opt_post "$2" else echo "! Select a Post to add to list" exit fi gsl__check_nbr_posts gsl__logs_print \ "$gsl_log_i" \ "Starting" \ "Process" \ "Post-List ; Add $2 from domain $gsl_find_domain" \ "$gsl_dir_domain_tpl/last-posts-list.html" gsl__loop_posts post-list gsl__logs_print \ "$gsl_log_i" \ "Stopping" \ "Process" \ "Post-List ; Add $2 from domain $gsl_find_domain" \ "$gsl_dir_domain_tpl/last-posts-list.html" ;; readme) if [[ -f "/var/lib/gsl/README.md" ]];then clear cat /var/lib/gsl/README.md else echo "! Missing file: /var/lib/gsl/README.md" fi ;; help|--help|-h) gsl__check_file "$gsl_dir_helps/gsl_help" || exit 1 clear case "$2" in "") cat "$gsl_dir_helps/gsl_help" ;; new) gsl__check_file "$gsl_dir_helps/gsl_infos_new_website" || exit 1 cat "$gsl_dir_helps/gsl_infos_new_website" ;; install) gsl__check_file "$gsl_dir_helps/gsl_help_install" || exit 1 cat "$gsl_dir_helps/gsl_help_install" ;; write|-w) gsl__check_file "$gsl_dir_helps/gsl_help_write_post" || exit 1 cat "$gsl_dir_helps/gsl_help_write_post" ;; stats) gsl__check_file "$gsl_dir_helps/gsl_help_stats" || exit 1 cat "$gsl_dir_helps/gsl_help_stats" ;; esac ;; esac