From f2258e7ee56d43535d99bd9eb63ae65ef47c37f5 Mon Sep 17 00:00:00 2001 From: Jonathan Ernst Date: Wed, 2 Feb 2005 02:38:20 +0000 Subject: [PATCH] - use htmlarea for editing app description and notes - special stylesheet for application description and notes - function to display summary of description with html stripping --- admin/editAppFamily.php | 77 ++++++++++++++++++++++-------------- admin/editAppVersion.php | 84 +++++++++++++++++++++++++++------------- apidb.css | 5 ++- application.css | 29 ++++++++++++++ include/application.php | 16 ++++++++ index.php | 3 +- search.php | 7 +--- 7 files changed, 158 insertions(+), 63 deletions(-) create mode 100644 application.css diff --git a/admin/editAppFamily.php b/admin/editAppFamily.php index 8871e5a..deaaffe 100644 --- a/admin/editAppFamily.php +++ b/admin/editAppFamily.php @@ -99,13 +99,30 @@ if(isset($_REQUEST['submit'])) 'vendorId' => $_REQUEST['vendorId'], 'keywords' => $_REQUEST['keywords'], 'catId' => $_REQUEST['catId'] )); - + + // success if (query_appdb("UPDATE `appFamily` SET $sUpdate WHERE `appId` = {$_REQUEST['appId']}")) + { + $sEmail = get_notify_email_address_list($_REQUEST['appId']); + if($sEmail) + { + $sSubject = lookupAppName($_REQUEST['appId'])." has been modified by ".$_SESSION['current']->sRealname; + $sMsg .= APPDB_ROOT."appview.php?appId=".$_REQUEST['appId']."\n"; + $sMsg .= "\n"; + $sMsg .= "The following changes have been made:"; + $sMsg .= "\n"; + $sMsg .= $sWhatChanged."\n"; + $sMsg .= "\n"; + + mail_appdb($sEmail, $sSubject ,$sMsg); + } + addmsg("The application was successfully updated in the database", "green"); + redirect(apidb_fullurl("appview.php?appId=".$_REQUEST['appId'])); + } else { - - addmsg("Database Updated", "green"); - - } + //error + redirect(apidb_fullurl("admin/editAppVersion.php?appId=".$_REQUEST['appId']."&versionId=".$_REQUEST['versionId'])); + } } } else if($_REQUEST['submit'] == "Update URL") @@ -177,30 +194,33 @@ if(isset($_REQUEST['submit'])) } } } - } - if ($bAppChanged) - { - $sEmail = get_notify_email_address_list($_REQUEST['appId']); - if($sEmail) + if ($bAppChanged) { - $sFullAppName = "Application: ".lookupAppName($_REQUEST['appId']); - $sMsg = APPDB_ROOT."appview.php?appId=".$_REQUEST['appId']."\r\n"; - $sMsg .= "\r\n"; - $sMsg .= $_SESSION['current']->sRealname." changed ".$sFullAppName." \r\n"; - $sMsg .= "\r\n"; - $sMsg .= $sWhatChanged."\r\n"; - $sMsg .= "\r\n"; - - mail_appdb($sEmail, $sFullAppName ,$sMsg); + $sEmail = get_notify_email_address_list($_REQUEST['appId']); + if($sEmail) + { + $sFullAppName = "Links for ".lookupAppName($_REQUEST['appId'])." have been updated"; + $sMsg = APPDB_ROOT."appview.php?appId=".$_REQUEST['appId']."\r\n"; + $sMsg .= "\n"; + $sMsg .= $_SESSION['current']->sRealname." updated links for ".$sFullAppName." \r\n"; + $sMsg .= "\n"; + $sMsg .= $sWhatChanged."\n"; + mail_appdb($sEmail, $sFullAppName ,$sMsg); + } } - } - redirect(apidb_fullurl("appview.php?appId={$_REQUEST['appId']}")); - exit; + redirect(apidb_fullurl("appview.php?appId={$_REQUEST['appId']}")); + exit; + } } else // Show the form for editing the Application Family { +?> + + + +\n"; + echo "
\n"; echo html_frame_start("Data for Application ID $ob->appId", "90%","",0); echo html_table_begin("width='100%' border=0 align=left cellpadding=6 cellspacing=0 class='box-body'"); - echo ''; + echo ''; echo 'Name',"\n"; echo 'Vendor'; $family->make_option_list("vendorId", $ob->vendorId, "vendor", "vendorId", "vendorName"); echo '',"\n"; echo 'Keywords',"\n"; - echo 'Description', "\n"; - echo '',"\n"; + echo 'Description', "\n"; + if(trim(strip_tags($ob->description))=="") $ob->description="

Enter description here

"; + echo '

', "\n"; + echo '',"\n"; + echo '

