From 23f1d115de1d0b13a35f062ba2c2ec7c6bef99aa Mon Sep 17 00:00:00 2001 From: Moe Date: Mon, 14 Jan 2019 12:05:35 -0800 Subject: [PATCH] Add Update functions to terminal commander + minor cleanup and bug fixes --- INSTALL/shinobi | 62 ++++++++++++++++++++++++++++- libs/startup.js | 2 +- web/libs/css/dash2.monitors.css | 2 +- web/libs/css/main.dash2.old.css | 2 +- web/libs/js/dash2.elementbuilder.js | 2 +- 5 files changed, 65 insertions(+), 5 deletions(-) diff --git a/INSTALL/shinobi b/INSTALL/shinobi index e8613015..1dcfc63b 100644 --- a/INSTALL/shinobi +++ b/INSTALL/shinobi @@ -4,6 +4,16 @@ if [ ! -e "/etc/shinobisystems/path.txt" ]; then else installationDirectory=$(cat /etc/shinobisystems/cctv.txt) fi +cd $installationDirectory +currentBuild=$(git show --oneline -s) +gitOrigin=$(git remote show origin) +splitBuildString=($currentBuild) +currentCommitNumber=${splitBuildString[0]} +if [[ $gitOrigin == *'ShinobiCE'* ]]; then + repo="CE" +else + repo="Pro" +fi if [[ $@ == *'help'* ]] || [ ! "$1" ]; then echo "=========================================================" echo "==!! Shinobi : The Open Source CCTV and NVR Solution !!==" @@ -35,6 +45,15 @@ if [[ $@ == *'help'* ]] || [ ! "$1" ]; then echo "| logs :" echo "|--> Get PM2 log stream with last 100 lines." echo "-" + echo "| update :" + echo "|--> Update via Git." + echo "-" + echo "| getMaster :" + echo "|--> Switch to the Master Branch (For Pro Repo only)." + echo "-" + echo "| getDev :" + echo "|--> Switch to the Development Branch (For Pro Repo only)." + echo "-" echo "| clear, flush :" echo "|--> Clear all PM2 logs." echo "-" @@ -85,7 +104,13 @@ if [[ $@ == *'stop'* ]] || [[ $@ == *'exit'* ]]; then fi fi if [[ $@ == *'version'* ]]; then - git show --oneline -s + echo "Build ID : $currentCommitNumber" + if [[ $repo == "Pro" ]]; then + echo "Repository : Shinobi Pro" + else + echo "Repository : Shinobi CE" + fi + echo $currentBuild fi if [[ $@ == *'startupEnable'* ]] || [[ $@ == *'startupenable'* ]]; then pm2 startup @@ -95,6 +120,41 @@ if [[ $@ == *'startupDisable'* ]] || [[ $@ == *'startupdisable'* ]]; then pm2 unstartup pm2 save fi +if [[ $@ == *'getDev'* ]] || [[ $@ == *'getdev'* ]]; then + if [[ $repo == "Pro" ]]; then + git checkout dev + echo "Shinobi - Restart Shinobi to make the changes take affect." + else + echo "Shinobi - Cannot use \"getDev\" with Shinobi CE" + fi +fi +if [[ $@ == *'getMaster'* ]] || [[ $@ == *'getmaster'* ]]; then + if [[ $repo == "Pro" ]]; then + git checkout master + echo "Shinobi - Restart Shinobi to make the changes take affect." + else + echo "Shinobi - Cannot use \"getMaster\" with Shinobi CE" + fi +fi +if [[ $@ == *'update'* ]]; then + echo "=============" + echo "Shinobi - Are you sure you want to update? This will restart Shinobi." + echo "(y)es or (N)o" + read updateshinobi + if [ "$updateshinobi" = "y" ] || [ "$updateshinobi" = "Y" ]; then + echo "Beginning Update Process..." + pm2 stop $installationDirectory/camera.js + pm2 stop $installationDirectory/cron.js + npm install --unsafe-perm + npm audit fix --force + git reset --hard + git pull + pm2 start $installationDirectory/camera.js + pm2 start $installationDirectory/cron.js + else + echo "Cancelled Update Process." + fi +fi if [[ $@ == *'kill'* ]]; then pm2 kill fi diff --git a/libs/startup.js b/libs/startup.js index 4d664330..e16c38ef 100644 --- a/libs/startup.js +++ b/libs/startup.js @@ -23,7 +23,7 @@ module.exports = function(s,config,lang,io,){ fs.stat(etcPath,function(err,stat){ if(err || !stat){ exec('node '+ s.mainDirectory + '/INSTALL/terminalCommands.js',function(err){ - console.log(err) + if(err)console.log(err) }) } next() diff --git a/web/libs/css/dash2.monitors.css b/web/libs/css/dash2.monitors.css index 19c8c2f0..f22fe484 100644 --- a/web/libs/css/dash2.monitors.css +++ b/web/libs/css/dash2.monitors.css @@ -73,7 +73,7 @@ img.circle-img,div.circle-img{border-radius:50%;height:50px;width:50px} #monitors_live .monitor_item .mdl-cell--8-col{width:100%;border:0;border-radius:0;margin:0;position:relative} #monitors_live .monitor_item .mdl-cell--4-col-desktop,.monitor_item .mdl-card__supporting-text{display:none} #monitors_live .monitor_item .mdl-card__supporting-text .monitor_details,#monitors_live .monitor_item .mdl-card__supporting-text .btn-group{display:none;text-align:center} -#monitors_live .monitor_item .mdl-card__supporting-text:not(.meta){display:block;position:absolute;bottom:0;left:0;height:0;padding:0;} +#monitors_live .monitor_item .mdl-card__supporting-text:not(.meta){display:block;position:absolute;bottom:0;left:0;height:0;padding:0;overflow:visible} #monitors_live .monitor_item.show_data .mdl-card__supporting-text:not(.meta){width:50%} #monitors_live .monitor_item.detector_triggered .mdl-card__supporting-text:not(.meta) .indifference{opacity:0.5;} #monitors_live .monitor_item:hover .mdl-card__supporting-text:not(.meta){padding:15px;z-index:15;height:auto;} diff --git a/web/libs/css/main.dash2.old.css b/web/libs/css/main.dash2.old.css index a62515ca..afd35588 100644 --- a/web/libs/css/main.dash2.old.css +++ b/web/libs/css/main.dash2.old.css @@ -149,7 +149,7 @@ img{max-width:100%} #monitors_live .monitor_item .mdl-cell--8-col{width:100%;border:0;border-radius:0;margin:0;position:relative} #monitors_live .monitor_item .mdl-cell--4-col-desktop,.monitor_item .mdl-card__supporting-text{display:none} #monitors_live .monitor_item .mdl-card__supporting-text .monitor_details,#monitors_live .monitor_item .mdl-card__supporting-text .btn-group{display:none;text-align:center} -#monitors_live .monitor_item .mdl-card__supporting-text:not(.meta){display:block;position:absolute;bottom:0;left:0;height:0;padding:0;} +#monitors_live .monitor_item .mdl-card__supporting-text:not(.meta){display:block;position:absolute;bottom:0;left:0;height:0;padding:0;overflow:visible;} #monitors_live .monitor_item.show_data .mdl-card__supporting-text:not(.meta){width:50%} #monitors_live .monitor_item.detector_triggered .mdl-card__supporting-text:not(.meta) .indifference{opacity:0.5;} #monitors_live .monitor_item:hover .mdl-card__supporting-text:not(.meta){padding:15px;z-index:15;height:auto;} diff --git a/web/libs/js/dash2.elementbuilder.js b/web/libs/js/dash2.elementbuilder.js index bfdbe059..e2c5cefe 100644 --- a/web/libs/js/dash2.elementbuilder.js +++ b/web/libs/js/dash2.elementbuilder.js @@ -181,7 +181,7 @@ $.ccio.tm=function(x,d,z,user){ }) tmp+='';//end of btn list tmp+='';//.stream-block - tmp+='
'; + tmp+='
'; tmp+='
'; tmp+='
    '; tmp+='
    ';