Compare commits
10 commits
main
...
release-1.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
84c33059db | ||
|
|
85e55e333d | ||
|
|
34449d8fb4 | ||
|
|
1959685ca8 | ||
|
|
931ee20cb5 | ||
|
|
b468bbf0bc | ||
|
|
6976464a70 | ||
|
|
c89a83d8fc | ||
|
|
f1eaed6966 | ||
|
|
c4518fe326 |
26 changed files with 137 additions and 116 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -236,31 +236,43 @@ function imagelist_macro(param) {
|
|||
return;
|
||||
if (!site.images.size())
|
||||
return;
|
||||
var size = Math.min(param.limit ? param.limit : 5, site.images.size());
|
||||
var imgcnt = 0;
|
||||
var max = Math.min(param.limit ? param.limit : 5, site.images.size());
|
||||
var idx = 0;
|
||||
while (imgcnt < size || imgcnt == size-1) {
|
||||
var imgParam;
|
||||
var linkParam = {};
|
||||
delete param.limit;
|
||||
|
||||
while (idx < max) {
|
||||
var imgObj = site.images.get(idx++);
|
||||
var url = param.linkto ? param.linkto : imgObj.getUrl();
|
||||
|
||||
imgParam = Object.clone(param);
|
||||
delete imgParam.itemprefix;
|
||||
delete imgParam.itemsuffix;
|
||||
delete imgParam.as;
|
||||
delete linkParam.href;
|
||||
delete linkParam.onclick;
|
||||
|
||||
res.write(param.itemprefix);
|
||||
// return different display according to param.as
|
||||
if (param.as == "thumbnail") {
|
||||
if (imgObj.thumbnail)
|
||||
imgObj = imgObj.thumbnail;
|
||||
} else if (param.as == "popup") {
|
||||
url = imgObj.getPopupUrl();
|
||||
if (imgObj.thumbnail)
|
||||
imgObj = imgObj.thumbnail;
|
||||
switch (param.as) {
|
||||
case "url":
|
||||
res.write(imgObj.getUrl());
|
||||
break;
|
||||
case "popup":
|
||||
linkParam.onclick = imgObj.getPopupUrl();
|
||||
case "thumbnail":
|
||||
linkParam.href = param.linkto ? param.linkto : imgObj.getUrl();
|
||||
if (imgObj.thumbnail)
|
||||
imgObj = imgObj.thumbnail;
|
||||
default:
|
||||
if (linkParam.href) {
|
||||
Html.openLink(linkParam);
|
||||
renderImage(imgObj, imgParam);
|
||||
Html.closeLink();
|
||||
} else
|
||||
renderImage(imgObj, imgParam);
|
||||
}
|
||||
if (url) {
|
||||
Html.openLink({href: url});
|
||||
renderImage(imgObj, Object.clone(param));
|
||||
Html.closeLink();
|
||||
} else
|
||||
renderImage(imgObj, Object.clone(param));
|
||||
res.write(param.itemsuffix);
|
||||
imgcnt++;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -104,7 +104,8 @@ function show_macro(param) {
|
|||
img = this.thumbnail;
|
||||
} else
|
||||
var url = img.getUrl();
|
||||
delete(param.what);
|
||||
delete param.what;
|
||||
delete param.as;
|
||||
param.src = img.getUrl();
|
||||
Html.openLink({href: url});
|
||||
renderImage(img, param);
|
||||
|
|
|
|||
|
|
@ -221,7 +221,8 @@ function evalDownload(fullExport) {
|
|||
var imgLog = this.images.dumpToZip(z, fullExport);
|
||||
// add skins to the zip archive
|
||||
var skinLog = this.skins.dumpToZip(z, fullExport);
|
||||
return z.close();
|
||||
z.close();
|
||||
return z.getData();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
|
||||
/**
|
||||
* SORUA AuthURI
|
||||
*/
|
||||
|
|
@ -7,9 +8,10 @@ function modSorua_action() {
|
|||
var failUrl = req.data["sorua-fail-url"];
|
||||
var userID = req.data["sorua-user"];
|
||||
var action = req.data["sorua-action"];
|
||||
if (action == "authenticate") { // authenticate-action
|
||||
if (session.user && session.user.name == userID) {
|
||||
app.data.modSorua[returnUrl] = new Date(); // store returnUrl
|
||||
if (action == "authenticate") { // authenticate-action
|
||||
if (session.user && (userID == null || userID == "" || session.user.name == userID)) {
|
||||
// store returnUrl + timestamp + userID
|
||||
app.data.modSorua[returnUrl] = {time: new Date(), userID: session.user.name};
|
||||
res.redirect(returnUrl);
|
||||
} else if (failUrl) {
|
||||
res.redirect(failUrl);
|
||||
|
|
@ -24,14 +26,15 @@ function modSorua_action() {
|
|||
var now = new Date();
|
||||
var arr = new Array();
|
||||
for (var i in app.data.modSorua) {
|
||||
if (now.valueOf() - app.data.modSorua[i].valueOf() < 1000 * 60)
|
||||
if (app.data.modSorua[i] && app.data.modSorua[i].time &&
|
||||
now.valueOf() - app.data.modSorua[i].time.valueOf() < 1000 * 60)
|
||||
arr[i] = app.data.modSorua[i];
|
||||
}
|
||||
app.data.modSorua = arr;
|
||||
// now check whether returnUrl has been used recently
|
||||
if (app.data.modSorua[returnUrl]) {
|
||||
res.status = 200;
|
||||
res.write("OK");
|
||||
res.write("user:" + app.data.modSorua[returnUrl].userID);
|
||||
return;
|
||||
} else {
|
||||
res.status = 403;
|
||||
|
|
@ -49,22 +52,18 @@ function modSorua_action() {
|
|||
* SORUA Login Form
|
||||
*/
|
||||
function modSoruaLoginForm_action() {
|
||||
if (!session.data.modSorua) res.redirect(root.href()); // should not happen anyways
|
||||
if (!session.data.modSorua || !session.data.modSorua.returnUrl)
|
||||
res.redirect(root.href()); // should not happen anyways
|
||||
if (req.data.login) {
|
||||
try {
|
||||
res.message = this.evalLogin(session.data.modSorua.userID, req.data.password);
|
||||
res.message = this.evalLogin(req.data.name, req.data.password);
|
||||
var returnUrl = session.data.modSorua.returnUrl;
|
||||
if (returnUrl) {
|
||||
app.data.modSorua[returnUrl] = new Date(); // store returnUrl
|
||||
res.redirect(returnUrl);
|
||||
} else { // should not happen anyways
|
||||
res.redirect(root.href());
|
||||
}
|
||||
app.data.modSorua[returnUrl] = {time: new Date(), userID: req.data.name};
|
||||
res.redirect(returnUrl);
|
||||
} catch (err) {
|
||||
res.message = err.toString();
|
||||
}
|
||||
}
|
||||
res.data.user = session.data.modSorua.userID;
|
||||
res.data.action = this.href("modSoruaLoginForm");
|
||||
this.renderSkin("modSorua");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,13 +11,13 @@
|
|||
</head>
|
||||
|
||||
<body>
|
||||
<h1>SORUA at antville.org</h1>
|
||||
<h1>SORUA at <% root.sys_title %></h1>
|
||||
<% response.message prefix='<span class="message">' suffix='</span><br /><br />' %>
|
||||
<form method="post" action="<% response.action %>">
|
||||
<table border="0" cellspacing="0" cellpadding="3">
|
||||
<tr>
|
||||
<td class="small" nowrap="nowrap">Username:</td>
|
||||
<td nowrap="nowrap"><% response.user %></td>
|
||||
<td nowrap="nowrap"><% input type="text" name="name" size="15" tabindex="1" %></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="small" nowrap="nowrap">Password:</td>
|
||||
|
|
|
|||
|
|
@ -10,10 +10,18 @@ function checkAccess(action, usr, level) {
|
|||
try {
|
||||
switch (action) {
|
||||
case "main" :
|
||||
case "admins" :
|
||||
case "managers" :
|
||||
case "contributors" :
|
||||
case "subscribers" :
|
||||
case "create" :
|
||||
checkIfLoggedIn(this.href(action));
|
||||
this.checkEditMembers(usr, level);
|
||||
break;
|
||||
case "updated" :
|
||||
case "memberships" :
|
||||
case "subscriptions" :
|
||||
case "edit" :
|
||||
checkIfLoggedIn(this.href(action));
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -63,7 +63,8 @@ function reset() {
|
|||
* (re-)creates the cache if necessary
|
||||
*/
|
||||
function evalCache() {
|
||||
if (this.cache.content == null) {
|
||||
if (this.cache.content == null ||
|
||||
this.cache.content.__lastModified__.getTime() < this._parent.__lastModified__.getTime()) {
|
||||
var fieldName = this.getDataField();
|
||||
// cache is either outdated or not existing, so (re-)create it
|
||||
if (this._parent[fieldName] && this._parent[fieldName].trim() != "") {
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ function list_action() {
|
|||
// preparing res.data.sitelist and prev/next links
|
||||
// ("all" shows all sites, "yes" is for scrolling)
|
||||
this.renderSitelist(25, "all", "yes");
|
||||
res.data.title = getMessage("SysMgr.listTitle ", {serverTitle: root.getTitle()});
|
||||
res.data.title = getMessage("SysMgr.listTitle", {serverTitle: root.getTitle()});
|
||||
res.data.body = this.renderSkinAsString("list");
|
||||
root.renderSkin("page");
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ function evalNewSite(title, alias, creator) {
|
|||
// of the currently active root layout
|
||||
var initLayout = new Layout(newSite, newSite.title, creator);
|
||||
initLayout.alias = newSite.alias;
|
||||
initLayout.setParentLayout(res.handlers.layout);
|
||||
initLayout.setParentLayout(root.getLayout());
|
||||
if (!this.add(newSite))
|
||||
throw new Exception("siteCreate");
|
||||
newSite.layouts.add(initLayout);
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@
|
|||
<title><% response.title %></title>
|
||||
<meta http-equiv="Content-Type" content="text/html" />
|
||||
<meta name="MSSmartTagsPreventParsing" content="TRUE" />
|
||||
<link rel="alternate" type="text/xml" title="XML" href="rss" />
|
||||
<script type="text/javascript" src="<% root.url %>main.js"></script>
|
||||
<link rel="stylesheet" type="text/css" title="CSS Stylesheet" href="<% root.url %>main.css" />
|
||||
<link rel="alternate" type="text/rss+xml" title="RSS Feed" href="<% root.url %>rss" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
|
|
|||
|
|
@ -1,31 +1,28 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
|
||||
|
||||
<rdf:RDF
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
|
||||
xmlns="http://purl.org/rss/1.0/"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
|
||||
xmlns="http://purl.org/rss/1.0/"
|
||||
>
|
||||
|
||||
<channel rdf:about="<% root.url encoding="xml" %>">
|
||||
<title><% param.title encoding="xml" %> Sites</title>
|
||||
<link><% root.url encoding="xml" %></link>
|
||||
<description>Recently updated <% param.title %> sites ordered by date</description>
|
||||
<dc:publisher><% param.title encoding="xml" %></dc:publisher>
|
||||
<dc:creator><% param.title encoding="xml" %><% param.email encoding="xml" prefix=" (mailto:" suffix=")" %></dc:creator>
|
||||
<dc:date><% param.lastupdate %></dc:date>
|
||||
<dc:language>en</dc:language>
|
||||
<sy:updatePeriod>hourly</sy:updatePeriod>
|
||||
<sy:updateFrequency>1</sy:updateFrequency>
|
||||
<sy:updateBase>2000-01-01T00:00:00Z</sy:updateBase>
|
||||
<items>
|
||||
<rdf:Seq>
|
||||
<channel rdf:about="<% root.url encoding="xml" %>">
|
||||
<title><% param.title encoding="xml" %> Sites</title>
|
||||
<link><% root.url encoding="xml" %></link>
|
||||
<description>Recently updated <% param.title %> sites ordered by date</description>
|
||||
<dc:publisher><% param.title encoding="xml" %></dc:publisher>
|
||||
<dc:creator><% param.title encoding="xml" %><% param.email encoding="xml" prefix=" (mailto:" suffix=")" %></dc:creator>
|
||||
<dc:date><% param.lastupdate %></dc:date>
|
||||
<dc:language>en</dc:language>
|
||||
<sy:updatePeriod>hourly</sy:updatePeriod>
|
||||
<sy:updateFrequency>1</sy:updateFrequency>
|
||||
<sy:updateBase>2000-01-01T00:00:00Z</sy:updateBase>
|
||||
<items>
|
||||
<rdf:Seq>
|
||||
<% param.resources %>
|
||||
</rdf:Seq>
|
||||
</items>
|
||||
</channel>
|
||||
|
||||
</rdf:Seq>
|
||||
</items>
|
||||
</channel>
|
||||
<% param.textinput %>
|
||||
<% param.items %>
|
||||
|
||||
</rdf:RDF>
|
||||
|
|
|
|||
|
|
@ -609,7 +609,7 @@ function spamfilter_macro(param) {
|
|||
* macro returns the used disk space for this site
|
||||
*/
|
||||
function diskusage_macro(param) {
|
||||
res.write((this.getDiskUsage() / 1024).format("###,###") + " KB");
|
||||
res.write(this.getDiskUsage().format("###,###") + " KB");
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@
|
|||
<title><% response.title %></title>
|
||||
<meta http-equiv="Content-Type" content="text/html" />
|
||||
<meta name="MSSmartTagsPreventParsing" content="TRUE" />
|
||||
<link rel="alternate" type="text/xml" title="XML" href="<% site.url %>rss" />
|
||||
<script type="text/javascript" src="<% site.url %>main.js"></script>
|
||||
<link rel="stylesheet" type="text/css" title="CSS Stylesheet" href="<% site.url %>main.css" />
|
||||
<link rel="alternate" type="text/rss+xml" title="RSS Feed" href="<% site.url %>rss" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
|
|
|||
|
|
@ -1,37 +1,34 @@
|
|||
<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
|
||||
|
||||
<rdf:RDF
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
|
||||
xmlns="http://purl.org/rss/1.0/"
|
||||
>
|
||||
|
||||
<channel rdf:about="<% site.url %>">
|
||||
<title><% site.title encoding="xml" %><% param.subtitle prefix=" (" suffix=")" %></title>
|
||||
<link><% site.url %></link>
|
||||
<description><% site.tagline encoding="xml" %></description>
|
||||
<dc:publisher><% param.title encoding="xml" %></dc:publisher>
|
||||
<dc:creator><% param.creator encoding="xml" %><% param.email encoding="xml" prefix=" (mailto:" suffix=")" %></dc:creator>
|
||||
<dc:date><% param.lastupdate %></dc:date>
|
||||
<dc:language>en</dc:language>
|
||||
<sy:updatePeriod>hourly</sy:updatePeriod>
|
||||
<sy:updateFrequency>1</sy:updateFrequency>
|
||||
<sy:updateBase>2000-01-01T00:00:00Z</sy:updateBase>
|
||||
<items>
|
||||
<rdf:Seq>
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
|
||||
xmlns="http://purl.org/rss/1.0/"
|
||||
>
|
||||
<channel rdf:about="<% site.url encoding="xml" %>">
|
||||
<title><% site.title encoding="xml" %><% param.subtitle prefix=" (" suffix=")" encoding="xml" %></title>
|
||||
<link><% site.url encoding="xml" %></link>
|
||||
<description><% site.tagline encoding="xml" %></description>
|
||||
<dc:publisher><% param.title encoding="xml" %></dc:publisher>
|
||||
<dc:creator><% param.creator encoding="xml" %><% param.email encoding="xml" prefix=" (mailto:" suffix=")" %></dc:creator>
|
||||
<dc:date><% param.lastupdate encoding="xml" %></dc:date>
|
||||
<dc:language>en</dc:language>
|
||||
<sy:updatePeriod>hourly</sy:updatePeriod>
|
||||
<sy:updateFrequency>1</sy:updateFrequency>
|
||||
<sy:updateBase>2000-01-01T00:00:00Z</sy:updateBase>
|
||||
<items>
|
||||
<rdf:Seq>
|
||||
<% param.resources %>
|
||||
<textinput rdf:resource="<% site.url %>search" />
|
||||
</rdf:Seq>
|
||||
</items>
|
||||
</channel>
|
||||
|
||||
</rdf:Seq>
|
||||
</items>
|
||||
<textinput rdf:resource="<% site.url encoding="xml" %>search" />
|
||||
</channel>
|
||||
<% param.items %>
|
||||
|
||||
<textinput rdf:about="<% site.url %>search">
|
||||
<textinput rdf:about="<% site.url encoding="xml" %>search">
|
||||
<title>find</title>
|
||||
<description>Search this site:</description>
|
||||
<name>q</name>
|
||||
<link><% site.url action="search" %></link>
|
||||
<link><% site.url action="search" encoding="xml" %></link>
|
||||
</textinput>
|
||||
</rdf:RDF>
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
<item rdf:about="<% site.url encoding="xml" %>">
|
||||
<title><% param.title encoding="xml" %></title>
|
||||
<link><% site.url encoding="xml" %></link>
|
||||
<description><% param.date %><% site.tagline encoding="xml" %></description>
|
||||
<dc:publisher><% param.publisher encoding="xml" %></dc:publisher>
|
||||
<dc:creator><% param.creator encoding="xml" %><% param.email prefix=" (mailto:" suffix=")" encoding="xml" %></dc:creator>
|
||||
<dc:rights><% param.year prefix="Copyright © " encoding="xml" %> <% param.creator encoding="xml" %></dc:rights>
|
||||
<dc:date><% param.isodate %></dc:date>
|
||||
</item>
|
||||
<item rdf:about="<% site.url encoding="xml" %>">
|
||||
<title><% param.title encoding="xml" %></title>
|
||||
<link><% site.url encoding="xml" %></link>
|
||||
<description><% param.date %><% site.tagline encoding="xml" %></description>
|
||||
<dc:publisher><% param.publisher encoding="xml" %></dc:publisher>
|
||||
<dc:creator><% param.creator encoding="xml" %><% param.email prefix=" (mailto:" suffix=")" encoding="xml" %></dc:creator>
|
||||
<dc:rights><% param.year prefix="Copyright © " encoding="xml" %> <% param.creator encoding="xml" %></dc:rights>
|
||||
<dc:date><% param.isodate encoding="xml" %></dc:date>
|
||||
</item>
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
<rdf:li rdf:resource="<% site.url encoding="xml" %>" />
|
||||
<rdf:li rdf:resource="<% site.url encoding="xml" %>" />
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ function renderTree(param, collection) {
|
|||
var collection = SKINSETS;
|
||||
for (var i in collection) {
|
||||
var skinset = collection[i];
|
||||
if (skinset.context && skinset.context.toLowerCase() != res.handlers.context._prototype)
|
||||
if (skinset.context && skinset.context.toLowerCase() != res.handlers.context._prototype.toLowerCase())
|
||||
continue;
|
||||
var sp = {skinset: skinset.key, anchor: skinset.key, "class": "closed"};
|
||||
var desc = this.getSkinDescription("skinset", skinset.key);
|
||||
|
|
|
|||
|
|
@ -262,6 +262,8 @@ function comments_macro(param) {
|
|||
* if true, render form to add a comment
|
||||
*/
|
||||
function commentform_macro(param) {
|
||||
if (!this.discussions)
|
||||
return;
|
||||
if (session.user) {
|
||||
res.data.action = this.href("comment");
|
||||
(new Comment()).renderSkin("edit");
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
<item rdf:about="<% param.url encoding="xml" %>">
|
||||
<title><% param.title encoding="xml" %></title>
|
||||
<link><% param.url encoding="xml" %></link>
|
||||
<% param.text prefix="<description>" suffix="</description>" encoding="xml" %>
|
||||
<dc:publisher><% param.publisher encoding="xml" %></dc:publisher>
|
||||
<dc:creator><% param.creator encoding="xml" %><% param.email prefix=" (mailto:" suffix=")" encoding="xml" %></dc:creator>
|
||||
<% param.subject prefix="<dc:subject>" suffix="</dc:subject>" encoding="xml" %>
|
||||
<dc:rights><% param.year prefix="Copyright © " encoding="xml" %> <% param.creator %></dc:rights>
|
||||
<dc:date><% param.date %></dc:date>
|
||||
</item>
|
||||
<item rdf:about="<% param.url encoding="xml" %>">
|
||||
<title><% param.title encoding="xml" %></title>
|
||||
<link><% param.url encoding="xml" %></link>
|
||||
<% param.text prefix="<description>" suffix="</description>" encoding="xml" %>
|
||||
<dc:publisher><% param.publisher encoding="xml" %></dc:publisher>
|
||||
<dc:creator><% param.creator encoding="xml" %><% param.email prefix=" (mailto:" suffix=")" encoding="xml" %></dc:creator>
|
||||
<% param.subject prefix="<dc:subject>" suffix="</dc:subject>" encoding="xml" %>
|
||||
<dc:rights><% param.year prefix="Copyright © " encoding="xml" %> <% param.creator encoding="xml" %></dc:rights>
|
||||
<dc:date><% param.date encoding="xml" %></dc:date>
|
||||
</item>
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
<rdf:li rdf:resource="<% story.url encoding="xml" %>" />
|
||||
<rdf:li rdf:resource="<% story.url encoding="xml" %>" />
|
||||
|
|
|
|||
|
|
@ -272,8 +272,8 @@ create table AV_TEXT (
|
|||
TEXT_TEXT mediumtext,
|
||||
TEXT_CONTENT mediumtext,
|
||||
TEXT_RAWCONTENT mediumtext,
|
||||
TEXT_ISONLINE tinyint(1),
|
||||
TEXT_EDITABLEBY tinyint(1),
|
||||
TEXT_ISONLINE tinyint(4),
|
||||
TEXT_EDITABLEBY tinyint(4),
|
||||
TEXT_HASDISCUSSIONS tinyint(1),
|
||||
TEXT_CREATETIME datetime,
|
||||
TEXT_F_USER_CREATOR mediumint(10),
|
||||
|
|
|
|||
3
db/patches/antville_dbpatch-20041107.sql
Normal file
3
db/patches/antville_dbpatch-20041107.sql
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
use antville;
|
||||
alter table AV_TEXT modify TEXT_ISONLINE tinyint(4);
|
||||
alter table AV_TEXT modify TEXT_EDITABLEBY tinyint(4);
|
||||
Loading…
Add table
Add a link
Reference in a new issue