'; echo 'Web Page',"\n"; echo 'Category'; $family->make_option_list("catId", $ob->catId, "appCategory", "catId", "catName"); echo '',"\n"; - echo '',"\n"; echo html_table_end(); @@ -289,5 +311,4 @@ else } apidb_footer(); - ?> diff --git a/admin/editAppVersion.php b/admin/editAppVersion.php index 0028f09..2d590a9 100644 --- a/admin/editAppVersion.php +++ b/admin/editAppVersion.php @@ -89,27 +89,27 @@ if(isset($_REQUEST['submit1'])) $sEmail = get_notify_email_address_list($_REQUEST['appId'], $_REQUEST['versionId']); if($sEmail) { - $sFullAppName = "Application: ".lookupAppName($_REQUEST['appId'])." Version: ".lookupVersionName($_REQUEST['appId'], $_REQUEST['versionId']); - $sMsg .= APPDB_ROOT."appview.php?appId=".$_REQUEST['appId']."&versionId=".$_REQUEST['versionId']."\r\n"; - $sMsg .= "\r\n"; - $sMsg .= $_SESSION['current']->realname." changed ".$sFullAppName."\n"; - $sMsg .= "\r\n"; - $sMsg .= $WhatChanged."\r\n"; - $sMsg .= "\r\n"; + $sSubject = lookupAppName($_REQUEST['appId'])." ".lookupVersionName($_REQUEST['versionId'])." has been modified by".$_SESSION['current']->sRealname; + $sMsg .= APPDB_ROOT."appview.php?appId=".$_REQUEST['appId']."&versionId=".$_REQUEST['versionId']."\n"; + $sMsg .= "\n"; + $sMsg .= "The following changes have been made:"; + $sMsg .= "\n"; + $sMsg .= $WhatChanged."\n"; + $sMsg .= "\n"; - mail_appdb($sEmail, $sFullAppName ,$sMsg); + mail_appdb($sEmail, $sSubject ,$sMsg); } - addmsg("The Version was successfully updated in the database", "green"); - redirect(apidb_fullurl("appview.php?appId=".$_REQUEST['appId']."&versionId=".$_REQUEST['versionId'])); + addmsg("The version was successfully updated in the database", "green"); + redirect(apidb_fullurl("appview.php?versionId=".$_REQUEST['versionId'])); } else { //error - redirect(apidb_fullurl("admin/editAppVersion.php?appId=".$_REQUEST['appId']."&versionId=".$_REQUEST['versionId'])); + redirect(apidb_fullurl("admin/editAppVersion.php?versionId=".$_REQUEST['versionId'])); } } else { addmsg("Nothing changed", "red"); - redirect(apidb_fullurl("admin/editAppVersion.php?appId=".$_REQUEST['appId']."&versionId=".$_REQUEST['versionId'])); + redirect(apidb_fullurl("admin/editAppVersion.php?versionId=".$_REQUEST['versionId'])); } } else if($_REQUEST['submit1'] == "Update URL") @@ -187,24 +187,28 @@ if(isset($_REQUEST['submit1'])) $sEmail = get_notify_email_address_list($_REQUEST['appId']); if($sEmail) { - $sFullAppName = "Application: ".lookupAppName($_REQUEST['appId']); - $sMsg = APPDB_ROOT."appview.php?appId=".$_REQUEST['appId']."\r\n"; - $sMsg .= "\r\n"; - $sMsg .= $_SESSION['current']->realname." changed ".$sFullAppName." \r\n"; - $sMsg .= "\r\n"; - $sMsg .= $sWhatChanged."\r\n"; - $sMsg .= "\r\n"; + $sSubject = "Links for ".lookupAppName($_REQUEST['appId'])." ".lookupAppName($_REQUEST['versionId'])." have been updated by ".$_SESSION['current']->sRealname; + $sMsg = APPDB_ROOT."appview.php?appId=".$_REQUEST['appId']."\n"; + $sMsg .= "\n"; + $sMsg .= "The following changes have been made:"; + $sMsg .= "\n"; + $sMsg .= $sWhatChanged."\n"; + $sMsg .= "\n"; - mail_appdb($sEmail, $sFullAppName ,$sMsg); + mail_appdb($sEmail, $sSubject ,$sMsg); } } exit; } else { +?> + + + +Name'.lookupAppName($_REQUEST['appId']).'',"\n"; echo 'Version',"\n"; echo 'Version specific description', "\n"; - echo '',"\n"; + if(trim(strip_tags($oRow->description))=="") + { + $oRow->description = "

This is a template; enter version-specific description here

"; + $oRow->description .= "

+ Wine compatibility
+ What works:
+ - settings
+ - help
+
What doesn't work:
+ - erasing
+
What was not tested:
+ - burning
+

"; + $oRow->description .= "

Tested versions
+ + + + + + + + + +
App. versionWine versionInstalls?Runs?Rating
3.2320050111yesyesGold
3.2320041201yesyesSilver
3.2120040615yesyesBronze


"; + } + echo '

', "\n"; + echo '',"\n"; + echo '

'; echo 'Rating',"\n"; make_maintainer_rating_list("maintainer_rating", $oRow->maintainer_rating); echo '',"\n"; @@ -226,7 +257,7 @@ if(isset($_REQUEST['submit1'])) make_bugzilla_version_list("maintainer_release", $oRow->maintainer_release); echo '',"\n"; - echo '',"\n"; + echo '',"\n"; echo html_table_end(); echo html_frame_end(); @@ -240,7 +271,7 @@ if(isset($_REQUEST['submit1'])) echo '',"\n"; $i = 0; - $result = query_appdb("SELECT * FROM appData WHERE appId = ".$_REQUEST['appId']." AND versionId = ".$_REQUEST['versionId']." AND type = 'url'"); + $result = query_appdb("SELECT * FROM appData WHERE versionId = ".$_REQUEST['versionId']." AND type = 'url'"); if($result && mysql_num_rows($result) > 0) { echo '\n"; echo ""; - echo '',"\n"; echo '',"\n"; @@ -277,7 +307,7 @@ if(isset($_REQUEST['submit1'])) echo '
Delete',"\n"; @@ -268,7 +299,6 @@ if(isset($_REQUEST['submit1'])) } echo "
New
',"\n"; echo html_frame_end(); echo "
"; - echo html_back_link(1,BASE."appview.php?appId=$ob->appId&versionId=$ob->versionId"); + echo html_back_link(1,BASE."appview.php?versionId=".$_REQUEST['versionId']); apidb_footer(); } ?> diff --git a/apidb.css b/apidb.css index bbae317..7a86e28 100644 --- a/apidb.css +++ b/apidb.css @@ -133,7 +133,7 @@ p.indent { padding-left: 1em; padding-right: 1em;} .committed { font-style: italic; color: gray; } /* App Support status */ -.gold { background-color: #8B7E66; } +.gold { background-color: #fff600; } .silver { background-color: silver; } @@ -224,3 +224,6 @@ TD.stub { color: #0000B1; font-style: italic; text-align: center } /* Banner div */ #banner { border: 1px solid black; } + +/* Editor textarea */ +#editor { height: 25em; width:700px; } diff --git a/application.css b/application.css new file mode 100644 index 0000000..10a55f8 --- /dev/null +++ b/application.css @@ -0,0 +1,29 @@ +/***********************************************************************/ +/* The following styles are used for application description and notes */ +/***********************************************************************/ + +BODY { + background-color: #FFFFFF; + color: #000000; + font-family: "bitstream vera sans", "verdana", "arial", "helvetica", sans-serif; + margin: 0px 10px 0px 0px; + font-size: 12px; + } + +thead { font-weight: bold } + +.title { font-weight: bold; } + +.subtitle { text-decoration: underline; font-style: italic; } + +.code { font-family: fixed; font-size: 12px; } + +table { border: 1px; + font-family: "bitstream vera sans", "verdana", "arial", "helvetica", sans-serif; + font-size: 12px; } + +td.gold { background-color: #fff600; } +td.silver { background-color: silver; } +td.bronze { background-color: #fcba0a; } +td.garbage { background-color: #5c4f2a; } + diff --git a/include/application.php b/include/application.php index 57357c8..b0865de 100644 --- a/include/application.php +++ b/include/application.php @@ -116,4 +116,20 @@ function lookupAppName($appId) return $ob->appName; } + +/** + * Remove html formatting from description and extract the first part of the description only. + * This is to be used for search results, application summary tables, etc. + */ +function trim_description($sDescription) +{ + // 1) let's take the first line of the description: + $aDesc = explode("\n",trim($sDescription),2); + // 2) maybe it's an html description and lines are separated with
or

+ $aDesc = explode("
",$aDesc[0],2); + $aDesc = explode("
",$aDesc[0],2); + $aDesc = explode("

",$aDesc[0],2); + $aDesc = explode("

",$aDesc[0],2); + return trim(strip_tags($aDesc[0])); +} ?> diff --git a/index.php b/index.php index aa9ab57..2ec9af4 100644 --- a/index.php +++ b/index.php @@ -114,11 +114,10 @@ while($oRow = mysql_fetch_object($hResult)) $oApp = new Application($oRow->appId); // image $img = get_screenshot_img($oRow->appId); - $aDesc = explode("\n",$oApp->data->description,2); echo ' '.$oApp->data->appName.' - '.$aDesc[0].' + '.trim_description($oApp->data->description).' '.$img.' '; } diff --git a/search.php b/search.php index 15935cc..a25d4cd 100644 --- a/search.php +++ b/search.php @@ -52,13 +52,10 @@ else $query = query_appdb("SELECT count(*) as versions FROM appVersion WHERE appId = $ob->appId AND versionName != 'NONAME'"); $y = mysql_fetch_object($query); - //format desc - $desc = substr(stripslashes($ob->description),0,75); - //display row echo "\n"; echo " ".html_ahref($ob->appName,"appview.php?appId=$ob->appId")."\n"; - echo " $desc  \n"; + echo " ".trim_description($ob->description)."\n"; echo " $y->versions  \n"; echo "\n\n"; @@ -66,7 +63,7 @@ else } echo "$c match(es) found\n"; - echo "\n\n"; + echo "\n\n"; } apidb_footer();