From de2fb242d35a20ece7fc07d6b7cd489dd64dcf13 Mon Sep 17 00:00:00 2001 From: olevole Date: Mon, 10 Apr 2023 12:46:00 +0300 Subject: [PATCH] WIP: upgrade button --- php/clonos.php | 17 +++++++ public/css/styles.css | 3 +- ...ings-update.php => settings-getupdate.php} | 2 +- public/js/clonos.js | 48 +++++++++++++++++-- public/lang/ru.js | 7 +++ public/pages/settings/ru.index.php | 5 +- 6 files changed, 74 insertions(+), 8 deletions(-) rename public/dialogs/{settings-update.php => settings-getupdate.php} (84%) diff --git a/php/clonos.php b/php/clonos.php index 93f77e28..072aaf55 100644 --- a/php/clonos.php +++ b/php/clonos.php @@ -2184,6 +2184,23 @@ class ClonOS { return $arr; } + function ccmd_settingsUpdateComponents() + { + $res=CBSD::run( + 'cix_upgrade mode=upgrade', + array() + ); + if($res['error']){ + $arr['error']=true; + $arr['error_message']=$err['error_message']; + }else{ + $arr['error']=false; + $arr['response']=$res['msg']; + //$arr['update_list']=json_decode($res['message']); + } + return $arr; + } + diff --git a/public/css/styles.css b/public/css/styles.css index a53ed00a..50689876 100644 --- a/public/css/styles.css +++ b/public/css/styles.css @@ -870,7 +870,8 @@ dialog.fullscreen #vnc-iframe { background-color:coral; text-shadow:1px 1px 2px black; } -.buttons .button.hidden { +.buttons .button.hidden, +.top-button.hidden { display:none; } diff --git a/public/dialogs/settings-update.php b/public/dialogs/settings-getupdate.php similarity index 84% rename from public/dialogs/settings-update.php rename to public/dialogs/settings-getupdate.php index 7e0fd10a..faf9aa2c 100644 --- a/public/dialogs/settings-update.php +++ b/public/dialogs/settings-getupdate.php @@ -1,4 +1,4 @@ - +

translate('Settings update');?>

Check for updates… diff --git a/public/js/clonos.js b/public/js/clonos.js index 4f31e2e5..89a82cf2 100644 --- a/public/js/clonos.js +++ b/public/js/clonos.js @@ -237,6 +237,12 @@ var clonos={ if(id=='settings-update') { this.settingsUpdateCheck(); + return; + } + if(id=='settings-getupdate') + { + $('dialog#settings-getupdate .window-content').html(''); + this.settingsUpdateComponents(); } this.dialogShow1(id); } @@ -253,6 +259,12 @@ var clonos={ dialogShow1:function(id,mode) { var dlg=$('dialog#'+id); + if(dlg.length==0) + { + //console.log('Not found dialog: '+id); + this.notify('Not found dialog: '+id,'error'); + return; + } if(mode=='edit') { @@ -892,13 +904,29 @@ var clonos={ { msg+='

'+n+', version: '+this.updates[n]+'

'; } - $('#settings-update .button.ok-but').removeClass('hidden'); - }else{ - $('#settings-update .button.ok-but').addClass('hidden'); } + this.setButtonUpdate(); $('dialog#settings-update .window-content').html(msg); }, - + setButtonUpdate:function() + { + if(this.updates_exists) + { + $('#but-getupdate').removeClass('hidden'); + }else{ + $('#but-getupdate').addClass('hidden'); + } + }, + settingsUpdateComponents:function() + { + this.loadData('settingsUpdateComponents',$.proxy(this.onSettingsUpdateComponents,this)); + }, + onSettingsUpdateComponents:function(data) + { + var msg='getData'; + $('dialog#settings-update .window-content').html(msg); + }, + onUsersAdd:function(data) { if(typeof data.error!='undefined') @@ -2252,6 +2280,7 @@ var clonos={ this.updates_exists=true; } if(this.updates_exists) this.updates=data; + this.setButtonUpdate(); }, @@ -2989,6 +3018,17 @@ var clonos={ case 'update': if(isset(data.data)) { + if(data.id=='update') + { + var msg=data.data.message; + //console.log(msg); + $('dialog#settings-getupdate .window-content').append('

'+this.translate(msg)+'

'); + if(msg=='complete') + this.settingsUpdateCheck(); + return; + } + + for(n in data.data) { if(n=='impsize') data.data[n]=this.formatBytes(data.data[n],0); diff --git a/public/lang/ru.js b/public/lang/ru.js index cfdcaccc..7ce0748f 100644 --- a/public/lang/ru.js +++ b/public/lang/ru.js @@ -66,4 +66,11 @@ clonos.lang={ "description":"описание", "properties":"параметры", + "starting...":"Запуск обновления...", + "update phase 1/5..":"Фаза обновления: 1/5..", + "update phase 2/5..":"Фаза обновления: 2/5..", + "update phase 3/5..":"Фаза обновления: 3/5..", + "update phase 4/5..":"Фаза обновления: 4/5..", + "update phase 5/5..":"Фаза обновления: 5/5..", + "complete":"Обновление завершено", } \ No newline at end of file diff --git a/public/pages/settings/ru.index.php b/public/pages/settings/ru.index.php index 32326151..282dbce5 100644 --- a/public/pages/settings/ru.index.php +++ b/public/pages/settings/ru.index.php @@ -1,9 +1,10 @@ useDialogs(['settings-update']); +$clonos->useDialogs(['settings-getupdate']); ?>

Настройки

-

Проверить обновления

+

Проверить обновления +