View Issue Details

IDProjectCategoryView StatusLast Update
0000887Main CAcert Websitemiscpublic2015-03-01 10:56
ReporterUli60 Assigned Tofelixd  
PrioritynormalSeverityfeatureReproducibilityhave not tried
Status needs workResolutionopen 
Summary0000887: Add GUI for scripted mailing for ATE and Event invitations
DescriptionAdd to the default mailing script a GUI webform:

Event Description (Mail Subject) (eventname$)
Date of Event (city$)
Location (like find an Assurer -> Location selection) (locid$)
Circle around a location: 10, 50, 100, 200 km (maxdist$)
Field for mailing text (temptextcontent$)

following Dispute filing case Arbitrations/a20090525.1
https://wiki.cacert.org/Arbitrations/a20090525.1
Additional Informationsample script
cacert.git /scripts/22de-ate-aachen-mail.php.txt
sample text
cacert.git /scripts/22de-ate-aachen-email.txt

text needs verification about special chars
that cannot be used within a mailing eg ~, =, and probably more
TagsNo tags attached.
Reviewed by
Test Instructions

Relationships

related to 0000715 closed Ability to mass-mail Assurers 
child of 0000878 needs work replace locations-database-set with new dataset or alternate solution a20090427.2 

Activities

2010-11-08 01:15

 

22de-ate-aachen-mail.php.txt (5,965 bytes)   
#!/usr/bin/php -q
<? /*
    LibreSSL - CAcert web application
    Copyright (C) 2004-2009  CAcert Inc.

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; version 2 of the License.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
*/
	include_once("../includes/mysql.php");

	$lines = "";
	$fp = fopen("22de-ate-aachen-email.txt", "r");
	while(!feof($fp))
	{
		$line = trim(fgets($fp, 4096));
		$lines .= wordwrap($line, 75, "\n")."\n";
	}
	fclose($fp);


//	$locid = intval($_REQUEST['location']);
//	$maxdist = intval($_REQUEST['maxdist']);
//  maxdist in [Km]
  $maxdist = 200;


// location      location.ID
//   verified: 29.4.09 u.schroeter
//   $locid = 7902857;       // Paris
//   $locid = 238568;        // Bielefeld  
//   $locid = 715191;        // Hamburg    
//   $locid = 1102495;       // London     
//   $locid = 520340;        // Duesseldorf
//   $locid = 1260319;       // Muenchen   
//   $locid = 606058;        // Frankfurt  
//   $locid = 1775784;       // Stuttgart  
//   $locid = 228950;        // Berlin  
//   $locid = 606058;        // Frankfurt
//   $locid = 599389;        // Flensburg
//   $locid = 61065;        // Amsterdam, Eemnes
//   $locid = 228950;        // Berlin  

//  Software Freedom Day 19. Sept 2009
//   $locid = 715191;        // Hamburg

//  LISA2009 Baltimore, 1.11.2009
//     $locid = 2138880;      // Baltimore (Baltimore (city)), Maryland, United States   
//     $city = "Baltimore, MD - Nov. 3rd 2009";

//  OpenSourceTreffen-Muenchen, 20.11.2009
//       $locid = 1260319;       // Muenchen   
//       $city = "Muenchen - 20. Nov 2009";

//  BLIT2009, Brandenburger Linux-Infotag, 21.11.2009
//       $locid = 1486658;       // Potsdam
//       $eventname = "Brandenburger Linux-Infotag (BLIT2009)";
//       $city = "Potsdam - 21. Nov 2009";

//  ATE-Goteborg, 16.12.2009
//       $locid = 664715;       // Goteborg, Vastra Gotaland, Sweden
//       $eventname = "ATE-Goteborg";
//       $city = "Goteborg - Dec 16th 2009";

//  Assurance Event Mission Hills CA, 15.01.2010
//       $locid = 2094781;       // Mission Hills (Los Angeles), California, United States 
//       $eventname = "Assurance Event";
//       $city = "Mission Hills CA - Jan 15th 2010";

