From 3f05e49988ea45d2d63fe6a2c7609431084741ed Mon Sep 17 00:00:00 2001 From: Graham Trott Date: Sun, 7 Jun 2020 22:19:28 +0100 Subject: [PATCH] Add the users module --- iwsy/README.md | 13 - iwsy/demo.html | 21 + iwsy/index.html | 7 +- iwsy/iwsy.js | 54 ++- iwsy/properties.txt | 1 - iwsy/resources/README.md | 2 +- iwsy/resources/ecs/blocks.txt | 5 +- iwsy/resources/ecs/iwsy.txt | 115 +++--- iwsy/resources/ecs/main.txt | 559 -------------------------- iwsy/resources/ecs/scripted.txt | 10 +- iwsy/resources/ecs/user.txt | 378 +++++++++++++++++ iwsy/resources/icon/user-loggedin.png | Bin 0 -> 11316 bytes iwsy/resources/icon/user.png | Bin 0 -> 11033 bytes iwsy/resources/img/SemoigoDawn.jpg | Bin 0 -> 174798 bytes iwsy/resources/json/demo.json | 306 -------------- iwsy/resources/json/test.json | 26 +- iwsy/resources/properties.txt | 15 + iwsy/rest.php | 384 +++++------------- iwsy/test.html | 20 + 19 files changed, 671 insertions(+), 1245 deletions(-) delete mode 100644 iwsy/README.md create mode 100644 iwsy/demo.html delete mode 100644 iwsy/properties.txt delete mode 100644 iwsy/resources/ecs/main.txt create mode 100644 iwsy/resources/ecs/user.txt create mode 100644 iwsy/resources/icon/user-loggedin.png create mode 100644 iwsy/resources/icon/user.png create mode 100644 iwsy/resources/img/SemoigoDawn.jpg delete mode 100644 iwsy/resources/json/demo.json create mode 100644 iwsy/test.html diff --git a/iwsy/README.md b/iwsy/README.md deleted file mode 100644 index e2ad6ee..0000000 --- a/iwsy/README.md +++ /dev/null @@ -1,13 +0,0 @@ -# IWannaShowYou - -IWannaShowYou is a GUI presentation package analagous to PowerPoint but for web-based editing and delivery. It is _not_ a PowerPoint clone, nor does it seek to be compatible in any way. It provides an editing environment that maintains a live view of the presentation at the step being edited. All editing is done by typing values; mouse-based editing may be added later. - -IWannaShowYou differs from PowerPoint in being step-based rather than slide-based. A step is any change to what is currently showing on the screen. If you wish to retain the notion of 'slides' you can regard a slide as an accumulation of a number of steps. Every slide consists of at least one step but there is no upper limit to the number. - -PowerPoint includes a rich set of graphical elements. IWannaShowYou relies more on _actions_, the simplest of which is a cut from one piece of content to another. IWannaShowYou presentations tend to be dynamic, with smooth transitions from one step to the next. The program is modular and permits the addition of plugins to perform any desired effect. Its architecture separates structure and content to allow either to be changed independently of the other. - -IWannaShowYou creates files in plain-text JSON format. - -IWannaShowYou runs in any browser and is usable on a PC or a mobile device. - -This project is under development. \ No newline at end of file diff --git a/iwsy/demo.html b/iwsy/demo.html new file mode 100644 index 0000000..5ee69ef --- /dev/null +++ b/iwsy/demo.html @@ -0,0 +1,21 @@ + + + + + + + + + + +
+ JSON::Presenter
+ Click/Tap or key Space/RightArrow to start in manual mode
+ Click/Tap or key Space/RightArrow to advance
+ Key Enter to start in auto mode
+ Click/Tap to exit auto mode +
+ + + + diff --git a/iwsy/index.html b/iwsy/index.html index e19b3e9..7edaf53 100644 --- a/iwsy/index.html +++ b/iwsy/index.html @@ -2,8 +2,8 @@ - - + + @@ -15,7 +15,8 @@ script Launcher variable Script - rest get Script from `/resources/ecs/main.txt?v=` cat now + require js `dist/plugins/iwsy.js?v=` cat now + rest get Script from `/resources/ecs/iwsy.txt?v=` cat now run Script diff --git a/iwsy/iwsy.js b/iwsy/iwsy.js index fb31b13..485a6be 100644 --- a/iwsy/iwsy.js +++ b/iwsy/iwsy.js @@ -83,10 +83,46 @@ const IWSY = (player, text) => { }, step.duration * 1000); }; + // Get the bounding rectangle of a block + const getBlockRect = (block, r) => { + const left = block.defaults.left; + const top = block.defaults.top; + const width = block.defaults.width; + const height = block.defaults.height; + if (isNaN(left) || isNaN(top) || isNaN(width) || isNaN(height)) { + return rect; + } + const w = r.width / 1000; + const h = r.height / 1000; + const rect = {}; + rect.width = width * w; + rect.height = height * h; + rect.left = left * w; + rect.top = top * h; + return rect; + }; + // Create a block - const createBlock = (block) => { - const w = player.getBoundingClientRect().width / 1000; - const h = player.getBoundingClientRect().height / 1000; + const createBlock = block => { + const r = player.getBoundingClientRect(); + let rect = { + width: r.width, + height: r.height, + left: 0, + top: 0 + } + if (block.defaults.parent) { + for (b of script.blocks) { + if (b.defaults.name === block.defaults.parent) { + rect = getBlockRect(b, rect); + break; + } + } + }; + const w = rect.width / 1000; + const h = rect.height / 1000; + const l = rect.left; + const t = rect.top; const defaults = block.defaults; const element = document.createElement(`div`); player.appendChild(element); @@ -97,15 +133,19 @@ const IWSY = (player, text) => { element.style.position = `absolute`; element.style.opacity = `0.0`; let val = defaults.left; - if (!isNaN(val)) { + if (isNaN(val)) { + element.style.left = val; + } else { val *= w; + element.style.left = `calc(${l}px + ${val}px)`; } - element.style.left = val; val = defaults.top; - if (!isNaN(val)) { + if (isNaN(val)) { + element.style.left = val; + } else { val *= h; + element.style.top = `calc(${t}px + ${val}px)`; } - element.style.top = val; val = defaults.width; if (!isNaN(val)) { val = `${val * w}px`; diff --git a/iwsy/properties.txt b/iwsy/properties.txt deleted file mode 100644 index 82915a9..0000000 --- a/iwsy/properties.txt +++ /dev/null @@ -1 +0,0 @@ -password=$2y$10$Kazqoaw6fGfV22bp3otJeO6Xra4bCsBJXq6JVAV07qOkHNDIFevWG diff --git a/iwsy/resources/README.md b/iwsy/resources/README.md index 58dd2e9..e277613 100644 --- a/iwsy/resources/README.md +++ b/iwsy/resources/README.md @@ -1,3 +1,3 @@ - # IWannaShowYou resources + # JSON::Presenter resources These are all the resources - scripts, images and text files - called for by the website. diff --git a/iwsy/resources/ecs/blocks.txt b/iwsy/resources/ecs/blocks.txt index 37cfe9a..e72dfec 100644 --- a/iwsy/resources/ecs/blocks.txt +++ b/iwsy/resources/ecs/blocks.txt @@ -26,6 +26,7 @@ variable ParentBlock variable Defaults variable PropertyDefaults + variable ParentDefaults variable PropertyNames variable PropertyName variable SelectedBlock @@ -188,8 +189,8 @@ Restart: if M is not SelectedBlock begin put element M of Blocks into ParentBlock - put property `defaults` of ParentBlock into Defaults - json add property `name` of Defaults to BlockNames + put property `defaults` of ParentBlock into ParentDefaults + json add property `name` of ParentDefaults to BlockNames end add 1 to M end diff --git a/iwsy/resources/ecs/iwsy.txt b/iwsy/resources/ecs/iwsy.txt index 6695176..0266387 100644 --- a/iwsy/resources/ecs/iwsy.txt +++ b/iwsy/resources/ecs/iwsy.txt @@ -18,6 +18,7 @@ div BlocksPanel div ContentPanel div Player + div UserPanel span Status span Span input NameEditor @@ -27,10 +28,12 @@ img Save img RunStop img Delete + img User a Link module StepsModule module BlocksModule module ContentModule + module UserModule variable Mobile variable LastSavedState variable Content @@ -38,7 +41,6 @@ variable Presentation variable Name variable CurrentName - variable PasswordValid variable ShowRun variable ReadOnly variable PasswordRequested @@ -50,6 +52,8 @@ variable CurrentScriptName variable Action variable Running + variable UserRecord + variable UserHome variable N ! The browser @@ -71,7 +75,7 @@ ! Test if site is on a static host clear ReadOnly - rest get List from `_list/scripts` + rest get List from `list/scripts` or begin print `Static site` set ReadOnly @@ -105,7 +109,7 @@ L2: set the style of Masthead to `border:0.2em solid purple;text-align:center;color: lemonchiffon;background:darkmagenta;position:relative` create Title in Masthead - set the style of Title to `font-size:4em;font-weight:bold;font-style:italic` + set the style of Title to `font-size:4em;font-weight:bold` set the content of Title to `I Wanna Show You` create Subtitle in Masthead set the style of Subtitle to @@ -116,7 +120,7 @@ L2: set the style of Controls to `padding:0 0.5em` create Buttons in Controls - set the style of Buttons to `width:100%;padding:0.5em 0` + set the style of Buttons to `width:100%;padding:0.5em 0;position:relative` create ScriptName in Controls set the style of ScriptName to `display:flex` @@ -151,10 +155,15 @@ L2: set the style of RunStop to `width:40px;margin-right:1.5em` set attribute `src` of RunStop to `resources/icon/run.png` set attribute `title` of RunStop to `Run` + create Link in Buttons + create User in Link + set the style of User to `width:40px;position:absolute;top:0.5em;right:0.5em` + set attribute `src` of User to `resources/icon/user.png` + set attribute `title` of User to `Login` create Status in Buttons if Mobile set the style of Status to `height:1em` - else set the style of Status to `float:right;margin:0.5em 0 0 0;color:green` + else set the style of Status to `float:right;margin:0.5em 70px 0 0;color:green` create Player in Left set the style of Player to `margin:0.5em` @@ -228,6 +237,7 @@ L2: set the text of CloseButton to `Close` put empty into LastSavedState + put empty into UserRecord on click New begin @@ -243,7 +253,7 @@ L2: set the content of Status to `No script name has been given` go to ResetStatus end - if PasswordValid rest post Presentation to `_save/json/` cat Name + if UserRecord rest post Presentation to `save/` cat UserHome cat `/` cat Name else put Presentation into storage as CurrentName end end @@ -260,7 +270,6 @@ L2: on click Save begin gosub to SaveChanges - gosub to GetPassword put the content of NameEditor into Name if Name is empty begin @@ -274,11 +283,11 @@ L2: if Name is not CurrentScriptName put empty into LastSavedState if Presentation is not LastSavedState begin - if PasswordValid + if UserRecord begin put Presentation into Content json format Content - rest post Content to `_save/json/` cat Name + rest post Content to `save/` cat UserHome cat `/` cat Name end else put Presentation into storage as Name put Presentation into LastSavedState @@ -297,7 +306,6 @@ L2: on click Delete begin - gosub to GetPassword put the content of NameEditor into Name if Name is empty begin @@ -307,7 +315,7 @@ L2: end if confirm `Are you sure you want to delete "` cat Name cat `"?` begin - if PasswordValid rest post to `_delete/json/` cat Name + if UserRecord rest post to `delete/` cat UserHome cat `/` cat Name else remove Name from storage gosub to SetStatusGreen set the content of Status to `Script "` cat Name cat `" deleted` @@ -320,6 +328,21 @@ L2: end on click RunStop go to DoRunStop + on click User + begin + if UserRecord + begin + put empty into UserRecord + set attribute `src` of User to `resources/icon/user.png` + set attribute `title` of User to `Login` + gosub to SetStatusRed + set the content of Status to `Not logged in` + put empty into storage as `email` + put empty into storage as `password` + go to ResetStatus + end + else send `login` to UserModule + end gosub to CreateNewPresentation put Presentation into LastSavedState @@ -330,6 +353,11 @@ L2: gosub to SelectSection clear Running iwsy load Player Presentation + + create UserPanel in Controls + rest get Script from `/resources/ecs/user.txt?v=` cat now + run Script with UserPanel as UserModule + send to UserModule on message begin @@ -354,6 +382,16 @@ L2: put property `block` of Message into N iwsy block N end + else if Action is `user` + begin + put property `user` of Message into UserRecord + put property `home` of UserRecord into UserHome + set attribute `src` of User to `resources/icon/user-loggedin.png` + set attribute `title` of User to `Logged in as ` cat property `name` of UserRecord + gosub to SetStatusGreen + set the content of Status to `Logged in as '` cat Name cat property `name` of UserRecord cat `'` + fork to ResetStatus + end end stop @@ -427,15 +465,13 @@ SaveChanges: return DoOpen: -! gosub to StopTestModule - gosub to GetPassword clear FileIsOpen if Presentation is not LastSavedState begin if confirm `Content has changed. Do you want to save it?` begin - if PasswordValid rest post Content to `_save/json/` cat Name + if UserRecord rest post Content to `save/` cat UserHome cat `/` cat Name else put Content into storage as Name end end @@ -456,9 +492,9 @@ DoOpen: set style `display` of FileListing to `inline-block` ! Fill the browser with content from the server - if PasswordValid + if UserRecord begin - rest get Files from `_list/json` + rest get Files from `list/` cat UserHome put the json count of Files into FileCount put empty into Content put 0 into N @@ -478,7 +514,10 @@ DoOpen: while N is less than FileCount begin put element N of Files into Item - if left 1 of Item is not `.` json add Item to Content + if left 1 of Item is not `.` + begin + if the position of `.json` in Item is not -1 json add Item to Content + end add 1 to N end end @@ -528,10 +567,11 @@ SelectFile: index File to the index of FileName set the content of NameEditor to File put File into CurrentScriptName - if PasswordValid rest get Presentation from `/resources/json/` cat File cat `?v=` cat now + if UserRecord rest get Presentation from `/resources/` cat UserHome cat `/` cat File cat `?v=` cat now else get Presentation from storage as File put Presentation into LastSavedState gosub to UpdateCurrentSection + gosub to SetStatusGreen set the content of Status to `Presentation '` cat File cat `' loaded` fork to ResetStatus set ShowRun @@ -607,42 +647,3 @@ ClearStepsButtons: set property `action` of Message to `clear` send Message to StepsModule return - -GetPassword: - if ReadOnly - begin - clear PasswordValid - return - end - if the hostname is `localhost` go to SetPasswordValid - if the hostname is `127.0.0.1` go to SetPasswordValid - - if not PasswordRequested - begin - set PasswordRequested - if hostname is `localhost` goto SetPasswordValid - if hostname is `127.0.0.1` goto SetPasswordValid - get Password from storage as `.password` - if Password is empty - begin - put `Please provide the admin password` cat newline - cat `or click OK to use private browser storage.` into Message - put prompt Message with `` into Password - end - rest get PasswordValid from `_verify/` cat Password - or begin - clear PasswordValid - return - end - if PasswordValid is `yes` - begin - put Password into storage as `.password` - set PasswordValid - end - else clear PasswordValid - end - return - -SetPasswordValid: - set PasswordValid - return \ No newline at end of file diff --git a/iwsy/resources/ecs/main.txt b/iwsy/resources/ecs/main.txt deleted file mode 100644 index 63e6c72..0000000 --- a/iwsy/resources/ecs/main.txt +++ /dev/null @@ -1,559 +0,0 @@ -! IWSY - - script IWSY - - div Body - div Left - div Right - div Controls - div ContentDiv - div Buttons - div Tabs - div Tab - div ScriptName - div StepsPanel - div BlocksPanel - div ContentPanel - div Player - span Status - span Span - input NameEditor - button SectionButton - img New - img Open - img Save - img RunStop - img Delete - img Cycle - a Link - module StepsModule - module BlocksModule - module ContentModule - variable Mobile - variable LastSavedState - variable Content - variable Script - variable Presentation - variable Name - variable CurrentName - variable PasswordValid - variable ShowRun - variable ReadOnly - variable PasswordRequested - variable Password - variable CallStack - variable Message - variable Section - variable Item - variable CurrentScriptName - variable N - - ! The browser - div Overlay - div Scroller - div Media - div FileListing - div FileRow - div LowerPanel - button CloseButton - a FileName - variable Alpha - variable List - variable FileList - variable FileCount - variable File - variable Files - variable FileIsOpen - -! Test if site is on a static host - clear ReadOnly - rest get List from `_list/scripts` - or begin - print `Static site` - set ReadOnly - go to L2 - end -L2: - clear PasswordRequested - put empty into CallStack - history set - on restore - begin - put the json count of CallStack into N - end - if portrait - begin - if mobile set Mobile else clear Mobile - end - - set the title to `IWSY` - create Body - if Mobile - set the style of Body to `width:100%;height:100%` - else - set the style of Body to `width:100%;height:100%;display:flex` - -! The left-hand panel - create Left in Body - set the style of Left to `flex:1;height:100%;border-right:1px solid black;margin-right:0.5em` - - create Controls in Left - set the style of Controls to `padding:0 0.5em` - - create Buttons in Controls - set the style of Buttons to `width:100%;padding:0.5em 0` - - create ScriptName in Controls - set the style of ScriptName to `display:flex` - if Mobile set style `display` of ScriptName to `none` - create Span in ScriptName - set the style of Span to `flex:15` - set the content of Span to `Script name: ` - create NameEditor in ScriptName - set the style of NameEditor to `flex:85;display:inline-block` - - create Link in Buttons - create New in Link - set the style of New to `width:40px;margin-right:0.5em` - set attribute `src` of New to `resources/icon/new.png` - set attribute `title` of New to `New` - create Open in Link - set the style of Open to `width:40px;margin-right:0.5em` - set attribute `src` of Open to `resources/icon/open.png` - set attribute `title` of Open to `Open` - create Link in Buttons - create Save in Link - set the style of Save to `width:40px;margin-right:1.5em` - set attribute `src` of Save to `resources/icon/save.png` - set attribute `title` of Save to `Save` - create Link in Buttons - create Delete in Link - set the style of Delete to `width:40px;margin-right:1.5em` - set attribute `src` of Delete to `resources/icon/trash.png` - set attribute `title` of Delete to `Delete` - create Link in Buttons - create RunStop in Link - set the style of RunStop to `width:40px;margin-right:1.5em` - set attribute `src` of RunStop to `resources/icon/run.png` - set attribute `title` of RunStop to `Run` - create Link in Buttons - create Cycle in Link - set the style of Cycle to `width:40px` - set attribute `src` of Cycle to `resources/icon/cycle.png` - set attribute `title` of Cycle to `Cycle screens` - - create Status in Buttons - if Mobile set the style of Status to `height:1em` - else set the style of Status to `float:right;margin:0.5em 0 0 0;color:green` - - create Player in Left - set the style of Player to `margin:0.5em` - iwsy init - -! The right-hand panel - create Right in Body - set the style of Right to `flex:1;height:100%;display:flex;flex-direction:column;overflow:hidden` - - create ContentDiv in Right - set the style of ContentDiv to `width:100%;height:100%;position:relative` - - create Tabs in ContentDiv - set the style of Tabs to `width:100%;padding:0.5em 0;text-align:center` - set the elements of SectionButton to 3 - divide 100 by the elements of SectionButton giving N - create Tab in Tabs - set the style of Tab to `display:inline-block;width:` cat N cat `%` - index SectionButton to 0 - create SectionButton in Tab - set the style of SectionButton to `width:100%` - set the content of SectionButton to `Steps` - create StepsPanel in ContentDiv - set the style of StepsPanel to `position:absolute;left:0;top:2.5em;width:100%;height:calc(100% - 2.5em)` - create Tab in Tabs - set the style of Tab to `display:inline-block;width:` cat N cat `%` - index SectionButton to 1 - create SectionButton in Tab - set the style of SectionButton to `width:100%` - set the content of SectionButton to `Blocks` - create BlocksPanel in ContentDiv - set the style of BlocksPanel to `position:absolute;left:0;top:2.5em;width:100%;height:calc(100% - 2.5em)` - create Tab in Tabs - set the style of Tab to `display:inline-block;width:` cat N cat `%` - index SectionButton to 2 - create SectionButton in Tab - set the style of SectionButton to `width:100%` - set the content of SectionButton to `Content` - create ContentPanel in ContentDiv - set the style of ContentPanel to `position:absolute;left:0;top:2.5em;width:100%;height:calc(100% - 2.5em)` - - put 0 into Section - index SectionButton to 0 - on click SectionButton - begin - put the index of SectionButton into N - gosub to SelectSection - end - -! Create the file browser - create Overlay in Body - set the style of Overlay to - `position:absolute;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,0.0);display:none` - - create Media in Overlay - set style of Media to `display:none;width:100%;height:100%;text-align:center` - - create FileListing in Media - set the style of FileListing to - `display:none;width:50%;height:75%;margin:auto;background-color:white;` - cat `padding:2em 2em 3em 2em;text-align:center;position: absolute;top: 50%;left: 50%;` - cat `transform: translateX(-50%) translateY(-50%)` - - create Scroller in FileListing - set the style of Scroller to `height:100%;overflow:scroll;text-align:left` - - create LowerPanel in FileListing - - create CloseButton in LowerPanel - set the style of CloseButton to `margin-left:2em` - set the text of CloseButton to `Close` - - put empty into LastSavedState - - on click New - begin -! gosub to StopTestModule - if Presentation is not LastSavedState - begin - if confirm `Content has changed. Do you want to save it?` - begin - put the content of NameEditor into Name - if Name is empty - begin - gosub to SetStatusRed - set the content of Status to `No script name has been given` - go to ResetStatus - end - if PasswordValid rest post Presentation to `_save/json/` cat Name - else put Presentation into storage as CurrentName - end - end - clear FileIsOpen - set the content of NameEditor to empty - put empty into CurrentScriptName - gosub to CreateNewPresentation - put Presentation into LastSavedState - gosub to UpdateCurrentSection - end - - on click Open go to DoOpen - - on click Save - begin - gosub to SaveChanges - gosub to GetPassword - put the content of NameEditor into Name - if Name is empty - begin - gosub to SetStatusRed - set the content of Status to `No script name has been given` - go to ResetStatus - end - if the position of `.json` in Name is -1 put Name cat `.json` into Name - replace ` ` with `_` in Name - set the content of NameEditor to Name - if Name is not CurrentScriptName put empty into LastSavedState - if Presentation is not LastSavedState - begin - if PasswordValid rest post Presentation to `_save/json/` cat Name - else put Presentation into storage as Name - put Presentation into LastSavedState - gosub to SetStatusGreen - set the content of Status to `Presentation '` cat Name cat `' saved` - put Name into CurrentScriptName - fork to ResetStatus - end - else - begin - gosub to SetStatusGreen - set the content of Status to `Nothing has changed` - fork to ResetStatus - end - end - - on click Delete - begin - gosub to GetPassword - put the content of NameEditor into Name - if Name is empty - begin - gosub to SetStatusGreen - set the content of Status to `Nothing to delete` - go to ResetStatus - end - if confirm `Are you sure you want to delete "` cat Name cat `"?` - begin - if PasswordValid rest post to `_delete/json/` cat Name - else remove Name from storage - gosub to SetStatusGreen - set the content of Status to `Script "` cat Name cat `" deleted` - set the content of NameEditor to empty - put empty into CurrentScriptName - put empty into Presentation - put Presentation into LastSavedState - go to ResetStatus - end - end - - gosub to CreateNewPresentation - put Presentation into LastSavedState - gosub to SetupSteps - gosub to SetupBlocks - gosub to SetupContent - put 0 into N - gosub to SelectSection - - on message - begin - put the message into N - iwsy goto N - end - stop - -CreateNewPresentation: - set Presentation to object - set Item to object - set property `blocks` of Presentation to Item - set property `content` of Presentation to Item - set Item to array - set property `steps` of Presentation to Item - return - -SetupSteps: - if StepsModule is not running - begin - rest get Script from `/resources/ecs/steps.txt` - run Script with StepsPanel and Presentation as StepsModule - end - return - -SetupBlocks: - if BlocksModule is not running - begin - rest get Script from `/resources/ecs/blocks.txt` - run Script with BlocksPanel and Presentation as BlocksModule - end - return - -SetupContent: - if ContentModule is not running - begin - rest get Script from `/resources/ecs/content.txt` - run Script with ContentPanel and Presentation as ContentModule - end - return - -! Select one of the 3 sections -SelectSection: - gosub to SaveChanges - index SectionButton to Section - set style `background` of SectionButton to `` - put N into Section - index SectionButton to Section - set style `background` of SectionButton to `lightgray` - -! Update the current section -UpdateCurrentSection: - set style `display` of StepsPanel to `none` - set style `display` of BlocksPanel to `none` - set style `display` of ContentPanel to `none` - if Section is 0 - begin - set style `display` of StepsPanel to `block` - send to StepsModule - end - else if Section is 1 - begin - set style `display` of BlocksPanel to `block` - send to BlocksModule - end - else if Section is 2 - begin - set style `display` of ContentPanel to `block` - send to ContentModule - end - return - -SaveChanges: - send `save` to StepsModule - send `save` to BlocksModule - send `save` to ContentModule - return - -DoOpen: -! gosub to StopTestModule - gosub to GetPassword - - clear FileIsOpen - if Presentation is not LastSavedState - begin - if confirm `Content has changed. Do you want to save it?` - begin - if PasswordValid rest post Content to `_save/json/` cat Name - else put Content into storage as Name - end - end - - ! Animate the background - set style `display` of Overlay to `block` - put 0 into Alpha - while Alpha is less than 8 - begin - set style `background-color` of Overlay to `rgba(0,0,0,0.` cat Alpha cat `)` - wait 4 ticks - add 1 to Alpha - end - wait 10 ticks - - ! Make the browser panel visible - set style `display` of Media to `block` - set style `display` of FileListing to `inline-block` - - ! Fill the browser with content from the server - if PasswordValid - begin - rest get Files from `_list/json` - put the json count of Files into FileCount - put empty into Content - put 0 into N - while N is less than FileCount - begin - put element N of Files into Item - if property `type` of Item is `json` json add property `name` of Item to Content - add 1 to N - end - end - else - begin - get Files from storage - put the json count of Files into FileCount - put empty into Content - put 0 into N - while N is less than FileCount - begin - put element N of Files into Item - if left 1 of Item is not `.` json add Item to Content - add 1 to N - end - end - json sort Content - put empty into FileList - put the json count of Content into FileCount - set the elements of File to FileCount - set the elements of FileName to FileCount - ! Add a row for each file - put 0 into N - while N is less than FileCount - begin - index File to N - index FileName to N - put `
` - cat `
` into File - replace `INDEX` with N in File - if N is even replace `ODDEVEN` with `ec-even` in File - else replace `ODDEVEN` with `ec-odd` in File - put FileList cat File into FileList - add 1 to N - end - - set the content of Scroller to FileList - ! Add the document names - put 0 into N - while N is less than FileCount - begin - index File to N - index FileName to N - put element N of Content into File - attach FileRow to `ec-file-row-` cat N - attach FileName to `ec-file-name-` cat N - set the content of FileName to File - if N is even set style `background` of FileRow to `lightgray` - on click FileName go to SelectFile - add 1 to N - end - on click CloseButton - begin - put LastSavedState into Content - go to CloseBrowser - end - stop - -SelectFile: - index File to the index of FileName - set the content of NameEditor to File - put File into CurrentScriptName - if PasswordValid rest get Presentation from `/resources/json/` cat File - else get Presentation from storage as File - put Presentation into LastSavedState - gosub to UpdateCurrentSection - set the content of Status to `Presentation '` cat File cat `' loaded` - fork to ResetStatus - set ShowRun - iwsy load Player Presentation - -CloseBrowser: - set style `background-color` of Overlay to `rgba(0,0,0,0.0)` - set style `display` of Overlay to `none` - set style `display` of Media to `none` - stop - -SetStatusRed: - set style `color` of Status to `red` - return - -SetStatusGreen: - set style `color` of Status to `green` - return - -ResetStatus: - wait 2 - set the content of Status to `` - stop - -GetPassword: - if ReadOnly - begin - clear PasswordValid - return - end - if the hostname is `localhost` go to SetPasswordValid - if the hostname is `127.0.0.1` go to SetPasswordValid - - if not PasswordRequested - begin - set PasswordRequested - if hostname is `localhost` goto SetPasswordValid - if hostname is `127.0.0.1` goto SetPasswordValid - get Password from storage as `.password` - if Password is empty - begin - put `Please provide the admin password` cat newline - cat `or click OK to use private browser storage.` into Message - put prompt Message with `` into Password - end - rest get PasswordValid from `_verify/` cat Password - or begin - clear PasswordValid - return - end - if PasswordValid is `yes` - begin - put Password into storage as `.password` - set PasswordValid - end - else clear PasswordValid - end - return - -SetPasswordValid: - set PasswordValid - return \ No newline at end of file diff --git a/iwsy/resources/ecs/scripted.txt b/iwsy/resources/ecs/scripted.txt index bdf4407..afee677 100644 --- a/iwsy/resources/ecs/scripted.txt +++ b/iwsy/resources/ecs/scripted.txt @@ -42,7 +42,7 @@ get Password from storage as `.password` if Password is empty put prompt `Please type the admin password` with `` into Password - rest get Valid from `_verify/` cat Password + rest get Valid from `verify/` cat Password or begin print Valid alert `Unable to verify password.` @@ -129,7 +129,7 @@ put the content of ContentEditor into Content if Content is not Current begin - rest post Content to `_save/ecs/` cat Name + rest post Content to `save/ecs/` cat Name put Content into Current set the content of Status to `Script '` cat Name cat `' saved` fork to ResetStatus @@ -155,7 +155,7 @@ if confirm `Are you sure you want to delete '` cat Name cat `'?` begin codemirror close ContentEditor - rest post to `_delete/ecs/` cat Name + rest post to `delete/ecs/` cat Name set the content of Status to `Script '` cat Name cat `' deleted` set the content of NameEditor to empty put empty into Content @@ -173,7 +173,7 @@ DoOpen: begin if confirm `Content has changed. Do you want to save it?` begin - rest post Content to `_save/ecs/' cat CurrentName + rest post Content to `save/ecs/' cat CurrentName codemirror attach to ContentEditor codemirror set content of ContentEditor to Content end @@ -201,7 +201,7 @@ DoOpen: set style `display` of FileListing to `inline-block` ! Fill the browser with content from the server - rest get Files from `_list/ecs?v=` cat now + rest get Files from `list/ecs?v=` cat now put the json count of Files into FileCount put empty into Content put 0 into N diff --git a/iwsy/resources/ecs/user.txt b/iwsy/resources/ecs/user.txt new file mode 100644 index 0000000..ce42007 --- /dev/null +++ b/iwsy/resources/ecs/user.txt @@ -0,0 +1,378 @@ +! Users + + script User + + import div Container + + div LoginDiv + div ItemDiv + div ButtonDiv + div EmailDiv + div ResetDiv + div PasswordDiv + div Password2Div + div NameDiv + div ConfirmationDiv + label Label + label Reset + label Back + input EmailInput + input ResetInput + input PasswordInput + input Password2Input + input NameInput + input ConfirmationInput + button LoginButton + button RegisterButton + button ResetPasswordButton + a Link + variable LabelWidth + variable FieldWidth + variable FieldHeight + variable Record + variable PasswordHash + variable ConfirmationCode + variable UserName + variable Email + variable Password + variable Validated + variable Message + + put 25 into LabelWidth + put 78 into FieldWidth + put `height:2em` into FieldHeight + + set the style of Container to `padding-top:0.5em` + + create LoginDiv in Container + set the style of LoginDiv to `padding:0.5em;border:1px solid black;display:none` + + create EmailDiv in LoginDiv + set the style of EmailDiv to `display:flex` + create Label in EmailDiv + set the style of Label to `padding-top:0.8em;flex:` cat LabelWidth + set the content of Label to `Email:` + create EmailInput in EmailDiv + set the style of EmailInput to FieldHeight cat `;padding:4px;flex:` cat FieldWidth + set the size of EmailInput to 40 + + create PasswordDiv in LoginDiv + set the style of PasswordDiv to `display:flex` + create Label in PasswordDiv + set the style of Label to `padding-top:0.8em;flex:` cat LabelWidth + set the content of Label to `Password:` + create PasswordInput in PasswordDiv + set the style of PasswordInput to FieldHeight cat `;flex:` cat FieldWidth + set the size of PasswordInput to 40 + set attribute `type` of PasswordInput to `password` + + create Password2Div in LoginDiv + set the style of Password2Div to `display:none` + create Label in Password2Div + set the style of Label to `padding-top:0.8em;flex:` cat LabelWidth + set the content of Label to `Password (again):` + create Password2Input in Password2Div + set the style of Password2Input to FieldHeight cat `;flex:` cat FieldWidth + set the size of Password2Input to 40 + set attribute `type` of Password2Input to `password` + + create ResetDiv in LoginDiv + set the style of ResetDiv to `display:none` + create Label in ResetDiv + set the style of Label to `padding-top:0.8em;flex:` cat LabelWidth + set the content of Label to `Reset Code:` + create ResetInput in ResetDiv + set the style of ResetInput to FieldHeight cat `;padding:4px;flex:` cat FieldWidth + set the size of ResetInput to 6 + + create NameDiv in LoginDiv + set the style of NameDiv to `display:none` + create Label in NameDiv + set the style of Label to `padding-top:0.8em;flex:` cat LabelWidth + set the content of Label to `Name or Nickname:` + create NameInput in NameDiv + set the style of NameInput to FieldHeight cat `;padding:4px;flex:` cat FieldWidth + set the size of NameInput to 40 + + create ConfirmationDiv in LoginDiv + set the style of ConfirmationDiv to `display:none` + create Label in ConfirmationDiv + set the style of Label to `padding-top:0.8em;flex:` cat LabelWidth + set the content of Label to `Confirmation Code:` + create ConfirmationInput in ConfirmationDiv + set the style of ConfirmationInput to FieldHeight cat `;padding:4px;flex:` cat FieldWidth + set the size of ConfirmationInput to 6 + + create ItemDiv in LoginDiv + set the style of ItemDiv to `display:flex;margin-top:0.5em` + create Label in ItemDiv + set the style of Label to `flex:` cat LabelWidth + + create ButtonDiv in ItemDiv + set the style of ButtonDiv to `flex:` cat FieldWidth + create LoginButton in ButtonDiv + set the style of LoginButton to `margin-right:1em` + set the text of LoginButton to `Login` + on click LoginButton go to ProcessLogin + create RegisterButton in ButtonDiv + set the style of RegisterButton to `margin-right:1em` + set the text of RegisterButton to `Register` + on click RegisterButton go to Register + create ResetPasswordButton in ButtonDiv + set style `display` of ResetPasswordButton to `none` + set the text of ResetPasswordButton to `Reset Password` + on click ResetPasswordButton go to ResetPassword2 + create Link in ButtonDiv + set the style of Link to `margin-left:3em` + create Reset in Link + set the text of Reset to `I lost my password` + on click Reset go to ResetPassword + create Link in ButtonDiv + set the style of Link to `margin-left:3em` + create Back in Link + set style `display` of Back to `none` + set the text of Back to `Back` + on click Back go to GoBack + + on message + begin + put the message into Message + if Message is `login` go to ShowLoginForm + else go to Start + end + set ready + stop + +! Start the user manager +Start: + get Email from storage as `email` + get Password from storage as `password` + if Email is empty stop + if Password is empty stop + go to SetupLogin + +! Show the login form +ShowLoginForm: + set the content of EmailInput to `` + set the content of PasswordInput to `` + set style `display` of LoginDiv to `block` + stop + +! Preload email and password fields +SetupLogin: + set the content of EmailInput to Email + set the content of PasswordInput to Password + +! Process a login request +ProcessLogin: + if EmailInput is empty go to FillAllFields + if PasswordInput is empty go to FillAllFields + rest get Record from `email/` cat EmailInput + if Record is empty go to NoRecord + if property `email` of Record is not EmailInput go to NoRecord + put property `password` of Record into Password + replace `/` with `~` in Password + rest get Validated from `validate/` cat Password cat `/` cat PasswordInput + if Validated is `yes` + begin + gosub to SetStorage + set style `display` of LoginDiv to `none` + gosub to DoLoggedIn + stop + end + +! Deal with no record error +NoRecord: + gosub to ClearStorage + alert `No record exists or incorrect password for ` cat EmailInput cat `.` + stop + +! Logged in, so tell the parent and hide the interface +DoLoggedIn: + gosub to SetStorage + set Message to object + set property `action` of Message to `user` + set property `user` of Message to Record + send Message to parent + set style `display` of LoginDiv to `none` + return + +ClearStorage: + put empty into storage as `email` + put empty into storage as `password` + return + +SetStorage: + put EmailInput into storage as `email` + put PasswordInput into storage as `password` + return + +! Register as new user +Register: + set style `display` of PasswordDiv to `flex` + set style `display` of Password2Div to `flex` + set style `display` of ResetDiv to `none` + set style `display` of NameDiv to `flex` + set style `display` of LoginButton to `none` + set style `display` of RegisterButton to `inline-block` + set style `display` of ResetPasswordButton to `none` + set style `display` of Reset to `none` + set style `display` of Back to `inline` + on click RegisterButton go to ProcessRegistration + stop + +! Process the registration +ProcessRegistration: + if EmailInput is empty go to FillAllFields + if PasswordInput is empty go to FillAllFields + if Password2Input is empty go to FillAllFields + if NameInput is empty go to FillAllFields + if PasswordInput is not Password2Input + begin + alert `Passwords do not match` + stop + end + + rest get Record from `email/` cat EmailInput + if Record is not empty go to EmailExists + rest get Record from `name/` cat NameInput + if Record is not empty go to NameExists + + put random 900000 into ConfirmationCode + add 100000 to ConfirmationCode + set Record to object + set property `from` of Record to `admin@iwannashowyou.com` + set property `to` of Record to EmailInput + set property `subject` of Record to `Confirmation code` + set property `message` of Record to `` + cat `Hi ` cat NameInput cat `

` + cat `Please use this code to confirm your registration at I Wanna Show You:
` + cat `

` cat ConfirmationCode cat `

` + cat `If you did not request this email, please ignore it and no action will be taken.` + cat `` + rest post Record to `email` + set style `display` of ConfirmationDiv to `flex` + set the text of RegisterButton to `Confirm registration` + wait 10 ticks + alert `We have sent a confirmation code to ` cat Email cat `.` cat newline + cat `When it arrives, type or paste it in the "Confirmation Code" box ` + cat `and click "Confirm Registration".` + on click RegisterButton + begin + if ConfirmationInput is not ConfirmationCode + begin + alert `Invalid confirmation code - no action taken.` + stop + end + gosub to SetStorage + set Record to object + set property `email` of Record to EmailInput + rest get PasswordHash from `hash/` cat PasswordInput + set property `password` of Record to PasswordHash + set property `name` of Record to NameInput + rest post Record to `user` + set style `display` of ConfirmationDiv to `none` + set the text of RegisterButton to `Register` + gosub to DoLoggedIn + end + stop + +! Email is already in use +EmailExists: + alert `A record already exists for ` cat EmailInput cat `.` + stop + +! Name is already in use +NameExists: + alert `A record already exists for ` cat NameInput cat `.` + stop + +! One or more fileds are empty +FillAllFields: + alert `Please fill in all the fields.` + stop + +! Reset the password +ResetPassword: + set style `display` of ResetDiv to `none` + set style `display` of PasswordDiv to `none` + set style `display` of Password2Div to `none` + set style `display` of LoginButton to `none` + set style `display` of RegisterButton to `none` + set style `display` of ResetPasswordButton to `inline-block` + set style `display` of Reset to `none` + set style `display` of Back to `inline-block` + wait 10 ticks + alert `Please type the email you used for your registration then click Reset Password.` + on click ResetPasswordButton go to ResetPassword2 + stop + +! Process the password reset +ResetPassword2: + if EmailInput is empty go to FillAllFields + rest get Record from `email/` cat EmailInput + if Record is empty + begin + alert ` No record exists for ` cat EmailInput cat `.` + go to Register + end + put property `name` of Record into UserName + put random 900000 into ConfirmationCode + add 100000 to ConfirmationCode + set Record to object + set property `from` of Record to `admin@iwannashowyou.com` + set property `to` of Record to EmailInput + set property `subject` of Record to `Password reset key` + set property `message` of Record to `` + cat `Hi ` cat NameInput cat `

` + cat `Please use this code to confirm your password reset request at I Wanna Show You:
` + cat `

` cat ConfirmationCode cat `

` + cat `If you did not request this email, please ignore it and no action will be taken.` + cat `` + rest post Record to `email` + set style `display` of ResetDiv to `flex` + set style `display` of PasswordDiv to `flex` + set the content of PasswordInput to `` + set style `display` of Password2Div to `flex` + set the content of Password2Input to `` + set the text of ConfirmationInput to `` + on click ResetPasswordButton go to ResetPassword3 + wait 10 ticks + alert `We have sent a password reset code to ` cat Email cat `.` cat newline + cat `When it arrives, use it on this screen to confirm your new password.` + stop + +! Confirm new password +ResetPassword3: + if PasswordInput is empty go to FillAllFields + if Password2Input is empty go to FillAllFields + if PasswordInput is not Password2Input + begin + alert `Passwords do not match` + stop + end + if ResetInput is not ConfirmationCode + begin + alert `Invalid password reset code - no action taken.` + stop + end + set Record to object + set property `email` of Record to EmailInput + rest get PasswordHash from `hash/` cat PasswordInput + set property `password` of Record to PasswordHash + set property `name` of Record to UserName + rest post Record to `user` + gosub to SetStorage + go to DoLoggedIn + +! Go back to the initial state +GoBack: + set style `display` of ResetDiv to `none` + set style `display` of PasswordDiv to `flex` + set style `display` of Password2Div to `none` + set style `display` of NameDiv to `none` + set style `display` of LoginButton to `inline-block` + set style `display` of Reset to `inline` + set style `display` of Back to `none` + on click RegisterButton go to Register + stop \ No newline at end of file diff --git a/iwsy/resources/icon/user-loggedin.png b/iwsy/resources/icon/user-loggedin.png new file mode 100644 index 0000000000000000000000000000000000000000..f0085756be07278b2c2e740ade58b4ce2c7aa1d9 GIT binary patch literal 11316 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 qLI7p}d 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 TT#~n!00000NkvXXu0mjfP`wfn literal 0 HcmV?d00001 diff --git a/iwsy/resources/img/SemoigoDawn.jpg b/iwsy/resources/img/SemoigoDawn.jpg new file mode 100644 index 0000000000000000000000000000000000000000..01982026615af6448267229d3e6b2f071fc05780 GIT binary patch literal 174798 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 yGp-t&QJT(fF#;_Dl{(9s@4``-lK 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 z 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"SELECT id from $table"); - //print "{\"count\":".mysqli_num_rows($result)."}"; - print mysqli_num_rows($result); - mysqli_free_result($result); - break; - - case 'list': - // List items by ID, with optional offset & count, defaulting to 0 & 10 - // Endpoint: {site root}/easycoder/rest.php/{table}/list/{offset}/{count} - switch (count($request)) { - case 2: - $offset = 0; - $count = $request[1]; - break; - case 3: - $offset = $request[1]; - $count = $request[2]; - break; - default: - $offset = 0; - $count = 10; - break; - } - $result = $conn->query("SELECT id FROM $table LIMIT $offset, $count"); - $response = '['; - while ($row = mysqli_fetch_object($result)) { - if ($response != '[') { - $response .= ','; - } - $response .= $row->id; - } - mysqli_free_result($result); - $response .= ']'; - print $response; - break; - - case 'names': - // List items by name in ascending alphabetical order, - // with optional offset & count, defaulting to 0 & 10 - // Endpoint: {site root}/easycoder/rest.php/{table}/names/{offset}/{count} - switch (count($request)) { - case 2: - $offset = 0; - $count = $request[1]; - break; - case 3: - $offset = $request[1]; - $count = $request[2]; - break; - default: - $offset = 0; - $count = 10; - break; - } - $result = $conn->query("SELECT name FROM $table ORDER BY name LIMIT $offset, $count"); - $response = '['; - while ($row = mysqli_fetch_object($result)) { - if ($response != '[') { - $response .= ','; + case 'email': + // Endpoint: {site root}/rest.php/email/{email} + $email= $request[0]; + if ($email) { + logger("SELECT * from users WHERE email='$email'"); + $result = query($conn, "SELECT * from users WHERE email='$email'"); + if ($row = mysqli_fetch_object($result)) { + $response->id = $row->id; + $response->email = $row->email; + $response->password = $row->password; + $response->name = $row->name; + $response->home = $row->year . '/' . str_pad($row->day, 3, '0', STR_PAD_LEFT); + print json_encode($response); } - $response .= "\"$row->name\""; - } - mysqli_free_result($result); - $response .= ']'; - print $response; - break; - - case 'id': - // Get a record given its id - // Endpoint: {site root}/easycoder/rest.php/{table}/id/{id} - if (count($request) < 2) { - http_response_code(400); - print "Incomplete REST query."; - exit; - } - $id = $request[1]; - $result = $conn->query("SELECT value FROM $table WHERE id='$id'"); - if ($row = mysqli_fetch_object($result)) { - print $row->value; } else { http_response_code(404); - print "Cannot get item id '$id' as it does not exist."; + print "{\"message\":\"REST: Email is empty.\"}"; } - mysqli_free_result($result); break; - + case 'name': - case 'query': - // Get a record given its name - // Endpoint: {site root}/easycoder/rest.php/{table}/name/{name} - if (count($request) < 2) { - http_response_code(400); - print "Incomplete REST query."; - exit; - } - $name = $request[1]; - $result = $conn->query("SELECT value FROM $table WHERE name='$name'"); - if ($row = mysqli_fetch_object($result)) { - print $row->value; - } else if ($action == 'name') { + // Endpoint: {site root}/rest.php/name/{name} + if ($request[0]) { + logger("SELECT * from users WHERE name='" . $request[0] . "'"); + $result = query($conn, "SELECT * from users WHERE name='" . $request[0] . "'"); + if ($row = mysqli_fetch_object($result)) { + $response->id = $row->id; + $response->email = $row->email; + $response->password = $row->password; + $response->name = $row->name; + $response->home = $row->year . '/' . str_pad($row->day, 3, '0', STR_PAD_LEFT); + print json_encode($response); + } + } else { http_response_code(404); - print "Cannot get item named '$name' as it does not exist."; + print "{\"message\":\"REST: Name is empty.\"}"; } break; - + default: http_response_code(404); - print "I don't understand this request."; + print "{\"message\":\"REST: Unknown action '$action'.\"}"; break; } } - ///////////////////////////////////////////////////////////////////////// // POST - function post($conn, $table, $request) { + function post($conn, $action, $request) { $ts = time(); - $action = $request[0]; switch ($action) { - case 'set': - // Set the value of a record - if (count($request) > 2) { - switch ($request[1]) { - case 'id': - // Set by id. The record must already exist - // Endpoint: {site root}/easycoder/rest.php/{table}/id/{id} - header("Content-Type: application/text"); - $value = stripslashes(file_get_contents("php://input")); - $id = $request[2]; - // See if there's an item with this id - $result = $conn->query("SELECT id FROM $table WHERE id=$id"); - if (mysqli_fetch_object($result)) { - // It exists, so update it - $value = urldecode($value); - logger("UPDATE $table SET value='$value',ts=$ts WHERE id=$id"); - query($conn, "UPDATE $table SET value='$value',ts=$ts WHERE id=$id"); - } else { - // Not found - http_response_code(404); - logger("{\"code\":\"404\",\"message\":\"Cannot set record $id of $table.\"}"); - print "{\"message\":\"Cannot set record $id of $table.\"}"; - } - mysqli_free_result($result); - break; - - case 'name': - // Set by name. If the record does not exist, add it - // Endpoint: {site root}/easycoder/rest.php/{table}/name/{name} - header("Content-Type: application/text"); - $value = stripslashes(file_get_contents("php://input")); - $name = $request[2]; - // See if there's an item with this name - $result = $conn->query("SELECT id FROM $table WHERE name='$name'"); - if (mysqli_fetch_object($result)) { - // It exists, so update it - query($conn, "UPDATE $table SET value='$value',ts=$ts WHERE name='$name'"); - } else { - // Add a new item - query($conn, "INSERT INTO $table (name,value,ts) VALUES ('$name','$value','$ts')"); - http_response_code(201); - } - mysqli_free_result($result); - break; - - default: - http_response_code(400); - print "{\"message\":\"Value '".$request[1]."' should be 'id' or 'name'.\"}"; - break; - } + case 'user': + // Endpoint: {site root}/rest.php/user + header("Content-Type: application/json"); + $value = stripslashes(file_get_contents("php://input")); + $json = json_decode($value); + $email = $json->email; + $password = $json->password; + $name = $json->name; + // Check if this user is already present + $result = query($conn, "SELECT id FROM users WHERE email='$email'"); + if ($row = mysqli_fetch_object($result)) { + // Yes, so update the record + logger("UPDATE users SET password='$password',name='$name',ts=$ts WHERE email='$email'"); + query($conn, "UPDATE users SET password='$password',name='$name',ts=$ts WHERE email='$email'"); } else { - http_response_code(400); - print "{\"message\":\"Incomplete REST query.\"}"; - } - break; - - case 'delete': - // Delete a record, by id or by name - // Endpoint: {site root}/easycoder/rest.php/{table}/delete/{id} - // Or: ...{site root}/easycoder/rest.php/table/delete/{name} - if (count($request) > 1) { - $item = $request[1]; - if (is_int($item)) { - // Delete the requested id - query($conn, "DELETE FROM $table WHERE id=$id"); - } else { - // Delete the named item - query($conn, "DELETE FROM $table WHERE name='$item'"); - } + // No, so add a new record + $year = date('Y'); + $day = str_pad(date('z'), 3, '0', STR_PAD_LEFT); + logger("INSERT INTO users (email,password,name,year,day,ts) VALUES ('$email','$password','$name','$year','$day','$ts')"); + query($conn, "INSERT INTO users (email,password,name,year,day,ts) VALUES ('$email','$password','$name','$year','$day','$ts')"); + mkdir("resources/$year/$day", 0777, true); } - break; - - case 'rename': - // Rename a record - // Endpoint: {site root}/easycoder/rest.php/{table}/rename - $value = $_POST['value']; - $id = $_POST['id']; - if (!$id && count($request) > 1) { - $id = $request[1]; - } - if ($id) { - query($conn, "UPDATE $table SET name='$name',value='$value' WHERE id=$id"); - } else { - $name = $_POST['name']; - $newname = $_POST['newname']; - // See if there's a data item with the new name - $result = $conn->query("SELECT id FROM $table WHERE name='$newname'"); - if ($row = mysqli_fetch_object($result)) { - // Conflict - http_response_code(409); - print "{\"message\":\"Cannot rename item '$name' to '$newname' as it already exists.\"}"; - } else { - // See if there's a data item with this name - $result = $conn->query("SELECT id FROM $table WHERE name='$name'"); - if ($row = mysqli_fetch_object($result)) { - // There's a data item to rename - $id = $row->id; - query($conn, "UPDATE $table SET name='$newname',value='$value' WHERE id=$id"); - } else { - // Not found - http_response_code(404); - print "{\"message\":\"Cannot rename item '$name' as it does not exist.\"}"; - } - } mysqli_free_result($result); - } break; - + default: - http_response_code(404); - print "{\"message\":\"Unrecognised action '$action' requested.\"}"; + http_response_code(400); + print "{\"message\":\"REST: Unknown action '$action' for 'users'.\"}"; break; } } diff --git a/iwsy/test.html b/iwsy/test.html new file mode 100644 index 0000000..29b1ced --- /dev/null +++ b/iwsy/test.html @@ -0,0 +1,20 @@ + + + + + + + + +
+ I Wanna Show You
+ Click/Tap or key Space/RightArrow to start in manual mode
+ Click/Tap or key Space/RightArrow to advance
+ Key Enter to start in auto mode
+ Click/Tap to exit auto mode +
+ + + + +