mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-15 06:05:58 -06:00
.examples
git-svn-id: svn://ultimatepp.org/upp/trunk@15683 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
17cdd2c8f5
commit
32a5974492
10 changed files with 0 additions and 342 deletions
|
|
@ -1,16 +0,0 @@
|
|||
#ifndef _AdrBook_AdrBook_h_
|
||||
#define _AdrBook_AdrBook_h_
|
||||
|
||||
#include <Skylark/Skylark.h>
|
||||
#include <Skylark/Iml/Iml.h>
|
||||
#include <plugin/sqlite3/Sqlite3.h>
|
||||
|
||||
using namespace Upp;
|
||||
|
||||
#define MODEL <AddressBookWeb/Model.sch>
|
||||
|
||||
#define SCHEMADIALECT <plugin/sqlite3/Sqlite3Schema.h>
|
||||
#include <Sql/sch_header.h>
|
||||
|
||||
|
||||
#endif
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
description "Address book WEB application - (using Skylark)\377";
|
||||
|
||||
uses
|
||||
Core,
|
||||
plugin/sqlite3,
|
||||
Skylark,
|
||||
Skylark/Iml,
|
||||
plugin/jpg;
|
||||
|
||||
file
|
||||
AddressBook.h,
|
||||
Model.sch,
|
||||
Pages.icpp,
|
||||
Main.cpp,
|
||||
Dialog.witz,
|
||||
Index.witz,
|
||||
AdrBook.iml;
|
||||
|
||||
mainconfig
|
||||
"" = "MT";
|
||||
|
||||
|
|
@ -1,73 +0,0 @@
|
|||
#include "AddressBook.h"
|
||||
|
||||
#include <Sql/sch_schema.h>
|
||||
#include <Sql/sch_source.h>
|
||||
|
||||
#define IMAGECLASS AdrBookImg
|
||||
#define IMAGEFILE <AddressBookWeb/AdrBook.iml>
|
||||
#include <Draw/iml_header.h>
|
||||
|
||||
#define IMAGECLASS AdrBookImg
|
||||
#define IMAGEFILE <AddressBookWeb/AdrBook.iml>
|
||||
#include <Draw/iml_source.h>
|
||||
|
||||
struct AdrBook : SkylarkApp {
|
||||
void WorkThread();
|
||||
|
||||
AdrBook();
|
||||
};
|
||||
|
||||
void OpenSQL(Sqlite3Session& sqlite3)
|
||||
{
|
||||
if(!sqlite3.Open(ConfigFile("db.sqlite3"))) {
|
||||
LOG("Can't create or open database file\n");
|
||||
Exit(1);
|
||||
}
|
||||
#ifdef _DEBUG
|
||||
sqlite3.LogErrors();
|
||||
sqlite3.SetTrace();
|
||||
#endif
|
||||
SQL = sqlite3;
|
||||
}
|
||||
|
||||
void InitModel()
|
||||
{
|
||||
#ifdef _DEBUG
|
||||
SqlSchema sch(SQLITE3);
|
||||
All_Tables(sch);
|
||||
SqlPerformScript(sch.Upgrade());
|
||||
SqlPerformScript(sch.Attributes());
|
||||
sch.SaveNormal();
|
||||
#endif
|
||||
}
|
||||
|
||||
void AdrBook::WorkThread()
|
||||
{
|
||||
Sqlite3Session sqlite3;
|
||||
OpenSQL(sqlite3);
|
||||
RunThread();
|
||||
}
|
||||
|
||||
AdrBook::AdrBook()
|
||||
{
|
||||
prefork = 0;
|
||||
threads = 1; // Sqlite3 is not good with threads or concurrency...
|
||||
#ifdef _DEBUG
|
||||
use_caching = false;
|
||||
#endif
|
||||
}
|
||||
|
||||
// After starting the server, enter "127.0.0.1:8001" in your browser
|
||||
|
||||
CONSOLE_APP_MAIN
|
||||
{
|
||||
#ifdef _DEBUG
|
||||
StdLogSetup(LOG_FILE|LOG_COUT);
|
||||
Ini::skylark_log = true;
|
||||
SKYLARKLOG("Active");
|
||||
#endif
|
||||
Sqlite3Session sqlsession;
|
||||
OpenSQL(sqlsession);
|
||||
InitModel();
|
||||
AdrBook().Run();
|
||||
}
|
||||
|
|
@ -1,51 +0,0 @@
|
|||
PREMULTIPLIED
|
||||
IMAGE_ID(Plus)
|
||||
IMAGE_ID(Edit)
|
||||
IMAGE_ID(Delete)
|
||||
|
||||
IMAGE_BEGIN_DATA
|
||||
IMAGE_DATA(120,156,221,150,107,108,83,101,24,199,199,136,183,15,94,18,47,9,137,95,245,155,95,140,31,140,209,24,99,98,252,230)
|
||||
IMAGE_DATA(45,209,96,72,244,147,9,224,36,196,0,195,96,84,8,162,14,145,59,202,198,54,100,180,101,27,101,91,119,5,183,177)
|
||||
IMAGE_DATA(139,219,24,99,235,58,86,134,224,230,46,109,233,186,118,61,189,157,211,246,156,243,243,105,103,102,163,197,120,141,198,115)
|
||||
IMAGE_DATA(250,228,125,123,206,249,189,239,243,254,207,255,121,219,130,123,10,238,41,248,167,143,85,171,86,145,27,127,134,47,248,233)
|
||||
IMAGE_DATA(252,191,243,191,212,106,89,179,28,62,239,253,60,115,253,222,243,239,230,255,74,254,255,182,254,255,85,254,175,212,207,239)
|
||||
IMAGE_DATA(62,114,55,3,77,215,72,168,16,137,154,36,52,93,34,73,84,51,136,105,160,202,117,45,161,19,87,83,104,105,13,83)
|
||||
IMAGE_DATA(143,99,166,162,18,58,200,199,64,35,41,188,221,222,131,229,100,55,86,75,23,214,147,125,156,180,158,199,106,237,192,38)
|
||||
IMAGE_DATA(215,54,20,85,240,73,73,15,37,251,122,153,241,196,73,235,105,76,35,157,129,49,77,131,100,218,164,180,180,30,45,5)
|
||||
IMAGE_DATA(105,25,47,77,156,20,73,82,166,142,42,247,26,219,198,168,172,153,165,182,77,229,163,221,93,196,116,29,221,208,50,112)
|
||||
IMAGE_DATA(118,140,152,228,103,177,156,197,231,139,48,112,225,10,125,125,215,232,31,188,74,223,128,155,201,169,0,19,215,66,108,44)
|
||||
IMAGE_DATA(174,99,231,23,35,188,93,92,203,162,106,98,152,73,97,151,248,31,166,131,180,52,15,17,12,38,24,119,207,112,121,204)
|
||||
IMAGE_DATA(203,176,107,6,215,248,36,30,143,95,180,209,240,250,99,120,2,58,251,190,60,139,166,27,24,134,145,101,49,211,140,141)
|
||||
IMAGE_DATA(205,49,208,63,133,127,33,140,111,126,17,159,95,97,46,176,192,236,130,95,218,121,124,55,66,44,134,20,148,132,129,197)
|
||||
IMAGE_DATA(218,77,90,77,115,117,220,73,216,227,35,46,58,142,56,167,25,186,56,35,249,142,227,104,112,225,168,155,160,161,254,42)
|
||||
IMAGE_DATA(245,13,87,168,107,116,97,119,140,48,236,188,206,66,34,141,213,214,206,185,195,135,56,87,180,6,251,43,207,19,187,225)
|
||||
IMAGE_DATA(194,57,234,165,191,127,6,85,87,73,102,244,148,156,116,67,39,37,33,106,19,147,117,38,146,210,198,147,172,123,115,35)
|
||||
IMAGE_DATA(181,229,251,169,90,183,154,178,39,159,194,239,30,98,114,54,130,163,229,50,189,131,110,142,85,118,82,94,209,75,101,249)
|
||||
IMAGE_DATA(183,28,147,246,232,241,46,42,202,187,24,108,31,166,227,235,207,233,57,242,22,117,251,215,83,252,218,115,116,30,40,39)
|
||||
IMAGE_DATA(44,90,44,198,12,202,142,119,224,143,198,152,87,76,2,17,3,95,52,133,39,102,114,35,44,239,199,159,166,179,236,83)
|
||||
IMAGE_DATA(38,27,94,39,118,228,97,170,95,120,144,230,131,187,48,163,113,226,122,140,132,158,228,80,105,19,211,162,111,233,9,23)
|
||||
IMAGE_DATA(159,31,28,164,228,112,15,187,143,12,176,239,64,7,123,54,21,49,105,127,129,240,177,123,105,127,245,14,206,151,188,199)
|
||||
IMAGE_DATA(162,232,159,144,48,197,175,25,63,85,213,180,211,63,22,101,116,6,70,103,97,204,99,48,113,93,227,204,87,123,153,170)
|
||||
IMAGE_DATA(91,141,242,213,195,180,189,124,23,85,69,27,104,57,123,17,53,235,157,132,88,64,188,32,30,155,156,86,56,116,172,143)
|
||||
IMAGE_DATA(33,55,12,79,152,12,124,167,81,246,217,65,70,15,190,132,114,244,126,234,87,223,71,195,150,3,12,93,214,216,81,214)
|
||||
IMAGE_DATA(133,38,56,233,184,212,128,228,96,136,238,105,29,123,99,63,199,109,29,156,16,223,91,202,154,177,109,126,27,247,230,71)
|
||||
IMAGE_DATA(105,120,249,110,170,183,110,160,182,170,155,163,150,94,202,109,157,168,137,140,217,245,172,5,77,35,42,195,168,226,119,67)
|
||||
IMAGE_DATA(194,68,151,49,47,57,190,97,211,211,143,114,106,253,139,244,28,62,42,169,154,162,149,60,175,101,34,37,57,27,89,86)
|
||||
IMAGE_DATA(207,240,226,33,61,19,70,230,154,46,227,37,25,106,61,197,72,187,131,68,76,33,150,74,144,78,106,164,212,164,60,35)
|
||||
IMAGE_DATA(172,248,66,202,90,42,44,227,95,149,130,95,254,51,216,211,54,69,163,115,126,41,70,252,56,134,125,56,46,121,105,24)
|
||||
IMAGE_DATA(242,80,63,56,71,221,133,25,234,6,166,57,211,55,133,189,247,123,78,119,95,227,195,242,222,236,110,181,98,197,138,194)
|
||||
IMAGE_DATA(22,87,0,251,117,5,171,59,76,133,51,196,161,129,5,74,58,231,217,222,226,227,189,122,47,155,78,123,126,21,53,29)
|
||||
IMAGE_DATA(87,178,124,97,97,225,202,86,215,194,31,231,219,221,57,124,0,167,95,229,162,87,165,127,54,65,247,84,156,246,239,98)
|
||||
IMAGE_DATA(180,185,35,52,141,69,104,24,85,150,163,222,169,224,112,41,84,159,27,255,153,31,157,39,34,155,68,56,113,243,88,140)
|
||||
IMAGE_DATA(155,132,196,224,11,209,165,239,182,179,99,203,124,139,211,255,155,124,46,59,31,49,9,74,223,214,234,202,225,111,220,148)
|
||||
IMAGE_DATA(207,101,253,194,250,194,75,125,107,203,232,50,223,60,226,203,203,231,99,231,22,151,250,150,102,231,207,252,176,247,87,252)
|
||||
IMAGE_DATA(205,216,233,160,20,185,98,112,178,105,100,153,111,18,159,228,242,249,88,101,206,47,156,201,212,130,65,32,106,112,177,231)
|
||||
IMAGE_DATA(82,14,63,183,204,231,101,127,152,37,84,249,37,243,167,171,9,201,125,207,137,50,174,237,250,128,71,30,184,247,241,12)
|
||||
IMAGE_DATA(223,56,56,155,229,243,177,1,233,7,90,91,137,149,238,38,186,127,7,158,189,187,8,239,220,66,112,231,86,138,159,125)
|
||||
IMAGE_DATA(98,95,150,23,127,43,234,205,215,235,147,245,250,207,212,16,221,243,1,202,182,34,66,219,55,209,177,243,253,235,43,178)
|
||||
IMAGE_DATA(233,23,174,116,72,109,100,114,207,199,78,202,122,189,97,217,32,45,149,40,31,23,19,218,178,142,224,214,119,184,176,107)
|
||||
IMAGE_DATA(155,239,214,149,133,183,103,6,168,151,186,138,228,153,223,179,40,243,202,230,234,181,87,163,124,186,141,224,246,205,116,191)
|
||||
IMAGE_DATA(187,62,232,127,119,45,254,141,107,121,255,153,199,42,50,26,238,56,49,64,237,249,171,212,116,78,112,234,155,43,216,196)
|
||||
IMAGE_DATA(219,86,249,17,181,136,71,170,154,156,12,117,95,98,226,227,15,217,187,230,141,203,183,222,114,219,221,159,60,247,132,173)
|
||||
IMAGE_DATA(103,237,154,217,7,239,188,227,161,31,1,140,132,36,169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)
|
||||
IMAGE_END_DATA(1408, 3)
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
#include Skylark/Base
|
||||
|
||||
#define BODY
|
||||
<FORM action=$ACTION method="post" accept-charset="utf-8" enctype="multipart/form-data">
|
||||
$post_identity()
|
||||
<P>
|
||||
First name: <INPUT type="text" name="firstname" value="$FIRSTNAME"><BR>
|
||||
Last name: <INPUT type="text" name="lastname" value="$LASTNAME"><BR>
|
||||
Email: <INPUT type="text" name="email" value="$EMAIL"><BR>
|
||||
<INPUT type="submit" value="Send" name="OK"/><BR>
|
||||
</P>
|
||||
</FORM>
|
||||
|
||||
#define TITLE Please enter a person!
|
||||
|
|
@ -1 +0,0 @@
|
|||
PREMULTIPLIED
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
#include Skylark/Base
|
||||
|
||||
#define TITLE This is an experimental Web AddressBook application
|
||||
|
||||
#define BODY
|
||||
|
||||
<FORM action=$HomePage method="get" accept-charset="utf-8" enctype="multipart/form-data">
|
||||
<P>
|
||||
<INPUT type="text" name="search" value="$search">
|
||||
<INPUT type="submit" value="Search">
|
||||
</P>
|
||||
</FORM>
|
||||
|
||||
<table border="1" id="persons">
|
||||
<tr>
|
||||
<th>First Name</th>
|
||||
<th>Last Name</th>
|
||||
<th>Email</th>
|
||||
</tr>
|
||||
$for(i in PERSON)
|
||||
<tr>
|
||||
<td>$i.FIRSTNAME</td>
|
||||
<td>$i.LASTNAME</td>
|
||||
<td>$i.EMAIL</td>
|
||||
<td>
|
||||
<a href=$Edit(i.ID)><img src=$Iml("AdrBookImg:Edit")/>Edit</a>
|
||||
<a href=$Delete(i.ID)><img src=$Iml("AdrBookImg:Delete")/>Delete</a>
|
||||
</td>
|
||||
</tr>
|
||||
$/
|
||||
</table>
|
||||
|
||||
<p/>
|
||||
<a href=$New><img src=$Iml("AdrBookImg:Plus")/>Insert new person</a>
|
||||
|
|
@ -1,73 +0,0 @@
|
|||
#include "AddressBook.h"
|
||||
|
||||
#include <Sql/sch_schema.h>
|
||||
#include <Sql/sch_source.h>
|
||||
|
||||
#define IMAGECLASS AdrBookImg
|
||||
#define IMAGEFILE <AddressBookWeb/AdrBook.iml>
|
||||
#include <Draw/iml_header.h>
|
||||
|
||||
#define IMAGECLASS AdrBookImg
|
||||
#define IMAGEFILE <AddressBookWeb/AdrBook.iml>
|
||||
#include <Draw/iml_source.h>
|
||||
|
||||
struct AdrBook : SkylarkApp {
|
||||
void WorkThread();
|
||||
|
||||
AdrBook();
|
||||
};
|
||||
|
||||
void OpenSQL(Sqlite3Session& sqlite3)
|
||||
{
|
||||
if(!sqlite3.Open(ConfigFile("db.sqlite3"))) {
|
||||
LOG("Can't create or open database file\n");
|
||||
Exit(1);
|
||||
}
|
||||
#ifdef _DEBUG
|
||||
sqlite3.LogErrors();
|
||||
sqlite3.SetTrace();
|
||||
#endif
|
||||
SQL = sqlite3;
|
||||
}
|
||||
|
||||
void InitModel()
|
||||
{
|
||||
#ifdef _DEBUG
|
||||
Sqlite3Session sqlsession;
|
||||
OpenSQL(sqlsession);
|
||||
SqlSchema sch(SQLITE3);
|
||||
All_Tables(sch);
|
||||
SqlPerformScript(sch.Upgrade());
|
||||
SqlPerformScript(sch.Attributes());
|
||||
sch.SaveNormal();
|
||||
#endif
|
||||
}
|
||||
|
||||
void AdrBook::WorkThread()
|
||||
{
|
||||
Sqlite3Session sqlite3;
|
||||
OpenSQL(sqlite3);
|
||||
RunThread();
|
||||
}
|
||||
|
||||
AdrBook::AdrBook()
|
||||
{
|
||||
prefork = 0;
|
||||
threads = 1; // Sqlite3 is not good with threads or concurrency...
|
||||
#ifdef _DEBUG
|
||||
use_caching = false;
|
||||
#endif
|
||||
}
|
||||
|
||||
// After starting the server, enter "127.0.0.1:8001" in your browser
|
||||
|
||||
CONSOLE_APP_MAIN
|
||||
{
|
||||
#ifdef _DEBUG
|
||||
StdLogSetup(LOG_FILE|LOG_COUT);
|
||||
Ini::skylark_log = true;
|
||||
SKYLARKLOG("Active");
|
||||
#endif
|
||||
InitModel();
|
||||
AdrBook().Run();
|
||||
}
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
TABLE_(PERSON)
|
||||
INT_ (ID) PRIMARY_KEY AUTO_INCREMENT
|
||||
STRING_ (FIRSTNAME, 200)
|
||||
STRING_ (LASTNAME, 200)
|
||||
STRING_ (EMAIL, 200)
|
||||
END_TABLE
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
#include "AddressBook.h"
|
||||
|
||||
SKYLARK(HomePage, "")
|
||||
{
|
||||
SqlBool where;
|
||||
String s = http["search"];
|
||||
if(!IsNull(s)) {
|
||||
s << '%';
|
||||
where = Like(FIRSTNAME, s) || Like(LASTNAME, s) || Like(EMAIL, s);
|
||||
}
|
||||
http("PERSON", Select(ID, FIRSTNAME, LASTNAME, EMAIL).From(PERSON)
|
||||
.Where(where).OrderBy(LASTNAME, FIRSTNAME))
|
||||
.RenderResult("AddressBookWeb/Index");
|
||||
}
|
||||
|
||||
SKYLARK(CatchAll, "**")
|
||||
{
|
||||
http.Redirect(HomePage);
|
||||
}
|
||||
|
||||
SKYLARK(SubmitNew, "submit/create:POST")
|
||||
{
|
||||
SQL * http.Insert(PERSON);
|
||||
http.Redirect(HomePage);
|
||||
}
|
||||
|
||||
SKYLARK(New, "person/create")
|
||||
{
|
||||
http("ACTION", SubmitNew)
|
||||
.RenderResult("AddressBookWeb/Dialog");
|
||||
}
|
||||
|
||||
SKYLARK(SubmitEdit, "submit/edit/*:POST")
|
||||
{
|
||||
SQL * http.Update(PERSON).Where(ID == http.Int(0));
|
||||
http.Redirect(HomePage);
|
||||
}
|
||||
|
||||
SKYLARK(Edit, "person/edit/*")
|
||||
{
|
||||
int id = http.Int(0);
|
||||
http
|
||||
(Select(FIRSTNAME, LASTNAME, EMAIL).From(PERSON).Where(ID == id))
|
||||
("ID", id)
|
||||
("ACTION", SubmitEdit, id)
|
||||
.RenderResult("AddressBookWeb/Dialog");
|
||||
}
|
||||
|
||||
SKYLARK(Delete, "person/delete/*")
|
||||
{
|
||||
SQL * Delete(PERSON).Where(ID == atoi(http[0]));
|
||||
http.Redirect(HomePage);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue