All pastes #403781 Raw Edit

Untitled

public php v1 · immutable
·published 2007-03-20 16:58 UTC
rendered paste body
define('TH_COMMENT_TYPE_GENERAL', 3);$parent= isset ($parent) ? $parent : $modx->documentObject['parent'];$landing= isset ($landing) ? $landing : $modx->documentIdentifier;$output= '';if (include_once(MODX_BASE_PATH . 'assets/snippets/techhangar/techhangar.class.php')) {    $xpdo= new TechHangar();    if (!isset ($_REQUEST['feedback_id']) || !$feedback_id= intval($_REQUEST['feedback_id'])) {        die('feedback_id not set!');    }    $feedback= $xpdo->getObject('thFeedback', $feedback_id);    $required= array (    );        $documentVersion= $feedback->document_version;    $objDocumentVersion= $xpdo->getObject('thDocumentVersion', $documentVersion);    $objDocumentType= $objDocumentVersion->getOne('thDocumentType');    $modx->setPlaceholder('documentVersion', $objDocumentType->name . ' ' . $objDocumentVersion->version);        $review= $feedback->getOne('thReview');    if (!$review) {        $review= $xpdo->newObject('thReview');        $review->set('feedback_id', $feedback_id);    }        if (count($_POST)) {        $review->fromArray($_POST);        if (isset ($_POST['submit_review'])) {            //do validation here            $invalid= array ();                $modx->setPlaceholder('review-object', $review);            $modx->setPlaceholder('review-required', $required);            $modx->setPlaceholder('review-invalid', $invalid);            $modx->runSnippet('adminreviewform-validation-' . $modx->getPlaceholder('documentVersion'));            $modx->runSnippet('adminreviewform-validation');                        $required= $modx->getPlaceholder('review-required');            $invalid= $modx->getPlaceholder('review-invalid');                if (empty ($invalid)) {                //save review                if ($review->save()) {                    $modx->sendRedirect($modx->makeUrl($landing, '', 'feedback_id=' . $feedback_id));                } else {                    $output.= '<p class="error">There was an error saving this review record.</p>';                }            } else {                $output.= '<h4 class="invalid">Your submission was rejected for the following reasons:</h4>';                $output.= '<ul class="invalid">';                foreach ($invalid as $invalidItem) $output.= '<li>' . $invalidItem . '</li>';                $output.= '</ul>';            }        }     }        foreach ($feedback->toArray() as $key => $val) {        $modx->setPlaceholder('feedback.' . $key, stripslashes($val));    }        $thUserProfile= $xpdo->getObject('thUserProfile', array ('webuser' => $feedback->webuser));    $modxUserProfile= $modx->getWebUserInfo($feedback->webuser);    foreach ($thUserProfile as $upKey => $upVal) {        $modx->setPlaceholder('user.' . $upKey, $upVal);        unset($upKey, $upVal);    }    foreach ($modxUserProfile as $upKey => $upVal) {        $modx->setPlaceholder('user.' . $upKey, $upVal);        unset($upKey, $upVal);    }        $xpdo->loadClass('form.MakeForm', XPDO_CORE_PATH, true, true);    $form= new MakeForm($xpdo);        //comment type options    $optCommentTypes= array ('--- Select One ---');    $commentTypes= $xpdo->getCollectionGraph('thDocumentVersionCommentType', '{"thCommentType":{"id":{}}}', array ('document_version' => $documentVersion));    foreach ($commentTypes as $dvcommentType) {        $commentType= $dvcommentType->getOne('thCommentType');        $optCommentTypes[$commentType->id]= $commentType->name;    }        //topic options    $optTopics= array ('--- Select One ---');    $topics= $xpdo->getCollectionGraph('thDocumentVersionTopic', '{"thTopic":{"id":{}}}', array ('document_version' => $documentVersion));    foreach ($topics as $dvtopic) {        $topic= $dvtopic->getOne('thTopic');        $optTopics[$topic->id]= $topic->name;    }        //subtopic options    $optSubTopics= array ('--- Select One ---');    $subTopics= $xpdo->getCollectionGraph('thDocumentVersionSubTopic', '{"thSubTopic":{"id":{}}}', array ('document_version' => $documentVersion));    foreach ($subTopics as $dvsubTopic) {        $subTopic= $dvsubTopic->getOne('thSubTopic');        $optSubTopics[$subTopic->id]= $subTopic->name;    }        //disposition options    $optDispositions= array ('--- Select One ---');    $dispositions= $xpdo->getCollection('thDisposition');    foreach ($dispositions as $disposition) {        $optDispositions[$disposition->id]= $disposition->name;    }        //assigned_to options    $optAssignedTo= array ('--- Select One ---');    $assigned_tos= $xpdo->getCollection('thIPTAssociation');    foreach ($assigned_tos as $assigned_to) {        $optAssignedTo[$assigned_to->id]= $assigned_to->name;    }        //status options    $optStatus= array (0 => '--- Select One ---', 1 => 'Open', 2 => 'Closed');        $modx->setPlaceholder('feedback.comment_type.name', $optCommentTypes[$feedback->comment_type]);    $modx->setPlaceholder('feedback.topic.name', $optTopics[$feedback->topic]);    $modx->setPlaceholder('feedback.subtopic.name', $optSubTopics[$feedback->subtopic]);        $requiredSpan= '&nbsp;<span class="required">*</span>';        $formElements= array (        'feedback_id' => array (            'type' => 'hidden',            'name' => 'feedback_id',            'value' => $feedback_id,        ),        'comment_type_corrected' => array (            'type' => 'select',            'name' => 'comment_type_corrected',            'label' => 'Comment:' . (isset ($required['comment_type_corrected']) ? $requiredSpan : ''),            'options' => $form->createOptions($optCommentTypes, $review->comment_type_corrected),        ),        'disposition' => array (            'type' => 'select',            'name' => 'disposition',            'label' => 'Disposition:' . (isset ($required['disposition']) ? $requiredSpan : ''),            'options' => $form->createOptions($optDispositions, $review->disposition),        ),        'topic_corrected' => array (            'type' => 'select',            'name' => 'topic_corrected',            'label' => 'Topic:' . (isset ($required['topic_corrected']) ? $requiredSpan : ''),            'options' => $form->createOptions($optTopics, $review->topic_corrected),        ),        'status' => array (            'type' => 'select',            'name' => 'status',            'label' => 'Status:' . (isset ($required['status']) ? $requiredSpan : ''),            'options' => $form->createOptions($optStatus, $review->status),        ),        'subtopic_corrected' => array (            'type' => 'select',            'name' => 'subtopic_corrected',            'label' => 'Sub-Topic:' . (isset ($required['subtopic_corrected']) ? $requiredSpan : ''),            'options' => $form->createOptions($optSubTopics, $review->subtopic_corrected),        ),        'assigned_to' => array (            'type' => 'select',            'name' => 'assigned_to',            'label' => 'Assigned to:' . (isset ($required['assigned_to']) ? $requiredSpan : ''),            'options' => $form->createOptions($optAssignedTo, $review->assigned_to),        ),        'notes' => array (            'type' => 'textarea',            'name' => 'notes',            'label' => 'Notes:' . (isset ($required['notes']) ? $requiredSpan : ''),            'value' => $review->get('notes'),//            'style' => 'width:420px;height:120px;',            'wrap' => 'virtual',        ),        'submit_review' => array (            'type' => 'submit',            'name' => 'submit_review',            'value' => 'Submit Review',            'extra' => '&nbsp;or <a href="javascript:;" onclick="window.close();">Cancel and close</a>',        ),    );    $form->setFormElements($formElements);    $output.= $form->buildForm();}return $output;