public function getPreviousMessage() { global $wpdb; $getAutoresponderMessageQuery = sprintf("SELECT id FROM %swpr_autoresponder_messages WHERE aid=%d AND sequence < %d ORDER BY sequence DESC LIMIT 1; ", $wpdb->prefix, $this->getAutoresponder()->getId(), $this->getDayNumber()); $emailResult = $wpdb->get_results($getAutoresponderMessageQuery); if (0 == count($emailResult)) { return false; } $id = $emailResult[0]->id; return AutoresponderMessage::getMessage((int) $id); }
public static function day_zero_for_subscriber($sid) { global $wpdb; $getSubscriptionQuery = sprintf("SELECT * FROM {$wpdb->prefix}wpr_followup_subscriptions WHERE sid=%d AND type='autoresponder' AND sequence=-1;", $sid); $subscriptions = $wpdb->get_results($getSubscriptionQuery); foreach ($subscriptions as $subscription) { $fetchDayZeroEmailOfAutoresponder = sprintf("SELECT * FROM {$wpdb->prefix}wpr_autoresponder_messages WHERE aid=%d AND sequence=0", $subscription->eid); $messageToBeSentOnDayZero = $wpdb->get_results($fetchDayZeroEmailOfAutoresponder); if (0 == count($messageToBeSentOnDayZero)) { return; } $messageId = (int) $messageToBeSentOnDayZero[0]->id; $message = AutoresponderMessage::getMessage($messageId); $currentTime = new DateTime(); self::getProcessor()->deliver($subscription, $message, $currentTime); } }
public static function edit_message() { $message_id = intval($_GET['id']); try { $message = AutoresponderMessage::getMessage($message_id); } catch (NonExistentMessageException $ex) { wp_redirect("admin.php?page=_wpr/utoresponders"); //TODO:This shouldn't happen. This should instead be a error screen } catch (NonExistentAutoresponderException $Ex) { wp_redirect("admin.php?page=_wpr/utoresponders"); //TODO:This shouldn't happen. This should instead be a error screen } $autoresponder = $message->getAutoresponder(); $custom_fields = $autoresponder->getNewsletter()->getCustomFieldKeyLabelPair(); self::enqueue_wysiwyg(); //TODO: THIS METHOD DEF SHOULDN'T BE WHERE IT IS RIGHT NOW $form_data = array('subject' => $message->getSubject(), 'htmlbody' => $message->getHTMLBody(), 'textbody' => $message->getTextBody(), 'offset' => $message->getDayNumber()); if (!is_array(_wpr_get("form_values"))) { _wpr_set("form_values", $form_data); } _wpr_set("custom_fields", $custom_fields); _wpr_set("autoresponder", $autoresponder); _wpr_set("message", $message); _wpr_setview("autoresponder_edit_message"); }
public function getMessages($start = 0, $length = -1) { global $wpdb; $start = 0 == intval($start) ? 0 : intval($start); $limitClause = Autoresponder::getLimitClauseForRecordSetFetch($start, $length); $getMessagesQuery = sprintf('SELECT * FROM %swpr_autoresponder_messages WHERE aid=%d ORDER BY `sequence` %s', $wpdb->prefix, $this->id, $limitClause); $messages = $wpdb->get_results($getMessagesQuery); $messageObjects = array(); foreach ($messages as $message) { $messageObjects[] = AutoresponderMessage::getMessage(intval($message->id)); } return $messageObjects; }
/** * @expectedException NonExistentMessageException */ public function testDeletingAutoresponderMessageDeletesTheMessage() { global $wpdb; $addAutoresponderQuery = sprintf("INSERT INTO %swpr_autoresponders (nid, name) VALUES (%d,'%s' )", $wpdb->prefix, $this->newsletterId, md5(microtime())); $results = $wpdb->query($addAutoresponderQuery); $autoresponder = Autoresponder::getAutoresponder($wpdb->insert_id); $autoresponder_message = array('textbody' => 'This is a test', 'htmlbody' => 'This is a <test>body</test>', 'subject' => 'Test Subject', 'offset' => 3); try { $message = $autoresponder->addMessage($autoresponder_message); } catch (Exception $exc) { throw new BadFunctionCallException(); } $autoresponder_message = array('subject' => md5(microtime() . "subject"), 'textbody' => md5(microtime() . "textbody"), 'htmlbody' => md5(microtime() . "htmlbody"), 'offset' => 'a'); $message_id = $message->getId(); $autoresponder->deleteMessage($message); AutoresponderMessage::getMessage($message_id); }
public function testWhetherAutoresponderFactoryFetchesTheAppropriateAutoresponderMessage() { global $wpdb; $autoresponder = AutoresponderTestHelper::addAutoresponderAndFetchRow($this->newsletter_id, "test"); $addAutoresponderMessageQuery = sprintf("INSERT INTO {$wpdb->prefix}wpr_autoresponder_messages (aid, subject, sequence) VALUES (%d, '%s', %d)", $autoresponder->id, 'Test Subject', 1); $wpdb->query($addAutoresponderMessageQuery); $autoresponder_message_id = $wpdb->insert_id; $message = AutoresponderMessage::getMessage($autoresponder_message_id); $this->assertEquals('Test Subject', $message->getSubject()); $this->assertEquals($autoresponder_message_id, $message->getId()); $this->assertEquals(1, $message->getDayNumber()); }