Merge pull request #24063 from eileenmcnaughton/msg_breakdown
[civicrm-core.git] / sql / GenerateMailing.php
CommitLineData
6a488035
TO
1<?php
2/*
3 +--------------------------------------------------------------------+
6b7eb9df 4 | Copyright CiviCRM LLC. All rights reserved. |
6a488035 5 | |
6b7eb9df
TO
6 | This work is published under the GNU AGPLv3 license with some |
7 | permitted exceptions and without any warranty. For full license |
8 | and copyright information, see https://civicrm.org/licensing |
6a488035 9 +--------------------------------------------------------------------+
d631cdc8 10 */
6a488035
TO
11
12/**
13 *
14 * @package CRM
ca5cec67 15 * @copyright CiviCRM LLC https://civicrm.org/licensing
6a488035 16 */
5c5ed6db 17if (!(php_sapi_name() == 'cli' || (is_numeric($_SERVER['argc']) && $_SERVER['argc'] > 0))) {
a9f3bf65
SL
18 header("HTTP/1.0 404 Not Found");
19
20 return;
21}
6a488035
TO
22
23require_once '../civicrm.config.php';
24
25require_once 'CRM/Core/Config.php';
26require_once 'CRM/Core/Error.php';
27require_once 'CRM/Core/I18n.php';
28
29require_once 'CRM/Mailing/BAO/Mailing.php';
30require_once 'CRM/Mailing/BAO/Job.php';
31require_once 'CRM/Mailing/DAO/Group.php';
32
33$config = CRM_Core_Config::singleton();
34
35$tables = array(
36 'civicrm_mailing_event_delivered',
37 'civicrm_mailing_event_queue',
38 'civicrm_mailing_job',
39 'civicrm_mailing_group',
40 'civicrm_mailing',
41);
42foreach ($tables as $t) {
43 $query = "DELETE FROM $t";
33621c4f 44 CRM_Core_DAO::executeQuery($query);
6a488035
TO
45}
46
47$prefix = 'Automated Mailing Gen: ';
48$numGroups = 153;
49
50$status = array('Scheduled', 'Running', 'Complete', 'Paused', 'Canceled', 'Testing');
51
52for ($i = 1; $i <= $numGroups; $i++) {
53 $mailing = new CRM_Mailing_BAO_Mailing();
54
55 $alphabet = mt_rand(97, 122);
56
57 $cnt = sprintf('%05d', $i);
58 $mailing->name = chr($alphabet) . ": $prefix $cnt";
59 $mailing->header_id = $mailing->footer_id = $mailing->reply_id = $mailing->unsubscribe_id = $mailing->optout_id = 1;
60 $mailing->is_completed = 1;
61 $mailing->save();
62
9da8dc8c 63 $job = new CRM_Mailing_BAO_MailingJob();
6a488035
TO
64 $job->mailing_id = $mailing->id;
65 $job->scheduled_date = generateRandomDate();
66 $job->start_date = generateRandomDate();
67 $job->end_date = generateRandomDate();
68 $job->status = 'Complete';
69 $job->save();
70
04124b30 71 $group = new CRM_Mailing_DAO_MailingGroup();
6a488035
TO
72 $group->mailing_id = $mailing->id;
73 $group->group_type = 'Include';
74 $group->entity_table = 'civicrm_group';
75 $group->entity_id = 1;
76 $group->save();
77}
78
627456b5
EM
79/**
80 * @return string
81 */
6a488035
TO
82function generateRandomDate() {
83 $year = 2006 + mt_rand(0, 2);
84 $month = 1 + mt_rand(0, 11);
85 $day = 1 + mt_rand(0, 27);
86
87 $date = sprintf("%4d%02d%02d", $year, $month, $day) . '000000';
88 return $date;
d631cdc8 89
6a488035 90}