//  Assurance Event OSD Copenhagen DK, 5.03.2010
//       $locid = 423655;       // Copenhagen, Kobenhavn*, Denmark 
//       $eventname = "Assurance Event OpenSource-Days 2010";
//       $city = "Copenhagen DK - March 5th/6th 2010";

// SCALE 8x Los Angeles, CA, Feb 19-21 2010 
//       $locid = 2093625;       // Copenhagen, Kobenhavn*, Denmark 
//       $eventname = "SCALE 8x 2010";
//       $city = "Los Angeles, CA - February 19-21 2010";

// ATE Sydney, AU, Mar 24 2010 
//       $locid = 2257312;       // Sydney, New South Wales, Australia
//       $eventname = "ATE-Sydney";
//       $city = "March 24, 2010";

// ATE Essen, DE, Sept 28 2010 
//       $locid = 572764;       //  Essen, Nordrhein-Westfalen, Germany 
//       $eventname = "ATE-Essen";
//       $city = "September 28, 2010";

// ATE Aachen, DE, Oct 4th 2010 
       $locid = 78;       //  Aachen, Nordrhein-Westfalen, Germany 
       $eventname = "ATE-Aachen";
       $city = "October 4th, 2010";


	$query = "select * from `locations` where `id`='$locid'";
        $loc = mysql_fetch_assoc(mysql_query($query));

	$query = "SELECT ROUND(6378.137 * ACOS(0.9999999*((SIN(PI() * $loc[lat] / 180) * SIN(PI() * `locations`.`lat` / 180)) + 
			(COS(PI() * $loc[lat] / 180 ) * COS(PI() * `locations`.`lat` / 180) * 
			 COS(PI() * `locations`.`long` / 180 - PI() * $loc[long] / 180)))), -1) AS `distance`, sum(`points`) as pts, `users`.* 
			FROM `locations`
				inner join `users`  on `users`.`locid` = `locations`.`id` 
				inner join `alerts` on `users`.`id`=`alerts`.`memid`
				inner join `notary` on `users`.`id`=`notary`.`to`
			WHERE 	(`alerts`.`general`=1 OR `alerts`.`country`=1 OR `alerts`.`regional`=1 OR `alerts`.`radius`=1)
			GROUP BY `users`.`id`
			HAVING `distance` <= '$maxdist' 
			ORDER BY `distance` ";
	 echo $query;

    // comment next line when starting to send mail not only to me 
    //	$query = "select * from `users` where `email` like 'cacerttest%'";

	$res = mysql_query($query);
	$xrows = mysql_num_rows($res);

	while($row = mysql_fetch_assoc($res))
	{
    //    uncomment next line to send mails ...
		sendmail($row['email'], "[CAcert.org] $eventname - $city", $lines, "events@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);
	}
  // 1x cc to events.cacert.org
	sendmail("events@cacert.org", "[CAcert.org] $eventname - $city", $lines, "events@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);
	// 1x mailing report to events.cacert.org
  sendmail("events@cacert.org", "[CAcert.org] $eventname - $city Report", "invitation sent to $xrows recipients.", "support@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);	

	// 1x mailing report to Arbitrator of case http://wiki.cacert.org/wiki/Arbitrations/a20090525.1
  sendmail("p.dunkel@cacert.org", "[CAcert.org] $eventname - $city Report", "invitation sent to $xrows recipients.", "support@cacert.org", "", "", "CAcert Events Organisation", "returns@cacert.org", 1);	

	echo "invitation sent to $xrows recipients.\n";
?>
22de-ate-aachen-mail.php.txt (5,965 bytes)   

Issue History

Date Modified Username Field Change
2010-11-08 01:15 Uli60 New Issue
2010-11-08 01:15 Uli60 File Added: 22de-ate-aachen-mail.php.txt
2011-01-29 13:47 Uli60 Relationship added related to 0000715
2011-09-17 19:44 Uli60 Relationship added related to 0000878
2011-09-17 19:52 Uli60 Relationship replaced child of 0000878
2013-01-11 15:04 Werner Dworak Status new => needs work
2015-03-01 10:56 BenBE Assigned To => felixd