diff options
| author | Jesse Morgan <jesse@jesterpm.net> | 2011-06-02 18:06:00 -0700 | 
|---|---|---|
| committer | Jesse Morgan <jesse@jesterpm.net ; true> | 2011-06-02 18:06:00 -0700 | 
| commit | 4364c76c16103870fb4a4cf6be9261871195c06f (patch) | |
| tree | f4b5ab40e4a92d7992a9c2ed35132fd53d49a912 /htdocs/new-post.php | |
| parent | 0720091ca73b9714aab2b38c3682c15a0cbd4533 (diff) | |
Added sources to post process
Diffstat (limited to 'htdocs/new-post.php')
| -rw-r--r-- | htdocs/new-post.php | 70 | 
1 files changed, 65 insertions, 5 deletions
| diff --git a/htdocs/new-post.php b/htdocs/new-post.php index 7112a8c..d463d1a 100644 --- a/htdocs/new-post.php +++ b/htdocs/new-post.php @@ -57,8 +57,13 @@ switch ($stage) {              handle_images();          break; -    case 'finish': +    case 'source':          if (finish_images()) +            handle_source(); +        break; + +    case 'finish': +        if (finish_source())              handle_finish();          break; @@ -100,12 +105,11 @@ function finish_category() {  function handle_tos() {      // Display ToS -    // TODO: Display ToS Here -      form_start('post');      echo "<p><label><input type=\"checkbox\" name=\"tos\" value=\"1\" />" -            ." I agree to the terms of service.</label></p>"; +            ." I agree to the <a href=\"". buildUrl('page/tou.html') +            ."\">terms of service</a>.</label></p>";      form_end();  } @@ -176,7 +180,7 @@ function handle_images() {      // Display image form      echo "<p>You may upload up to four images with your post.</p>"; -    form_start('finish'); +    form_start('source');      for ($i = 1; $i <= MAX_IMAGE_UPLOADS; $i++) {          echo "<p><label>Image $i: " @@ -200,6 +204,62 @@ function finish_images() {      return true;  } +function handle_source($error='') { +    form_start('finish'); + +    if ($error != '') { +        echo "<div class=\"errorbox\">$error</div>"; +    } + +    echo "<p>Where did you hear about this site?</p>"; + +    echo "<select name=\"source\">"; + +    foreach(Source::getSources() as $source) { +        echo "<option value=\"". $source->getId() ."\">" +            . $source->getName() ."</option>"; +    } + +    echo "<option value=\"0\">Other</option>"; +    echo "</select>"; + +    echo "<p>If you selecte other, please explain:"; +    echo " <input type=\"text\" name=\"explain\" /></p>"; + +    form_end(); +} + +function finish_source() { +    $error = '<p>This question is required.</p>'; + +    $post = $_SESSION['newpost']; +    if (isset($_POST['source']) and is_numeric($_POST['source'])) { +        if ($_POST['source'] == 0) { +            if (isset($_POST['explain']) and trim($_POST['explain']) != '') { +                $post->otherSource($_POST['explain']); +                $post->save(); +                return true; + +            } else { +                $error = '<p>Explaination is a required field.</p>'; +            } + +        } else { +            $source = Source::getById($_POST['source']); + +            if ($source) { +                $post->setSource($_POST['source']); +                $post->save(); +                return true; +            } +        } + +    } + +    handle_source($error); +    return false; +} +  function handle_finish() {      $post = $_SESSION['newpost']; | 
