public function getEntriesByFormId($formId = null)
 {
     if ($formId == null) {
         return false;
     }
     $entryRecords = ContactForm_MessageRecord::model()->ordered()->findAllByAttributes(['formId' => $formId]);
     $entries = ContactForm_MessageModel::populateModels($entryRecords);
     return $entries;
 }
 public function actionAdd()
 {
     $this->requirePostRequest();
     $settings = craft()->plugins->getPlugin('contactform')->getSettings();
     $message = new ContactForm_MessageModel();
     $savedBody = false;
     $message->email = craft()->request->getPost('email');
     $message->name = craft()->request->getPost('name');
     $message->formId = craft()->request->getPost('formId');
     if ($settings->allowAttachments) {
         if (isset($_FILES['attachment']) && isset($_FILES['attachment']['name'])) {
             if (is_array($_FILES['attachment']['name'])) {
                 $message->attachment = \CUploadedFile::getInstancesByName('attachment');
             } else {
                 $message->attachment = array(\CUploadedFile::getInstanceByName('attachment'));
             }
         }
     }
     // Set the message body
     $postedMessage = craft()->request->getPost('message');
     if ($postedMessage) {
         $bodyHeaders = '';
         if ($settings->addNameEmailBody) {
             $bodyHeaders .= "Name: " . $message->name;
             $bodyHeaders .= "\n\nEmail: " . $message->email . "\n\n";
         }
         if (is_array($postedMessage)) {
             $savedBody = false;
             if (isset($postedMessage['body'])) {
                 // Save the message body in case we need to reassign it in the event there's a validation error
                 $savedBody = $postedMessage['body'];
             }
             // If it's false, then there was no messages[body] input submitted.  If it's '', then validation needs to fail.
             if ($savedBody === false || $savedBody !== '') {
                 // Compile the message from each of the individual values
                 $compiledMessage = '';
                 foreach ($postedMessage as $key => $value) {
                     if ($key != 'body') {
                         if ($compiledMessage) {
                             $compiledMessage .= "\n\n";
                         }
                         $compiledMessage .= $key . ': ';
                         if (is_array($value)) {
                             $compiledMessage .= implode(', ', $value);
                         } else {
                             $compiledMessage .= $value;
                         }
                     }
                 }
                 if (!empty($postedMessage['body'])) {
                     if ($compiledMessage) {
                         $compiledMessage .= "\n\n";
                     }
                     $compiledMessage .= $postedMessage['body'];
                 }
                 $message->message = $bodyHeaders . $compiledMessage;
             }
         } else {
             $message->message = $bodyHeaders . $postedMessage;
         }
     }
     if ($message->validate()) {
         // Only actually save to the db if the honeypot test was valid
         if ($this->validateHoneypot($settings->honeypotField)) {
             craft()->contactForm_message->saveMessage($message);
         }
         // Only actually send email if the honeypot test was valid, but show success regardless
         if (!$this->validateHoneypot($settings->honeypotField) || craft()->contactForm_message->sendMessage($message)) {
             if (craft()->request->isAjaxRequest()) {
                 $this->returnJson(array('success' => true, 'message' => $settings->successMessage));
             } else {
                 $successRedirectUrl = craft()->request->getPost('successRedirectUrl');
                 if ($successRedirectUrl) {
                     $_POST['redirect'] = $successRedirectUrl;
                 }
                 craft()->userSession->setNotice($settings->successMessage);
                 $this->redirectToPostedUrl($message);
             }
         }
     }
     // Something has gone horribly wrong.
     if (craft()->request->isAjaxRequest()) {
         return $this->returnErrorJson($message->getErrors());
     } else {
         craft()->userSession->setError('There was a problem with your submission, please check the form and try again!');
         if ($savedBody !== false) {
             $message->message = $savedBody;
         }
         craft()->urlManager->setRouteVariables(array('message' => $message, 'errors' => $message->getErrors()));
     }
 }