Update of /cvsroot/php-blog/jBlog
In directory sc8-pr-cvs1:/tmp/cvs-serv19945
Modified Files:
db.sql jBlog.css.php jBlog_admin.php jBlog_admin_css.inc.php
jBlog_functions.inc.php
Log Message:
Fixup the CSS editor a little.
Add a generic config var table to the database (be sure to create the table!).
Index: db.sql
===================================================================
RCS file: /cvsroot/php-blog/jBlog/db.sql,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- db.sql 5 Mar 2003 23:14:37 -0000 1.7
+++ db.sql 6 Mar 2003 01:10:54 -0000 1.8
@@ -83,4 +83,7 @@
PRIMARY KEY (cssid)
) TYPE=MyISAM;
-
+create table {PREFIX}config (
+ name varchar(64) not null primary key,
+ value varchar(255) not null
+);
Index: jBlog.css.php
===================================================================
RCS file: /cvsroot/php-blog/jBlog/jBlog.css.php,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- jBlog.css.php 5 Mar 2003 23:14:37 -0000 1.2
+++ jBlog.css.php 6 Mar 2003 01:10:54 -0000 1.3
@@ -1,7 +1,7 @@
<?php
session_start();
include_once("jBlog_config.inc.php");
-$css = jBlog_getCSS();
+$css = jBlog_getCSS($_REQUEST['style']);
echo $css['data'];
/* This could be tidied up by using the comment style rules recently added */
Index: jBlog_admin.php
===================================================================
RCS file: /cvsroot/php-blog/jBlog/jBlog_admin.php,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- jBlog_admin.php 5 Mar 2003 23:14:37 -0000 1.8
+++ jBlog_admin.php 6 Mar 2003 01:10:54 -0000 1.9
@@ -1,5 +1,4 @@
<?php
-
session_start();
if (file_exists("./jBlog_config_local.inc.php")) {
include("jBlog_config.inc.php");
@@ -10,6 +9,7 @@
if($_SESSION['jBlogAuthedUser'] || jBlog_authenticate_author($jBlog["POST"]["user"], $jBlog["POST"]["pass"])) {
$_SESSION["jBlogAuthedUser"] = true;
}
+
?>
<html>
<head>
Index: jBlog_admin_css.inc.php
===================================================================
RCS file: /cvsroot/php-blog/jBlog/jBlog_admin_css.inc.php,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- jBlog_admin_css.inc.php 5 Mar 2003 23:16:20 -0000 1.1
+++ jBlog_admin_css.inc.php 6 Mar 2003 01:10:54 -0000 1.2
@@ -18,16 +18,57 @@
$entry = array("cssid" => $jBlog["POST"]["cssid"],
"name"=>$jBlog["POST"]["name"],
"data" =>$jBlog["POST"]["data"]);
- $res = jBlog_updertCSS($entry);
+ $res = jBlog_updateCSS($entry);
if ($res != "")
- jBlog_printCSSForm("?", array("jBlog[action]" => "admin", "jBlog[adminModule]" => "css",
+ jBlog_printCSSForm("?", "edit", array("jBlog[action]" => "admin", "jBlog[adminModule]" => "css",
"jBlog[adminAction]" => "save"), $entry, "Error: <b>$res</b>");
else
echo "Entry saved.";
break;
- default:
- jBlog_printCSSForm("?", array("jBlog[action]" => "admin", "jBlog[adminModule]" => "css",
+
+ case "edit":
+ jBlog_printCSSForm("?", "edit", array("jBlog[action]" => "admin", "jBlog[adminModule]" => "css",
"jBlog[adminAction]" => "save"), $entry);
+ break;
+
+ default:
+
+ if (isset($_POST['NEW'])) {
+ jBlog_printCSSForm("?", "edit",
+ array(
+ "jBlog[action]" => "admin",
+ "jBlog[adminModule]" => "css",
+ "jBlog[adminAction]" => "save"
+ ),
+ array(
+ "cssid" => 0,
+ "name" => "New",
+ "data" => file_get_contents("jBlog.css")
+ )
+ );
+ } else if (isset($_POST['EDIT'])) {
+ jBlog_printCSSForm("?", "edit",
+ array(
+ "jBlog[action]" => "admin",
+ "jBlog[adminModule]" => "css",
+ "jBlog[adminAction]" => "save"
+ ),
+ $_POST['jBlog']['cssid']
+ );
+
+ } else if (isset($_POST['DEFAULT'])) {
+ $css = jBlog_getCSS($_POST['jBlog']['cssid']);
+ jBlog_set_config_var("default_css", $css['name']);
+ } else if (isset($_POST['DELETE'])) {
+ if (is_numeric($_POST['jBlog']['cssid'])) {
+ $id = mysql_escape_string($_POST['jBlog']['cssid']);
+ mysql_db_query($jBlog['dbName'], "delete from $jBlog[dbPrefix]css where cssid='$id'");
+ }
+ jBlog_printCSSForm("?", "choose", array("jBlog[action]" => "admin", "jBlog[adminModule]" => "css"), $entry);
+ } else {
+
+ jBlog_printCSSForm("?", "choose", array("jBlog[action]" => "admin", "jBlog[adminModule]" => "css"), $entry);
+ }
break;
}
Index: jBlog_functions.inc.php
===================================================================
RCS file: /cvsroot/php-blog/jBlog/jBlog_functions.inc.php,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- jBlog_functions.inc.php 5 Mar 2003 23:14:37 -0000 1.14
+++ jBlog_functions.inc.php 6 Mar 2003 01:10:54 -0000 1.15
@@ -21,7 +21,6 @@
function jBlog_displayCommentForm($id) {
global $jBlog, $commentsFields;
- global $_SESSION;
?>
<div class="jBlogCommentForm">
<form name="comment" action="<?=$jBlog['jBlogHTTPPath']?>comment.php" method="post">
@@ -378,7 +377,7 @@
<?=nl2br($comment['body'])?><br />
<i><?=$type?> <?=($link ? "<a href=\"$link\">$name</a>" : $name)?> on
<font size="-1"><a href="<?=$PHP_SELF?>#comment<?=$comment['id']?>"><?=date("M d, h:i", $comment['timestamp'])?></a></font>
- </a>
+ </i></a>
</td>
</tr>
<?php
@@ -761,7 +760,7 @@
mysql_db_query($jBlog['dbName'], "DELETE FROM {$jBlog['dbPrefix']}references WHERE entry_id='$id'");
}
-function jBlog_updertCSS($css) {
+function jBlog_updateCSS($css) {
global $jBlog;
$newEntry = 0;
@@ -955,26 +954,55 @@
<?php
}
-function jBlog_printCSSForm($targetURL, $hiddens = array(), $entry = array(), $errMsg = "") {
+function jBlog_printCSSForm($targetURL, $mode, $hiddens = array(), $entry = null, $errMsg = "") {
global $jBlog;
- $css = jBlog_getCSS();
+
+ if ($mode == "edit") {
+
+ if ($entry === null || is_numeric($entry)) {
+ $css = jBlog_getCSS($entry);
+ } else {
+ $css = $entry;
+ }
+
+ } else {
+
+ /* list all the defined stylesheets */
+ $avail = jBlog_getCSS_avail();
+ $default_css = jBlog_get_config_var("default_css", "default");
+
+ $avail_options = "";
+ foreach ($avail as $cssid => $cssname) {
+ $avail_options .= "<option value=\"$cssid\"";
+ if ($cssid == $css['cssid']) {
+ $avail_options .= " selected";
+ }
+
+ $marker = ($cssname == $default_css) ? "* " : "";
+
+ $avail_options .= ">$marker" . htmlentities($cssname) . "</option>";
+ }
+ }
+
?>
<font color="#ff0000"><?=$errMsg?></font>
<table class='jBlogEntryEdit'>
<form action='<?=$targetURL?>' method="post" name="jBlogCSS">
- <?php
+ <?php
foreach($hiddens as $key => $value) {
echo "<input type='hidden' name='$key' value='$value'>\n";
}
- echo '<input type="hidden" name="jBlog[cssid]" value="'.$css["cssid"]."\">\n";
- ?>
+
+ if ($mode == "edit") {
+ echo "<input type='hidden' name='jBlog[cssid]' value='{$css[cssid]}'>\n";
+ ?>
<tr>
<td align="left">template name</td>
</tr>
<tr>
<td align="left">
- <input type="text" name="jBlog[name]" value="<?=htmlentities($css["name"])?>" size=40>
+ <input type="text" name="jBlog[name]" value="<?=htmlentities($css[name])?>" size=40>
</td>
</tr>
<tr>
@@ -990,6 +1018,36 @@
<input type="submit" value="save">
</td>
</tr>
+ <?php
+ } else { /* admin */
+ ?>
+ <tr>
+ <td>Choose a style sheet....</td>
+ </tr>
+ <tr>
+ <td align="left">
+ <select name="jBlog[cssid]"><?= $avail_options ?></select>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <input type="submit" name="EDIT" value="Edit">
+ <input type="submit" name="DELETE" value="Delete">
+ <input type="submit" name="DEFAULT" value="Make default">
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <input type="submit" name="NEW" value="Create New StyleSheet">
+ </td>
+ </tr>
+
+
+ <?php
+
+ }
+
+ ?>
</form>
</table>
<?php
@@ -997,7 +1055,6 @@
function jBlog_authenticate_author($username, $password) {
global $jBlog;
- global $_SESSION;
if($_SESSION['jBlogAuthedUser'] == true) {
$jBlog['jBlogUser'] = $_SESSION['jBlogUser'];
@@ -1028,9 +1085,9 @@
function jBlog_track_referrer() {
global $jBlog;
- global $_SERVER;
- if(!$_SERVER[HTTP_REFERER] ||
- strstr($_SERVER[HTTP_REFERER],$_SERVER['SERVER_NAME']))
+
+ if(!$_SERVER['HTTP_REFERER'] ||
+ strstr($_SERVER['HTTP_REFERER'],$_SERVER['SERVER_NAME']))
{
return;
}
@@ -1063,9 +1120,49 @@
}
}
-function jBlog_getCSS($name = 'default' ) {
+function jBlog_set_config_var($name, $val) {
global $jBlog;
- $query = "SELECT * from jBlog_css where name = '$name'";
+ $val = mysql_escape_string($val);
+ mysql_db_query($jBlog['dbName'], "REPLACE INTO $jBlog[dbPrefix]config (name,value) values('$name','$val')");
+ echo mysql_error();
+}
+
+function jBlog_get_config_var($name, $defval = false) {
+ global $jBlog;
+ $name = mysql_escape_string($name);
+ $c = mysql_db_query($jBlog['dbName'], "SELECT value from $jBlog[dbPrefix]config where name='$name'");
+ if ($c && $row = mysql_fetch_row($c)) {
+ return $row[0];
+ }
+ return $defval;
+}
+
+function jBlog_getCSS_avail() {
+ global $jBlog;
+
+ $names = array();
+
+ $query = "SELECT cssid, name from $jBlog[dbPrefix]css order by name";
+ $cursor = mysql_db_query($jBlog['dbName'], $query);
+ while (($row = mysql_fetch_assoc($cursor))) {
+ $names[$row['cssid']] = $row['name'];
+ }
+ return $names;
+
+}
+
+function jBlog_getCSS($name = null) {
+ global $jBlog;
+
+ if (is_numeric($name)) {
+ $query = "SELECT * from $jBlog[dbPrefix]css where cssid = '$name'";
+ } else {
+ if ($name === null) {
+ $name = jBlog_get_config_var("default_css", "default");
+ }
+ $query = "SELECT * from $jBlog[dbPrefix]css where name = '$name'";
+ }
+
$cursor = mysql_db_query($jBlog['dbName'], $query);
$row = mysql_fetch_assoc($cursor);
return $row;
|