arbiter-devel Mailing List for Arbiter (Page 2)
Status: Pre-Alpha
Brought to you by:
lastcraft
You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(66) |
Oct
(20) |
Nov
(43) |
Dec
(2) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(4) |
Feb
(9) |
Mar
(84) |
Apr
(6) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(3) |
Nov
(3) |
Dec
|
2006 |
Jan
(8) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
From: Mark R. <co...@gm...> - 2005-03-10 00:14:05
|
> at the moment getHighlightedPhrases() just looks for any text that is > white (assuming any white text is on a colored background) > I've updated DocumentReader::getHighlightedPhrases() to use a new RTFParserPlugin that looks for a highlighted background on a phrase. It doesn't yet access the color values properly, and so far, just recognizes the standard formatting from openoffice... Have run into a problem with control words incorrectly being accepted as text objects, when the editor squeezes pointless extra markup into the phrase... An example of this is in UserLogin.rtf - I just highlighted the words normally by selecting with the mouse, and resaved the document in openoffice, and it pushed an empty "bookmark" inside the background control... I guess dealing with this situation would involve making RTFToken::isText() miss levels of nested control blocks in some way... Though maybe it would happen in the tokenizer instead? I'm still a little unsure which parts of the code should be modified to get this working... So far, it's good that 5 out of the 6 highlighted sample phrases are being recognized - but will need to do some more tests to see what formatting from Word looks like... regards, Mark |
From: Mike V. <ve...@gm...> - 2005-03-08 05:23:08
|
On Sat, 05 Mar 2005 14:34:08 +0000, Marcus Baker <ma...@la...> wrote: > Could you just check in the fixes. Sorry about that, I didnt realize I'd made my changes against an anon checkout and just assumed I didnt have write perms. -Mike |
From: Marcus B. <ma...@la...> - 2005-03-05 14:34:12
|
Hi... Mike Vincent wrote: > It's due to some missing calls to Mock::generate(), attached is a > patch for it and some other minor things I found while finally getting > around to checking out the code. Could you just check in the fixes. > > Cheers, > -Mike Vincent > (vee2d2 on sf) yours, Marcus -- Marcus Baker, ma...@la... - http://www.lastcraft.com/ PHP London every first Thursday - http://www.phplondon.org/ |
From: Mike V. <ve...@gm...> - 2005-03-05 05:39:34
|
On Sat, 5 Mar 2005 17:12:48 +1300, Mark Rickerby <co...@gm...> wrote: > All tests seem to be working ok, but am seeing some strange behaviour > with a fatal error on the first run, but then all green on the second > run. This repeats each time the tests are run. > > This is on PHP 4.8, IISAPI, Windows... Seems to be something to do > with the MockDocument and/or installer... I'll see if I can pinpoint > it... It's due to some missing calls to Mock::generate(), attached is a patch for it and some other minor things I found while finally getting around to checking out the code. Cheers, -Mike Vincent (vee2d2 on sf) |
From: Mark R. <co...@gm...> - 2005-03-05 04:12:59
|
All tests seem to be working ok, but am seeing some strange behaviour with a fatal error on the first run, but then all green on the second run. This repeats each time the tests are run. This is on PHP 4.8, IISAPI, Windows... Seems to be something to do with the MockDocument and/or installer... I'll see if I can pinpoint it... On Sat, 05 Mar 2005 02:55:17 +0000, Marcus Baker <ma...@la...> wrote: > Hi. > > Got the first use case up and running with the two original tests. > Everything works for me, how about you? > > The document title is still hard coded of course. > > yours, Marcus > -- > Marcus Baker, ma...@la... - http://www.lastcraft.com/ > PHP London every first Thursday - http://www.phplondon.org/ > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > Arbiter-devel mailing list > Arb...@li... > https://lists.sourceforge.net/lists/listinfo/arbiter-devel > |
From: Marcus B. <ma...@la...> - 2005-03-05 02:55:23
|
Hi. Got the first use case up and running with the two original tests. Everything works for me, how about you? The document title is still hard coded of course. yours, Marcus -- Marcus Baker, ma...@la... - http://www.lastcraft.com/ PHP London every first Thursday - http://www.phplondon.org/ |
From: Mark R. <co...@gm...> - 2005-03-05 01:22:49
|
I just added an rudimentary example to spikes/rawdocument/ with the following methods: getTitle() getDescription getHighlightedPhrases() at the moment getHighlightedPhrases() just looks for any text that is white (assuming any white text is on a colored background) regards, Mark On Fri, 4 Mar 2005 11:14:01 +0100, Christian Auth <ch...@mo...> w= rote: > =20 > =20 > =20 > Markus wrote: > >It's not that, it's just that without understanding RTF I cannot > >understand the code. Also it is not tied in with any tests or other > >code. It's a bit like having a nice clean modern city with no raod > >access. Without a road in I cannot explore and so decide if I want to > >live there. > =20 > hi,=20 > =20 > i am going to write enough tests for the spike to give us a starting poi= nt. > i think writing the=20 > tests will force me to simplify parts of the code (its a spike isn't it ?= ) > and thus making it easier=20 > discussing our strategy for parsing documents.=20 > =20 > cheers=20 > chris ------------------------------------------------------- SF email is > sponsored by - The IT Product Guide Read honest & candid reviews on hundr= eds > of IT Products from real users. Discover which products truly live up to = the > hype. Start reading now. http://ads.osdn.com/?ad_ide95&alloc_id=14396&opc= lick > _______________________________________________ Arbiter-devel mailing lis= t > Arb...@li... > https://lists.sourceforge.net/lists/listinfo/arbiter-devel=20 / |
From: Marcus B. <las...@us...> - 2005-03-05 01:12:16
|
Update of /cvsroot/arbiter/arbiter/test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19657/test Modified Files: configuration_test.php Log Message: Adding warnings for non-writable folders Index: configuration_test.php =================================================================== RCS file: /cvsroot/arbiter/arbiter/test/configuration_test.php,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** configuration_test.php 4 Mar 2005 23:06:59 -0000 1.1 --- configuration_test.php 5 Mar 2005 01:12:06 -0000 1.2 *************** *** 63,66 **** --- 63,88 ---- $this->assertIsA(Configuration::instance(), 'Configuration'); } + + function testConfigurationFolderIsWritable() { + $filename = uniqid('temp'); + $handle = fopen(dirname(__FILE__) . "/../configuration/$filename", 'w+'); + fwrite($handle, 'Delete me'); + fclose($handle); + $this->assertEqual(file_get_contents(dirname(__FILE__) . "/../configuration/$filename"), + 'Delete me', + 'The configuration folder must be writable'); + @unlink(dirname(__FILE__) . "/../configuration/$filename"); + } + + function testTempFolderIsWritable() { + $filename = uniqid('temp'); + $handle = fopen(dirname(__FILE__) . "/../temp/$filename", 'w+'); + fwrite($handle, 'Delete me'); + fclose($handle); + $this->assertEqual(file_get_contents(dirname(__FILE__) . "/../temp/$filename"), + 'Delete me', + 'The temp folder must be writable'); + @unlink(dirname(__FILE__) . "/../temp/$filename"); + } } ?> \ No newline at end of file |
From: maetl_ <ma...@us...> - 2005-03-05 01:08:27
|
Update of /cvsroot/arbiter/arbiter/spikes/rawdocument In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18402/spikes/rawdocument Modified Files: reader.php Log Message: created DocumentReader and associated test for getHighlightedPhrase Index: reader.php =================================================================== RCS file: /cvsroot/arbiter/arbiter/spikes/rawdocument/reader.php,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** reader.php 2 Mar 2005 11:16:07 -0000 1.1 --- reader.php 5 Mar 2005 01:08:16 -0000 1.2 *************** *** 1,51 **** ! <? ! // $Id$ ! include_once('functions.php'); ! include_once('rtf/rtf_parser.php'); ! include_once('rawdocument/raw_document.php'); ! include_once('rawdocument/raw_document_html.php'); ! $filename = 'documents/OnlineStore.rtf'; ! #$filename = 'documents/UserLogin.rtf'; ! $parser = new RTFParser($filename); ! $parser->loadPlugin('DocumentHeader'); ! $parser->loadPlugin('DocumentFonts'); ! $parser->loadPlugin('DocumentColors'); ! $parser->loadPlugin('DocumentStylesheet'); ! $parser->loadPlugin('DocumentInfo'); ! $parser->loadPlugin('Destinations'); ! $parser->loadPlugin('Paragraph'); ! $parser->loadPlugin('BasicFormatting'); ! $parser->loadPlugin('Text'); ! $parser->loadPlugin('Linebreak'); ! $document = &$parser->execute(); ! #$html = new RawDocumentExportHTML(&$document); ! #$html->execute(); ! $stats = new RawDocumentStatistics(&$document); ! $stats->update(); ! #$stats->dump(); - // Document Title - print "<h1>Document Title</h1>"; - $style = $stats->getStyleByImportance(0); - $title = &$document->getTextsByStyle($style); - var_dumpc($title); - // Headlines Level 1 - print "<h1>Headlines Level 1</h1>"; - $style = $stats->getStyleByImportance(1); - $headlines1 = &$document->getTextsByStyle($style); - var_dumpc($headlines1); ! // Headlines Level 2 ! print "<h1>Headlines Level 2</h1>"; ! $style = $stats->getStyleByImportance(2); ! $headlines2 = &$document->getTextsByStyle($style); ! var_dumpc($headlines2); ?> \ No newline at end of file --- 1,182 ---- ! <?php ! // $Id$ ! if (!defined('RUNNER')) { ! define('RUNNER', __FILE__); ! } ! ! require_once('simpletest/unit_tester.php'); ! require_once('simpletest/reporter.php'); ! require_once 'functions.php'; ! require_once 'rtf/rtf_parser.php'; ! require_once 'rawdocument/raw_document.php'; ! require_once 'rawdocument/raw_document_html.php'; ! class PhraseIndex { ! var $glossary; ! ! function PhraseIndex() { ! $this->glossary = array(); ! } ! function addPhrase($term) { ! //$this->_acceptFragment($fragment); ! $this->glossary[] = $term; ! } ! ! function _acceptFragment($fragment) { ! ! } ! ! } ! class HighlightedPhraseDescriptor extends DocumentFragment { ! function seekPhrasePattern() { ! // ! // ! // ! } ! } ! class DocumentFragment { ! // mixin ? ! } ! class DocumentReader { ! ! var $document; ! var $isExecuted = FALSE; ! ! function DocumentReader($filename) { ! $this->parser = &new RTFParser($filename); ! $this->parser->loadPlugin('DocumentHeader'); ! $this->parser->loadPlugin('DocumentFonts'); ! $this->parser->loadPlugin('DocumentColors'); ! $this->parser->loadPlugin('DocumentStylesheet'); ! $this->parser->loadPlugin('DocumentInfo'); ! $this->parser->loadPlugin('Destinations'); ! $this->parser->loadPlugin('Paragraph'); ! $this->parser->loadPlugin('BasicFormatting'); ! $this->parser->loadPlugin('Text'); ! $this->parser->loadPlugin('Linebreak'); ! } ! ! function _parse() { ! if ($this->isExecuted != TRUE) ! $this->document =& $this->parser->execute(); ! } ! ! function _getDocument() { ! $this->_parse(); ! return $this->document; ! } ! ! function _getStatistics() { ! $this->_parse(); ! $stats = &new RawDocumentStatistics($this->document); ! $stats->update(); ! return $stats; ! } ! ! function _getStyleById($styleId) { ! $document = $this->_getDocument(); ! foreach ($document->styles as $style) { ! if ($style->id == $styleId) return $style; ! } ! } ! ! function _getFragments($style) { ! $document = $this->_getDocument(); ! return $document->getTextsByStyle($style); ! } ! ! function _getFirstFragmentText($style) { ! $fragments = $this->_getFragments($style); ! return $fragments[0]->text; ! } ! ! function getTitle() { ! $stats = $this->_getStatistics(); ! $style = $stats->getStyleByImportance(0); ! return $this->_getFirstFragmentText($style); ! } ! ! function getDescription() { ! $stats = $this->_getStatistics(); ! $style = $stats->getStyleByImportance(2); ! return $this->_getFirstFragmentText($style); ! } ! ! function getHighlightedPhrases() { ! $document = $this->_getDocument(); ! $index =& new PhraseIndex(); ! for($i=0; $i<count($document->paragraphs); $i++) { ! if (!is_array($document->paragraphs[$i])) ! { ! if (is_array($document->paragraphs[$i]->text)) { ! foreach($document->paragraphs[$i]->text as $fragment) { ! if ($this->isHighlighted($fragment->styleId)) ! $index->addPhrase($fragment->text); ! } ! } else { ! if ($this->isHighlighted($document->paragraphs[$i]->styleId)) ! $index->addPhrase($document->paragraphs[$i]->text); ! } ! } ! ! } ! return $index->glossary; ! } ! ! function isHighlighted($styleId) { ! $style = $this->_getStyleById($styleId); ! if (!isset($style->properties['font-color'])) return false; ! $rgb = $style->properties['font-color']; ! if (is_array($rgb)) { ! foreach($rgb as $color) { ! ($color == 255) ? $white = true : $white = false; ! } ! return $white; ! } ! return false; ! } ! ! } ! ! /* Rotating testfiles ? ! array('file'=>'../../designs/project/requirements.rtf', ! 'title'=>'Arbiter Project', ! 'description'=>'Requirements for Acceptance Testing', ! 'firstPhrase'=>'Test Results', ! 'secondPhrase'=>'Zip'); ! */ ! ! class RawDocumentReaderTest extends UnitTestCase { ! ! function setUp() { ! $this->testFile['file'] = "../../designs/project/requirements.rtf"; ! $this->testFile['title']= "Arbiter Project"; ! $this->testFile['description'] = "Requirements for Acceptance Testing Tool"; ! $this->testFile['firstPhrase'] = "test results"; ! $this->testFile['secondPhrase'] ="zip"; ! } ! ! function testDocumentReader() { ! $reader = new DocumentReader($this->testFile['file']); ! $this->assertEqual($reader->getTitle(), $this->testFile['title']); ! $this->assertEqual($reader->getDescription(), $this->testFile['description']); ! $phrases = $reader->getHighlightedPhrases(); ! $this->assertEqual($phrases[0], $this->testFile['firstPhrase']); ! $this->assertEqual($phrases[1], $this->testFile['secondPhrase']); ! } ! ! } ! ! ! $test = new RawDocumentReaderTest; ! $test->run(new HtmlReporter); ?> \ No newline at end of file |
From: Marcus B. <las...@us...> - 2005-03-05 00:39:23
|
Update of /cvsroot/arbiter/arbiter/test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11341/test Modified Files: installer_test.php Log Message: Repository is now saved as absolute path Index: installer_test.php =================================================================== RCS file: /cvsroot/arbiter/arbiter/test/installer_test.php,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** installer_test.php 4 Mar 2005 23:45:20 -0000 1.2 --- installer_test.php 5 Mar 2005 00:39:13 -0000 1.3 *************** *** 34,38 **** function uninstall() { $this->get($this->getInstallerUrl()); ! $this->setField('i_am_sure', 'no_going_back'); $this->clickSubmit('Remove repository'); } --- 34,38 ---- function uninstall() { $this->get($this->getInstallerUrl()); ! $this->setField('confirmation', dirname(__FILE__) . '/../temp/'); $this->clickSubmit('Remove repository'); } |
From: Marcus B. <las...@us...> - 2005-03-05 00:39:22
|
Update of /cvsroot/arbiter/arbiter/classes In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11341/classes Modified Files: installer.php Log Message: Repository is now saved as absolute path Index: installer.php =================================================================== RCS file: /cvsroot/arbiter/arbiter/classes/installer.php,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** installer.php 3 Mar 2005 04:15:47 -0000 1.2 --- installer.php 5 Mar 2005 00:39:13 -0000 1.3 *************** *** 11,15 **** function install($location) { ! $location = preg_replace('|/$|', '', $location); $configuration = &Configuration::instance(); $configuration->setRepositoryPath($location); --- 11,15 ---- function install($location) { ! $location = preg_replace('|/$|', '', realpath($location)); $configuration = &Configuration::instance(); $configuration->setRepositoryPath($location); *************** *** 19,24 **** } ! function uninstall() { $configuration = &Configuration::instance(); $location = $configuration->getRepositoryPath(); $configuration->remove(); --- 19,28 ---- } ! function uninstall($location) { ! $location = preg_replace('|/$|', '', realpath($location)); $configuration = &Configuration::instance(); + if ($location != $configuration->getRepositoryPath()) { + return; + } $location = $configuration->getRepositoryPath(); $configuration->remove(); |
From: Marcus B. <las...@us...> - 2005-03-05 00:39:22
|
Update of /cvsroot/arbiter/arbiter/server In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11341/server Modified Files: index.php installer.php Log Message: Repository is now saved as absolute path Index: index.php =================================================================== RCS file: /cvsroot/arbiter/arbiter/server/index.php,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** index.php 4 Mar 2005 23:45:20 -0000 1.1 --- index.php 5 Mar 2005 00:39:13 -0000 1.2 *************** *** 7,12 **** $arbiter = &new Arbiter(Configuration::instance()); $arbiter->handleUpload($_POST, $_FILES); ! ?> ! <html> <link rel="stylesheet" href="styles/arbiter.css"> <head><title>Arbiter Server</title></head> --- 7,12 ---- $arbiter = &new Arbiter(Configuration::instance()); $arbiter->handleUpload($_POST, $_FILES); ! ! ?><html> <link rel="stylesheet" href="styles/arbiter.css"> <head><title>Arbiter Server</title></head> Index: installer.php =================================================================== RCS file: /cvsroot/arbiter/arbiter/server/installer.php,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** installer.php 4 Mar 2005 23:45:20 -0000 1.1 --- installer.php 5 Mar 2005 00:39:13 -0000 1.2 *************** *** 6,11 **** $installer->install($_REQUEST['location']); } ! if (isset($_REQUEST['remove']) && isset($_REQUEST['i_am_sure'])) { ! $installer->uninstall(); } ?><html> --- 6,11 ---- $installer->install($_REQUEST['location']); } ! if (isset($_REQUEST['remove'])) { ! $installer->uninstall($_REQUEST['confirmation']); } ?><html> *************** *** 35,40 **** <br /> <form> ! I am sure: ! <input type="checkbox" name="i_am_sure" value="no_going_back" /> <br /> <input type="submit" name="remove" value="Remove repository" /> --- 35,40 ---- <br /> <form> ! Confirm location: ! <input type="text" name="confirmation" value="" /> <br /> <input type="submit" name="remove" value="Remove repository" /> |
From: Marcus B. <las...@us...> - 2005-03-04 23:45:28
|
Update of /cvsroot/arbiter/arbiter/test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27921/test Modified Files: installer_test.php use_case.php Log Message: Moved public files to server folder to avoid exposing the configuration directory Index: installer_test.php =================================================================== RCS file: /cvsroot/arbiter/arbiter/test/installer_test.php,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** installer_test.php 4 Mar 2005 23:06:59 -0000 1.1 --- installer_test.php 4 Mar 2005 23:45:20 -0000 1.2 *************** *** 18,22 **** if ($here = $this->getSelfUri()) { ! return preg_replace('|arbiter/test/.*|', 'arbiter/installer.php', $here); } if (! $has_warned) { --- 18,22 ---- if ($here = $this->getSelfUri()) { ! return preg_replace('|arbiter/test/.*|', 'arbiter/server/installer.php', $here); } if (! $has_warned) { Index: use_case.php =================================================================== RCS file: /cvsroot/arbiter/arbiter/test/use_case.php,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** use_case.php 3 Mar 2005 01:32:50 -0000 1.2 --- use_case.php 4 Mar 2005 23:45:20 -0000 1.3 *************** *** 36,40 **** if ($here = $this->getSelfUri()) { ! return preg_replace('|arbiter/test/.*|', 'arbiter/installer.php', $here); } if (! $has_warned) { --- 36,40 ---- if ($here = $this->getSelfUri()) { ! return preg_replace('|arbiter/test/.*|', 'arbiter/server/installer.php', $here); } if (! $has_warned) { *************** *** 51,55 **** } if ($self = $this->getSelfUri()) { ! return preg_replace('|arbiter/test/.*|', 'arbiter/index.php', $self); } if (! $has_warned) { --- 51,55 ---- } if ($self = $this->getSelfUri()) { ! return preg_replace('|arbiter/test/.*|', 'arbiter/server/index.php', $self); } if (! $has_warned) { |
From: Marcus B. <las...@us...> - 2005-03-04 23:45:28
|
Update of /cvsroot/arbiter/arbiter/server/styles In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27921/server/styles Added Files: arbiter.css Log Message: Moved public files to server folder to avoid exposing the configuration directory --- NEW FILE: arbiter.css --- body { background-color:#F3F3F3; font:normal 13px Arial,Sans-serif; } a { color:#3F7A1C; } h1 { color:#494949; font-size:24px; font-weight:normal; margin-left:15%; } h3 { color:#90A784; } /* Layout Column */ #content { width:70%; margin:auto; } .message { width:70%; padding:6px 10px 4px 3px; background-color:#90A784; } /* Form Interface */ #upload-form { border:1px dotted #90A784; width:70%; margin-top:22px; padding:0 0 6px 12px; background-color:#eee; } form .message { width:80%; background-color:#a50; } form .message em { color:#fff; } .message p { margin:0; color:#fff; } /* Glossary Definition List */ .glossary .term dt { margin:0; padding:3px; font-weight:bold; background-color:#eaeaea; color:#333; } .glossary .term dd { margin:0; padding-left:3px; } /* Inline File Icons */ p em { font-style:normal; font-weight:bold; color:#5B6B54; padding-left:16px; } p em.rtf { background:1px 0 no-repeat url(icons/rtf.gif); } p em.doc { background:0 0 no-repeat url(icons/doc.gif); } /* Document Table */ .document { border:1px solid #507A37; background-color:#eaeaea; margin:0 0 10px 0; } .document table { border:1px dotted #3F7A1C; width:100%; } .document th { border-bottom:1px dotted #3F7A1C; font:bold 13px Arial,Sans-serif; text-align:left; padding:2px 0 3px 24px; } .document th.doc { background:#B1D391 3px 2px no-repeat url(icons/doc.gif); } .document th.rtf { background:#B1D391 3px 2px no-repeat url(icons/rtf.gif); } .document td { font:normal 13px Arial,Sans-serif; } .document td.type { font-size:11px; } .document td.description { width:60%; } .document td.related { font-style:normal; } .document td.related a { color:#3F7A1C; } .pass { color: green; } .fail { color: red; } /* Temporary project homepage */ .project-detail { float:right; margin-right:30%; } |
From: Marcus B. <las...@us...> - 2005-03-04 23:45:28
|
Update of /cvsroot/arbiter/arbiter/server In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27921/server Added Files: index.php installer.php Log Message: Moved public files to server folder to avoid exposing the configuration directory --- NEW FILE: index.php --- <?php // $Id: index.php,v 1.1 2005/03/04 23:45:20 lastcraft Exp $ require_once(dirname(__FILE__) . '/../classes/arbiter.php'); require_once(dirname(__FILE__) . '/../classes/configuration.php'); $arbiter = &new Arbiter(Configuration::instance()); $arbiter->handleUpload($_POST, $_FILES); ?> <html> <link rel="stylesheet" href="styles/arbiter.css"> <head><title>Arbiter Server</title></head> <body> <h1>Arbiter Server</h1> <div id="content"> <?php $documents = $arbiter->getAllDocuments(); if ($documents) { foreach ($documents as $document) { ?> <div class="document"> <table cellpadding="6" cellspacing="0"> <tr> <th colspan="4" class="rtf"><a href="find.php?d=<? echo urlencode($Document); ?>"><?php echo $Document; ?></a></th> </tr> <tr> <td class="type"><p>File Type</p></td> <td class="type"><p>File Size</p></td> <td class="type"><p>Date Modified</p></td> <td class="type"><p>Description</p></td> </tr> <tr> <td><? echo $document->type; ?></td> <td><? echo $document->size; ?></td> <td><? echo $document->modified; ?></td> <td class="description"><? echo $document->Description; ?></td> </tr> <tr> <td class="related" colspan="4"><em><a href="test.php?d=<? echo urlencode($Document); ?>">View Tests (0) »</a></em></td> </tr> </table> </div> <?php } } else { ?> <div class="message"><p>Waiting for first document...</p></div> <?php } ?> <div id="upload-form"> <h3>Upload A Requirements Document:</h3> <form id="upload" enctype="multipart/form-data" method="post"> <?php if ($arbiter->getLastUploadError()) { ?> <div class="message"> <p><strong><? echo $arbiter->getLastUploadError(); ?></strong></p> </div> <?php } ?> <input type="hidden" name="MAX_FILE_SIZE" value="30000"> <p><input type="file" name="document" size="38"></p> <p>The document must be saved in <em class="rtf">.rtf</em> format</p> <input type="submit" class="submit" value="Upload Document »"> </form> </div> </div> </body> </html> --- NEW FILE: installer.php --- <?php require_once(dirname(__FILE__) . '/../classes/installer.php'); $installer = new Installer(); if (isset($_REQUEST['create'])) { $installer->install($_REQUEST['location']); } if (isset($_REQUEST['remove']) && isset($_REQUEST['i_am_sure'])) { $installer->uninstall(); } ?><html> <head><title>Arbiter Installer</title></head> <body> <h1>Arbiter installer</h1> <h2>Current repository...</h2> <p> <?php if ($installer->isInstalled()) { ?> Repository location is <?php echo $installer->getRepositoryPath() ?> <?php } else { ?> You need to create a new repository to begin. <?php } ?> </p> <?php if ($installer->isInstalled()) { ?> <h2>Uninstall the repository...</h2> <p> <em>Warning: this will delete all of your requirements documents!</em> <br /> <form> I am sure: <input type="checkbox" name="i_am_sure" value="no_going_back" /> <br /> <input type="submit" name="remove" value="Remove repository" /> </form> </p> <?php } else { ?> <h2>Create a new Repository...</h2> <p> <form> New repository directory: <input type="text" name="location" value="" /> <br /> <em>Please note that your web server must be able to write to this directory.</em> <br /> <input type="submit" name="create" value="Create repository" /> </form> </p> <?php } ?> </body> </html> |
From: Marcus B. <las...@us...> - 2005-03-04 23:45:28
|
Update of /cvsroot/arbiter/arbiter In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27921 Removed Files: find.php index.php installer.php show.php Log Message: Moved public files to server folder to avoid exposing the configuration directory --- find.php DELETED --- --- index.php DELETED --- --- show.php DELETED --- --- installer.php DELETED --- |
From: Marcus B. <las...@us...> - 2005-03-04 23:42:15
|
Update of /cvsroot/arbiter/arbiter/server/styles In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26876/styles Log Message: Directory /cvsroot/arbiter/arbiter/server/styles added to the repository |
From: Marcus B. <las...@us...> - 2005-03-04 23:36:07
|
Update of /cvsroot/arbiter/arbiter/server In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24996/server Log Message: Directory /cvsroot/arbiter/arbiter/server added to the repository |
From: Jason S. <jas...@gm...> - 2005-03-04 23:19:32
|
On Fri, 04 Mar 2005 23:09:20 +0000, Marcus Baker <ma...@la...> wrote: > Hi... > > Jason Sweat wrote: > > $instance =& new Foo; > > But I don't put the ampersand here for this very reason. > > Feel free to edit it though if you think it's accident prone. Rather > than an array though, how about a class called Reference? I just see getInstance() and think Singleton, did not realize you were not trying to use the same instance. Would you want to call it out specifically as a copy somehow if that is your intent? Regards, Jason http://blog.casey-sweat.us/ |
From: Marcus B. <ma...@la...> - 2005-03-04 23:09:23
|
Hi... Jason Sweat wrote: > $instance =& new Foo; But I don't put the ampersand here for this very reason. Feel free to edit it though if you think it's accident prone. Rather than an array though, how about a class called Reference? yours, Marcus -- Marcus Baker, ma...@la... - http://www.lastcraft.com/ PHP London every first Thursday - http://www.phplondon.org/ |
From: Marcus B. <las...@us...> - 2005-03-04 23:07:09
|
Update of /cvsroot/arbiter/arbiter/test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15894/test Added Files: configuration_test.php installer_test.php Log Message: Added missing test files --- NEW FILE: configuration_test.php --- <?php include(dirname(__FILE__) . '/run_me_if_no_runner.php'); require_once(dirname(__FILE__) . '/../classes/configuration.php'); require_once(dirname(__FILE__) . '/../classes/working_folder.php'); class TestOfConfiguration extends UnitTestCase { function tearDown() { $configuration = &new Configuration(dirname(__FILE__) . '/../temp/test.ini'); $configuration->remove(); $this->assertFalse(file_exists(dirname(__FILE__) . '/../temp/test.ini')); } function testRepositoryPathWrittenOutCanBeReadBack() { $configuration = &new Configuration(dirname(__FILE__) . '/../temp/test.ini'); $configuration->setRepositoryPath(dirname(__FILE__) . '/../temp/here'); $this->assertEqual($configuration->getRepositoryPath(), dirname(__FILE__) . '/../temp/here'); $configuration->save(); $configuration = &new Configuration(dirname(__FILE__) . '/../temp/test.ini'); $this->assertEqual($configuration->getRepositoryPath(), dirname(__FILE__) . '/../temp/here'); } function testCanSetRepositoryFolder() { $configuration = &new Configuration(dirname(__FILE__) . '/../temp/test.ini'); $configuration->setRepositoryPath(dirname(__FILE__) . '/../temp/here'); $configuration->save(); $configuration = &new Configuration(dirname(__FILE__) . '/../temp/test.ini'); $folder = $configuration->getRepositoryFolder(); $this->assertIsA($folder, 'WorkingFolder'); $this->assertEqual($folder->getPath(), dirname(__FILE__) . '/../temp/here'); } function testTestPathWrittenOutCanBeReadBack() { $configuration = &new Configuration(dirname(__FILE__) . '/../temp/test.ini'); $configuration->setTestPath(dirname(__FILE__) . '/../temp/here'); $this->assertEqual($configuration->getTestPath(), dirname(__FILE__) . '/../temp/here'); $configuration->save(); $configuration = &new Configuration(dirname(__FILE__) . '/../temp/test.ini'); $this->assertEqual($configuration->getTestPath(), dirname(__FILE__) . '/../temp/here'); } function testCanSetTestGenerationFolder() { $configuration = &new Configuration(dirname(__FILE__) . '/../temp/test.ini'); $configuration->setTestPath(dirname(__FILE__) . '/../temp/here'); $configuration->save(); $configuration = &new Configuration(dirname(__FILE__) . '/../temp/test.ini'); $folder = $configuration->getTestFolder(); $this->assertIsA($folder, 'WorkingFolder'); $this->assertEqual($folder->getPath(), dirname(__FILE__) . '/../temp/here'); } function testOnlyOneInstanceFromSingletonInterface() { $this->assertReference(Configuration::instance(), Configuration::instance()); $this->assertIsA(Configuration::instance(), 'Configuration'); } } ?> --- NEW FILE: installer_test.php --- <?php include(dirname(__FILE__) . '/run_me_if_no_runner.php'); class TestOfInstaller extends WebTestCase { function getSelfUri() { if (isset($_SERVER['SCRIPT_URI'])) { return $_SERVER['SCRIPT_URI']; } if (isset($_SERVER['HTTP_HOST']) && isset($_SERVER['PHP_SELF'])) { return 'http://'. $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']; } return false; } function getInstallerUrl() { static $has_warned = false; if ($here = $this->getSelfUri()) { return preg_replace('|arbiter/test/.*|', 'arbiter/installer.php', $here); } if (! $has_warned) { $has_warned = true; trigger_error('Must have server URL as argument'); } } function install() { $this->get($this->getInstallerUrl()); $this->setField('location', dirname(__FILE__) . '/../temp/'); $this->clickSubmit('Create repository'); } function uninstall() { $this->get($this->getInstallerUrl()); $this->setField('i_am_sure', 'no_going_back'); $this->clickSubmit('Remove repository'); } function testRemovalCleansOutRepository() { $this->install(); $this->uninstall(); $this->assertFalse(file_exists(dirname(__FILE__) . '/../configuration/arbiter.conf')); $this->assertFalse(is_dir(dirname(__FILE__) . '/../temp/repository/')); } function testInstallationCreatesPaths() { $this->get($this->getInstallerUrl()); $this->install(); $this->assertTrue(file_exists(dirname(__FILE__) . '/../configuration/arbiter.conf')); $this->assertTrue(is_dir(dirname(__FILE__) . '/../temp/repository/')); $this->uninstall(); } function testInstallationAllowsUninstall() { $this->get($this->getInstallerUrl()); $this->assertWantedText('You need to create a new repository'); $this->assertNoUnwantedText('uninstall'); $this->install(); $this->assertNoUnwantedText('You need to create a new repository'); $this->assertWantedText('this will delete all'); $this->uninstall(); } } ?> |
From: Marcus B. <ma...@la...> - 2005-03-04 23:06:46
|
Hi... Brenden Vickery wrote: > I think you missed adding configuration_test.php and installer_test.php > to the cvs repository. Ouch! Sorry about that, they are in now. yours, Marcus -- Marcus Baker, ma...@la... - http://www.lastcraft.com/ PHP London every first Thursday - http://www.phplondon.org/ |
From: Pavel C. <pac...@ma...> - 2005-03-04 16:25:41
|
Hello, Thursday, March 3, 2005, 5:53:54 PM, Brenden Vickery wrote: BV> Ive made a new list arb...@li.... When BV> sourceforge creates it Ill move the commits over to that. Thanks a lot! I'm secretly keeping eye on your dev.mailing list(and enjoying your conversations too!) and was surprised to see cvs logs amongst dev.discussion topics :) It's amazing to watch open source project being developed with agile methodologies grow from the very beginning... Keep up your good work! Best regards, Pavel -- Pavel Chtchevaev, pac...@ma... LIMB - http://limb-project.com Bureau of Information Technologies - http://www.bit-creative.com |
From: Brenden V. <bre...@gm...> - 2005-03-04 15:14:26
|
I created a new list yesterday but Im still waiting for the sf guys to set it up. Ill move the commits when its ready. Marcus Baker wrote: > Hi... > > Pavel Chtchevaev wrote: > >> Guys, what about a separate mailing list for cvs activity, please? :) > > > I agree. Brendan? > > yours, Marcus |
From: Christian A. <ch...@mo...> - 2005-03-04 10:14:10
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML = DIR=3Dltr><HEAD><META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; = charset=3Diso-8859-1"></HEAD><BODY>=0A= <DIV id=3DidOWAReplyText14251 dir=3Dltr>=0A= <DIV dir=3Dltr><FONT face=3DArial color=3D#000000 size=3D2>=0A= <DIV dir=3Dltr><FONT size=3D2>Markus wrote:<BR>>It's not that, = it's just =0A= that without understanding RTF I cannot<BR>>understand the code. Also = it is =0A= not tied in with any tests or other<BR>>code. It's a bit like having = a nice =0A= clean modern city with no raod<BR>>access. Without a road in I cannot = explore =0A= and so decide if I want to<BR>>live there.<BR></FONT></DIV>=0A= <DIV dir=3Dltr><FONT size=3D2>hi,</FONT></DIV>=0A= <DIV dir=3Dltr><FONT size=3D2></FONT> </DIV>=0A= <DIV dir=3Dltr><FONT size=3D2> i am going to write enough = tests for =0A= the spike to give us a starting point. i think writing the</FONT></DIV>=0A= <DIV dir=3Dltr><FONT size=3D2>tests will force me to simplify parts = of the code =0A= (its a spike isn't it ?) and thus making it easier </FONT></DIV>=0A= <DIV dir=3Dltr><FONT size=3D2>discussing our strategy for parsing = documents. =0A= </FONT></DIV>=0A= <DIV dir=3Dltr><FONT size=3D2></FONT> </DIV>=0A= <DIV dir=3Dltr><FONT size=3D2>cheers</FONT></DIV>=0A= <DIV dir=3Dltr><FONT = size=3D2>chris</FONT></DIV></FONT></DIV></DIV></BODY></HTML> |