예제 #1
0
 /**
  * save log
  * @param
  * @return boolean
  */
 function log($arr)
 {
     //indexes:
     //author_id = given author id, if not given, check data array for author id, if not given, check login, if not given, set to 0=system
     //action = text = new/edit/delete
     //object = contact/ticket/contact_group/object/contact_type etc
     //data = array with data, e.g. from $contact array addContact Method etc.
     $Return = false;
     //check values
     //set log date
     $this->LOG['date'] = date("Y-m-d H:i:s");
     //chekc for author id
     $this->LOG['author_id'] = 0;
     //default is 0=system
     if (isset($arr['author_id']) && check_dbid($arr['author_id'])) {
         //if valid author_id in arr
         $this->LOG['author_id'] = $arr['author_id'];
     } else {
         //else check for author_id in data array
         if (isset($arr['data']['author_id']) && check_dbid($arr['data']['author_id'])) {
             $this->LOG['author_id'] = $arr['data']['author_id'];
         } else {
             // else, if not set at all get author id from logged in user
             global $LOGIN;
             if (isset($LOGIN->USER['id']) && check_dbid($LOGIN->USER['id'])) {
                 $this->LOG['author_id'] = $LOGIN->USER['id'];
             }
         }
     }
     //action
     //action should always be set, default is --
     $this->LOG['action'] = "--";
     if (isset($arr['action']) && !empty($arr['action'])) {
         //wenn aktion definiert
         $this->LOG['action'] = $arr['action'];
     }
     //object
     //object should always be set, default is --
     $this->LOG['object'] = "--";
     if (isset($arr['object']) && !empty($arr['object'])) {
         //wenn aktion definiert
         $this->LOG['object'] = $arr['object'];
     }
     //edit_id, die id des geaenderten datensatzes! oder neuen datensatzes, defakto muss log() erst am ende einer add methode aufgerufen werden wenn die id bekannt ist!
     //edit_id should always be set, default is 0
     $this->LOG['edit_id'] = 0;
     if (isset($arr['data']['id']) && !empty($arr['data']['id'])) {
         //wenn id
         $this->LOG['edit_id'] = $arr['data']['id'];
     }
     $this->LOG['memo'] = "";
     if (isset($arr['memo'])) {
         $this->LOG['memo'] = $arr['memo'];
     }
     $this->LOG['s_data'] = serialize($arr['data']);
     //hmmm, falls loeschung, daten aus altem datensatz anhand id ermitteln.... hmmmm
     if ($this->LOG['action'] == "delete" && check_dbid($this->LOG['edit_id'])) {
         switch ($this->LOG['object']) {
             //default:
             #no default, default : require_once (TM_INCLUDEPATH."/Welcome.inc.php"); break;
             case 'usr':
                 $LINK = new tm_CFG();
                 $DATA = $LINK->getUser("", $this->LOG['edit_id']);
                 $this->LOG['s_data'] = serialize($DATA);
                 break;
             case 'adr':
                 $LINK = new tm_ADR();
                 $DATA = $LINK->getAdr($this->LOG['edit_id']);
                 $this->LOG['s_data'] = serialize($DATA[0]);
                 break;
             case 'adr_grp':
                 $LINK = new tm_ADR();
                 $DATA = $LINK->getGroup($this->LOG['edit_id']);
                 $this->LOG['s_data'] = serialize($DATA[0]);
                 break;
             case 'nl':
                 $LINK = new tm_NL();
                 $DATA = $LINK->getNL($this->LOG['edit_id']);
                 $this->LOG['s_data'] = serialize($DATA[0]);
                 break;
             case 'nl_grp':
                 $LINK = new tm_NL();
                 $DATA = $LINK->getGroup($this->LOG['edit_id']);
                 $this->LOG['s_data'] = serialize($DATA[0]);
                 break;
             case 'bl':
                 $LINK = new tm_BLACKLIST();
                 $DATA = $LINK->getBL($this->LOG['edit_id']);
                 $this->LOG['s_data'] = serialize($DATA[0]);
                 break;
             case 'frm':
                 $LINK = new tm_FRM();
                 $DATA = $LINK->getForm($this->LOG['edit_id']);
                 $this->LOG['s_data'] = serialize($DATA[0]);
                 break;
             case 'host':
                 $LINK = new tm_HOST();
                 $DATA = $LINK->getHost($this->LOG['edit_id']);
                 $this->LOG['s_data'] = serialize($DATA[0]);
                 break;
             case 'q':
                 $LINK = new tm_Q();
                 $DATA = $LINK->getQ($this->LOG['edit_id']);
                 $this->LOG['s_data'] = serialize($DATA[0]);
                 break;
             case 'lnk':
                 $LINK = new tm_LNK();
                 $DATA = $LINK->get($this->LOG['edit_id']);
                 $this->LOG['s_data'] = serialize($DATA[0]);
                 break;
             case 'lnk_grp':
                 $LINK = new tm_LNK();
                 $DATA = $LINK->getGroup($this->LOG['edit_id']);
                 $this->LOG['s_data'] = serialize($DATA[0]);
                 break;
         }
         //switch
     }
     //if action=delete
     //serialisierte werte speichern, ein eintrag in die db pro aktion!
     $Query = "INSERT INTO " . TM_TABLE_LOG . " (\n\t\t\t\t\t\tdate,\n\t\t\t\t\t\tauthor_id,\n\t\t\t\t\t\taction,\n\t\t\t\t\t\tobject,\n\t\t\t\t\t\tproperty,\n\t\t\t\t\t\tx_value,\n\t\t\t\t\t\tedit_id,\n\t\t\t\t\t\tdata,\n\t\t\t\t\t\tmemo,\n\t\t\t\t\t\tsiteid\n\t\t\t\t\t\t)\n\t\t\t\t\t\tVALUES (\n\t\t\t\t\t\t'" . dbesc($this->LOG["date"]) . "',\n\t\t\t\t\t\t" . checkset_int($this->LOG["author_id"]) . ",\n\t\t\t\t\t\t'" . dbesc($this->LOG["action"]) . "',\n\t\t\t\t\t\t'" . dbesc($this->LOG["object"]) . "',\n\t\t\t\t\t\t'',\n\t\t\t\t\t\t'',\n\t\t\t\t\t\t" . checkset_int($this->LOG["edit_id"]) . ",\n\t\t\t\t\t\t'" . dbesc($this->LOG['s_data']) . "',\n\t\t\t\t\t\t'" . dbesc($this->LOG['memo']) . "',\n\t\t\t\t\t\t'" . TM_SITEID . "')";
     if ($this->DB->Query($Query)) {
         $Return = true;
     } else {
         $Return = FALSE;
         return $Return;
     }
     /*		
     //jeden wert einzeln speichern, ist aber unsinnn!!!!
     //iterate data array, fetch all indexes and values and save...... yes, it becomes a very very big table!!!!! anders gehts halt nicht!
     foreach ($arr['data'] as $data_key => $data_val) {
     	    	if (DEBUG) $_MAIN_MESSAGE.= "$data_key => $data_val\n, ";
     	$Query ="INSERT INTO ".TM_TABLE_LOG." (
     				date,
     				author_id,
     				action,
     				object,
     				property,
     				x_value,
     				edit_id,
     				siteid
     				)
     				VALUES (
     				'".dbesc($this->LOG["date"])."',
     				'".checkset_int($this->LOG["author_id"])."',
     				'".dbesc($this->LOG["action"])."',
     				'".dbesc($this->LOG["object"])."',
     				'".dbesc($data_key)."',
     				'".dbesc($data_val)."',
     				'".checkset_int($this->LOG["edit_id"])."',
     				'".TM_SITEID."')";
     	if (DEBUG_SQL) $_MAIN_MESSAGE.="\n".$Query."<br>";
     	if ($this->DB->Query($Query)) {
     		$Return=true;
     	} else {
     		$Return=FALSE;
     		return $Return;			
     	}
     }//foreach
     */
     return $Return;
 }
예제 #2
0
    $Form->add_InputOption($FormularName, $InputName_Group, $GRP[$accg]['id'], $grp_name . " (" . $GRP[$accg]['adr_count'] . ")");
}
//Public Group, subscriber can choose
$Form->new_Input($FormularName, $InputName_GroupPub, "select", "");
$Form->set_InputJS($FormularName, $InputName_GroupPub, " onChange=\"flash('submit','#ff0000');\" ");
//$Form->set_InputDefault($FormularName,$InputName_GroupPub,$adr_grp_pub);
$Form->set_InputStyleClass($FormularName, $InputName_GroupPub, "mFormSelect", "mFormSelectFocus");
$Form->set_InputDesc($FormularName, $InputName_GroupPub, ___("Gruppen wählen, STRG/CTRL gedrückt halten und klicken f. Mehrfachauswahl"));
$Form->set_InputReadonly($FormularName, $InputName_GroupPub, false);
$Form->set_InputOrder($FormularName, $InputName_GroupPub, 13);
$Form->set_InputLabel($FormularName, $InputName_GroupPub, "");
$Form->set_InputSize($FormularName, $InputName_GroupPub, 0, 5);
$Form->set_InputMultiple($FormularName, $InputName_GroupPub, true);
//add Data
$ADDRESS = new tm_ADR();
$GRPPUB = $ADDRESS->getGroup(0, 0, 0, 1, array("public" => 1));
$acgp = count($GRPPUB);
for ($accgp = 0; $accgp < $acgp; $accgp++) {
    $grp_name = $GRPPUB[$accgp]['name'];
    if ($GRPPUB[$accgp]['aktiv'] != 1) {
        $grp_name .= " (na)";
    }
    $Form->add_InputOption($FormularName, $InputName_GroupPub, $GRPPUB[$accgp]['id'], $grp_name . " [" . $GRPPUB[$accgp]['public_name'] . "] (" . $GRPPUB[$accgp]['adr_count'] . ")");
}
//SubmitValue
$Form->new_Input($FormularName, $InputName_SubmitValue, "text", display(${$InputName_SubmitValue}));
$Form->set_InputJS($FormularName, $InputName_SubmitValue, " onChange=\"flash('submit','#ff0000');\" ");
$Form->set_InputStyleClass($FormularName, $InputName_SubmitValue, "mFormText", "mFormTextFocus");
$Form->set_InputSize($FormularName, $InputName_SubmitValue, 32, 255);
$Form->set_InputDesc($FormularName, $InputName_SubmitValue, "");
$Form->set_InputReadonly($FormularName, $InputName_SubmitValue, false);
예제 #3
0
 function parseNL($data, $type)
 {
     //$data=Array( nl => $NL(Array) , adr => $ADR(Array))
     //e.g. pass NL[0] as $data['nl']
     //e.g. pass ADR[0] as $data['adr']
     //ouch, another global
     global $tm_URL_FE;
     //should become a constant
     global $tm_nldir, $tm_nlattachdir, $tm_nlimgdir, $tm_nlimgpath, $tm_nlpath;
     //should become a constant too
     $Log = array();
     $AGroups = array();
     //groups the adr belongs to
     $Return = "";
     $nl_id = 0;
     $a_id = 0;
     $q_id = 0;
     $h_id = 0;
     $frm_id = 0;
     $email = "";
     $code = "";
     $memo = "";
     $f0 = $f1 = $f2 = $f3 = $f4 = $f5 = $f6 = $f7 = $f8 = $f9 = "";
     #$personalized=false;
     if (isset($data['nl']) && isset($data['nl']['id']) && check_dbid($data['nl']['id'])) {
         $nl_id = $data['nl']['id'];
         //we can assume that all in ['nl']is set
     }
     //at first we need a nl_id, if not set, exit and return empty string!
     if (!check_dbid($nl_id)) {
         $Return = "!nl_id";
         return $Return;
     }
     //next we need to know the type, parse html or testpart? if not set, exit and return empty string!
     if ($type != "text" && $type != "html") {
         $Return = "!type";
         return $Return;
     }
     $data['text'] = $data['nl']['subject'];
     $NLSUBJECT = $this->parseSubject($data);
     //if isset $data['adr'] we assume that the newsletter is personalized and need personalized parsing with all parameters and variables, unles personalized tracking is disabled, then do not track h_id and adr_id
     if (isset($data['adr']) && isset($data['adr']['id']) && check_dbid($data['adr']['id'])) {
         $ADDRESS = new tm_ADR();
         #$personalized=true;
         $a_id = $data['adr']['id'];
         $email = $data['adr']['email'];
         $code = $data['adr']['code'];
         $memo = $data['adr']['memo'];
         $f0 = $data['adr']['f0'];
         $f1 = $data['adr']['f1'];
         $f2 = $data['adr']['f2'];
         $f3 = $data['adr']['f3'];
         $f4 = $data['adr']['f4'];
         $f5 = $data['adr']['f5'];
         $f6 = $data['adr']['f6'];
         $f7 = $data['adr']['f7'];
         $f8 = $data['adr']['f8'];
         $f9 = $data['adr']['f9'];
         $AGroups = $ADDRESS->getGroup(0, $a_id, $frm_id, 0, array("aktiv" => 1, "public" => 1));
         //fetch only public groups! dont show internal groups, "public_frm_ref"=>1, to show only pub groups with ref to form!
     }
     if (isset($data['q']) && isset($data['q']['id']) && check_dbid($data['q']['id'])) {
         $q_id = $data['q']['id'];
     }
     if (isset($data['h']) && isset($data['h']['id']) && check_dbid($data['h']['id'])) {
         $h_id = $data['h']['id'];
     }
     //parse date
     //if valid q id, then use send_at date! and convert to format for nl
     //if not valid q_id given, use now
     $QUEUE = new tm_Q();
     $Q = $QUEUE->getQ($q_id);
     if (isset($Q[0])) {
         $DATE = strftime(TM_NL_DATEFORMAT, mk_microtime($Q[0]['send_at']));
     } else {
         $DATE = date(TM_NL_DATEFORMAT);
     }
     //filenames
     //html datei//template for html parts
     $NL_Filename_N = "nl_" . date_convert_to_string($data['nl']['created']) . "_n.html";
     //text datei//template for textparts
     $NL_Filename_T = "nl_" . date_convert_to_string($data['nl']['created']) . "_t.txt";
     //image1
     $NL_Imagename1 = "nl_" . date_convert_to_string($data['nl']['created']) . "_1.jpg";
     //use view.php (1088)
     if ($data['nl']['massmail'] != 1) {
         $NLONLINE_URL = $tm_URL_FE . "/view.php?1=1&amp;nl_id=" . $nl_id . "&amp;q_id=" . $q_id . "&amp;a_id=" . $a_id . "&amp;h_id=" . $h_id;
     } else {
         $NLONLINE_URL = $tm_URL_FE . "/view.php?1=1&amp;nl_id=" . $nl_id . "&amp;q_id=" . $q_id;
     }
     $NLONLINE = "<a href=\"" . $NLONLINE_URL . "\" target=\"_blank\">";
     //template values
     $IMAGE1 = "";
     $IMAGE1_URL = "";
     $LINK1 = "";
     $LINK1_URL = "";
     $ATTACHEMENTS = "";
     $ATTACHEMENTS_TEXT = "";
     $GROUP = "";
     foreach ($AGroups as $AGroup) {
         $GROUP .= display($AGroup['name']) . "<br>";
     }
     //IMAGE1
     if (file_exists($tm_nlimgpath . "/" . $NL_Imagename1)) {
         #send_log("NL Image:".$tm_URL_FE."/".$tm_nlimgdir."/".$NL_Imagename1);
         $Log[] = "NL Image:" . $tm_URL_FE . "/" . $tm_nlimgdir . "/" . $NL_Imagename1;
         $IMAGE1_URL = $tm_URL_FE . "/" . $tm_nlimgdir . "/" . $NL_Imagename1;
         $IMAGE1 = "<img src=\"" . $IMAGE1_URL . "\" border=0 alt=\"Image1\">";
     }
     //Attachements!
     $attachements = $data['nl']['attachements'];
     $atc = count($attachements);
     if ($atc > 0) {
         foreach ($attachements as $attachfile) {
             $ATTACHEMENTS .= "<a href=\"" . $tm_URL_FE . "/" . $tm_nlattachdir . "/" . $attachfile['file'] . "\" target=\"_blank\" title=\"" . $attachfile['file'] . "\">";
             $ATTACHEMENTS .= $attachfile['file'];
             $ATTACHEMENTS .= "</a><br>\n";
             $ATTACHEMENTS_TEXT .= $attachfile['file'] . ": " . $tm_URL_FE . "/" . $tm_nlattachdir . "/" . $attachfile['file'];
             $ATTACHEMENTS_TEXT .= "\n";
         }
         //foreach
     }
     //if count/atc
     //Blindimage
     if ($data['nl']['track_personalized'] == 1) {
         $BLINDIMAGE_URL = $tm_URL_FE . "/news_blank.png.php?nl_id=" . $nl_id . "&amp;q_id=" . $q_id . "&amp;a_id=" . $a_id . "&amp;h_id=" . $h_id;
     } else {
         //tracking nicht personalisiert, wie massmail!
         //koennte auch ggf oben global gesetzt werden, hier doppelt!
         $BLINDIMAGE_URL = $tm_URL_FE . "/news_blank.png.php?nl_id=" . $nl_id . "&amp;q_id=" . $q_id;
     }
     $BLINDIMAGE = "<img src=\"" . $BLINDIMAGE_URL . "\" border=0 alt=\"\">";
     //no alt!
     #send_log("NL track personalized: ".$data['nl']['track_personalized']);
     $Log[] = "NL track personalized: " . $data['nl']['track_personalized'];
     #send_log("Blindimage: ".$BLINDIMAGE_URL);
     $Log[] = "Blindimage: " . $BLINDIMAGE_URL;
     //link to unsubscribe
     $UNSUBSCRIBE_URL = $tm_URL_FE . "/unsubscribe.php?nl_id=" . $nl_id . "&amp;q_id=" . $q_id . "&amp;a_id=" . $a_id . "&amp;h_id=" . $h_id . "&amp;code=" . $code;
     $UNSUBSCRIBE = "<a href=\"" . $UNSUBSCRIBE_URL . "\" target=\"_blank\">";
     //subscribe link for touch optin or subscribe
     $SUBSCRIBE_URL = $tm_URL_FE . "/subscribe.php?doptin=1&amp;email=" . $email . "&amp;code=" . $code;
     //."&amp;touch=1"
     //optional fid form id parameter! for optin mails etc
     //check if we have a valid form id, used in subscribe url e.g. for doptin mails!
     if (isset($data['frm']) && isset($data['frm']['id']) && check_dbid($data['frm']['id'])) {
         //add frm_id of form, needed to send subscribe mail and get greeting nl id!
         $SUBSCRIBE_URL .= "&amp;fid=" . $data['frm']['id'];
     }
     $SUBSCRIBE = "<a href=\"" . $SUBSCRIBE_URL . "\" target=\"_blank\">";
     #send_log("Unsubscribe: ".$UNSUBSCRIBE_URL);
     $Log[] = "Unsubscribe: " . $UNSUBSCRIBE_URL;
     #send_log("Subscribe (touch/double optin): ".$SUBSCRIBE_URL);
     $Log[] = "Subscribe (touch/double optin): " . $SUBSCRIBE_URL;
     if (!empty($data['nl']['link'])) {
         if ($data['nl']['track_personalized'] == 1) {
             $LINK1_URL = $tm_URL_FE . "/click.php?nl_id=" . $nl_id . "&amp;q_id=" . $q_id . "&amp;a_id=" . $a_id . "&amp;h_id=" . $h_id;
         } else {
             $LINK1_URL = $tm_URL_FE . "/click.php?nl_id=" . $nl_id . "&amp;q_id=" . $q_id;
         }
     }
     $LINK1 = "<a href=\"" . $LINK1_URL . "\" target=\"_blank\">";
     #send_log("Link1: ".$LINK1_URL);
     $Log[] = "Link1: " . $LINK1_URL;
     //set template vars
     #send_log("parse Template - Massmailing");
     $Log[] = "parse Template";
     $_Tpl_NL = new tm_Template();
     $_Tpl_NL->setTemplatePath($tm_nlpath);
     $_Tpl_NL->setParseValue("IMAGE1", $IMAGE1);
     $_Tpl_NL->setParseValue("LINK1", $LINK1);
     $_Tpl_NL->setParseValue("ATTACH1", "");
     $_Tpl_NL->setParseValue("CLOSELINK", "</a>");
     $_Tpl_NL->setParseValue("BLINDIMAGE", $BLINDIMAGE);
     $_Tpl_NL->setParseValue("UNSUBSCRIBE", $UNSUBSCRIBE);
     $_Tpl_NL->setParseValue("SUBSCRIBE", $SUBSCRIBE);
     $_Tpl_NL->setParseValue("NLONLINE", $NLONLINE);
     $_Tpl_NL->setParseValue("IMAGE1_URL", $IMAGE1_URL);
     $_Tpl_NL->setParseValue("LINK1_URL", $LINK1_URL);
     $_Tpl_NL->setParseValue("ATTACH1_URL", "");
     $_Tpl_NL->setParseValue("NLONLINE_URL", $NLONLINE_URL);
     $_Tpl_NL->setParseValue("BLINDIMAGE_URL", $BLINDIMAGE_URL);
     $_Tpl_NL->setParseValue("UNSUBSCRIBE_URL", $UNSUBSCRIBE_URL);
     $_Tpl_NL->setParseValue("SUBSCRIBE_URL", $SUBSCRIBE_URL);
     $_Tpl_NL->setParseValue("DATE", $DATE);
     $_Tpl_NL->setParseValue("EMAIL", $email);
     $_Tpl_NL->setParseValue("CODE", $code);
     $_Tpl_NL->setParseValue("F0", $f0);
     $_Tpl_NL->setParseValue("F1", $f1);
     $_Tpl_NL->setParseValue("F2", $f2);
     $_Tpl_NL->setParseValue("F3", $f3);
     $_Tpl_NL->setParseValue("F4", $f4);
     $_Tpl_NL->setParseValue("F5", $f5);
     $_Tpl_NL->setParseValue("F6", $f6);
     $_Tpl_NL->setParseValue("F7", $f7);
     $_Tpl_NL->setParseValue("F8", $f8);
     $_Tpl_NL->setParseValue("F9", $f9);
     $_Tpl_NL->setParseValue("MEMO", $memo);
     $_Tpl_NL->setParseValue("TITLE", $data['nl']['title']);
     $_Tpl_NL->setParseValue("TITLE_SUB", $data['nl']['title_sub']);
     $_Tpl_NL->setParseValue("SUMMARY", $data['nl']['summary']);
     $_Tpl_NL->setParseValue("GROUP", $GROUP);
     $_Tpl_NL->setParseValue("SUBJECT", $NLSUBJECT);
     $_Tpl_NL->setParseValue("TM_VERSION", TM_VERSION);
     $_Tpl_NL->setParseValue("TM_APPNAME", TM_APPNAME);
     $_Tpl_NL->setParseValue("TM_APPDESC", TM_APPDESC);
     $_Tpl_NL->setParseValue("TM_APPURL", TM_APPURL);
     $_Tpl_NL->setParseValue("TM_APPTEXT", TM_APPTEXT);
     $_Tpl_NL->setParseValue("TM_DISCLAIMER", TM_DISCLAIMER);
     //add htmlpart!
     if ($type == "html") {
         #if ($data['nl']['content_type']=="html" || $data['nl']['content_type']=="text/html") {
         #send_log("render HTML Template: ".$NL_Filename_N);
         $Log[] = "render HTML Template: " . $NL_Filename_N;
         //attachements html code
         $_Tpl_NL->setParseValue("ATTACHEMENTS", $ATTACHEMENTS);
         //Template rendern und body zusammenbauen
         //create header:
         //1st parse header:
         $HTML_Head = $this->parseHeader(array("text" => TM_NL_HTML_START));
         $HTML_Foot = $this->parseHeader(array("text" => TM_NL_HTML_END));
         //replacement array
         $HTML_search = array("{TITLE}", "{TITLE_SUB}", "{SUBJECT}");
         $HTML_replace = array(display($data['nl']['title']), display($data['nl']['title_sub']), $NLSUBJECT);
         //replace nl vars, title subttle, subject
         $HTML_Head = str_replace($HTML_search, $HTML_replace, $HTML_Head);
         $HTML_Foot = str_replace($HTML_search, $HTML_replace, $HTML_Foot);
         $Return = $HTML_Head . $_Tpl_NL->renderTemplate($NL_Filename_N) . $HTML_Foot;
     }
     //add textpart!
     //use body_text, if body_text is empty or "" or so, convert body to text, this is a fallback, the converting is broken due to wysiwyg and reconverting of e.g. german umlauts to html entitites :O
     if ($type == "text") {
         #if ($data['nl']['content_type']=="text" || $data['nl']['content_type']=="text/html") {
         #if (!empty($NL[0]['body_text']) && $NL[0]['body_text']!="") {
         //attachements text code
         $_Tpl_NL->setParseValue("ATTACHEMENTS", $ATTACHEMENTS_TEXT);
         #$NLBODY_TEXT=$NL[0]['body_text'];
         #send_log("render Text Template: ".$NL_Filename_T);
         $Log[] = "render Text Template: " . $NL_Filename_T;
         $Return = $_Tpl_NL->renderTemplate($NL_Filename_T);
         //text!
         #} else {
         #	$NLBODY_TEXT=$NEWSLETTER->convertNL2Text($NLBODY,$NL[0]['content_type']);
         #}
     }
     //if text text/html
     //finally parse links
     $LINK = new tm_LNK();
     //filter for linkparsing, if text then text, else "" for html version of parsed links
     $filter = "";
     if ($type == "text") {
         $filter = $type;
     }
     if ($data['nl']['track_personalized'] == 1) {
         $Return = $LINK->parseLinks($Return, $filter, array("nl_id" => $nl_id, "q_id" => $q_id, "a_id" => $a_id, "h_id" => $h_id));
     } else {
         $Return = $LINK->parseLinks($Return, $filter, array("nl_id" => $nl_id, "q_id" => $q_id));
     }
     //return string, later on we will return array [0] is text and [1] is log, containing all logmessages as array
     #$Return[0]=$parsedNL Array (subject,body);
     #$Return[1]=$Log;
     return $Return;
 }
예제 #4
0
$Form->set_InputReadonly($FormularName, $InputName_Name, false);
$Form->set_InputOrder($FormularName, $InputName_Name, 1);
$Form->set_InputLabel($FormularName, $InputName_Name, "");
//Gruppe src filter
$Form->new_Input($FormularName, $InputName_Group, "select", "");
$Form->set_InputJS($FormularName, $InputName_Group, " onChange=\"flash('submit','#ff0000');\" ");
$Form->set_InputDefault($FormularName, $InputName_Group, $adr_grp_id);
$Form->set_InputStyleClass($FormularName, $InputName_Group, "mFormSelect", "mFormSelectFocus");
$Form->set_InputDesc($FormularName, $InputName_Group, ___("Gruppe"));
$Form->set_InputReadonly($FormularName, $InputName_Group, false);
$Form->set_InputOrder($FormularName, $InputName_Group, 2);
$Form->set_InputLabel($FormularName, $InputName_Group, "");
$Form->set_InputSize($FormularName, $InputName_Group, 0, 1);
$Form->set_InputMultiple($FormularName, $InputName_Group, false);
//add Data
$GRP = $ADDRESS->getGroup();
$acg = count($GRP);
for ($accg = 0; $accg < $acg; $accg++) {
    $Form->add_InputOption($FormularName, $InputName_Group, $GRP[$accg]['id'], $GRP[$accg]['name']);
}
//Status filter
$Form->new_Input($FormularName, $InputName_Status, "select", "");
$Form->set_InputJS($FormularName, $InputName_Status, " onChange=\"flash('submit','#ff0000');\" ");
$Form->set_InputDefault($FormularName, $InputName_Status, $status);
$Form->set_InputStyleClass($FormularName, $InputName_Status, "mFormSelect", "mFormSelectFocus");
$Form->set_InputDesc($FormularName, $InputName_Status, ___("Suche nach Adress-Status"));
$Form->set_InputReadonly($FormularName, $InputName_Status, false);
$Form->set_InputOrder($FormularName, $InputName_Status, 3);
$Form->set_InputLabel($FormularName, $InputName_Status, "");
$Form->set_InputSize($FormularName, $InputName_Status, 0, 1);
$Form->set_InputMultiple($FormularName, $InputName_Status, false);
예제 #5
0
$InputName_RemoveDupsMethod = "remove_duplicates_method";
${$InputName_RemoveDupsMethod} = getVar($InputName_RemoveDupsMethod);
//duplicate remove method, keep first last random
$InputName_RemoveDupsLimit = "remove_duplicates_limit";
${$InputName_RemoveDupsLimit} = getVar($InputName_RemoveDupsLimit);
//limit, remove xxx dups at once
$InputName_RemoveDupsExport = "remove_duplicates_export";
//export dups?
${$InputName_RemoveDupsExport} = getVar($InputName_RemoveDupsExport);
//export dups?
$showGroupUrlPara = tmObjCopy($mSTDURL);
$showGroupStatusUrlPara = tmObjCopy($mSTDURL);
$showGroupUrlPara->addParam("act", "adr_list");
$showGroupStatusUrlPara->addParam("act", "adr_list");
if (!empty($set)) {
    $GRP = $ADDRESS->getGroup($adr_grp_id);
    $search['email'] = str_replace("*", "%", $email);
    $search['status'] = $status;
    $search['group'] = $adr_grp_id;
    $ac = $ADDRESS->countAdr(0, $search);
    $_MAIN_MESSAGE .= "<br>" . sprintf(___("%s Einträge werden bearbeitet."), "<b>" . $ac . "</b>");
}
if ((!empty($set) && $set != "delete" || $blacklist == 1) && $ac > 0 && $remove_duplicates != 1) {
    // wenn min 1 adr gefunden
    //meldungen ausgeben
    if ($set == "aktiv_1") {
        $_MAIN_MESSAGE .= "<br>" . ___("Ausgewählte Adressen werden aktiviert");
    }
    if ($set == "aktiv_0") {
        $_MAIN_MESSAGE .= "<br>" . ___("Ausgewählte Adressen werden deaktiviert.");
    }
예제 #6
0
$_MAIN_OUTPUT .= "<br><center><table border=0><tr><td valign=\"top\" align=\"left\">";
// width=50%<h1>".___("Gesamtstatus")."</h1><br>
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
//Adressen-Gruppen
////////////////////////////////////////////////////////////////////////////////////////
//prepare chart
#$chart = new PieChart(640,480);
$chart = new HorizontalChart(640, 360);
$chart->setLogo(TM_IMGPATH . "/blank.png");
//tellmatic_logo_256.png
$_MAIN_OUTPUT .= "<br><img alt=\"Chart\"  src=\"" . $tm_URL_FE . "/" . $tm_reportdir . "/status_adrg_total_" . TM_TODAY . ".png\"><br>";
//	function getGroup($id=0,$adr_id=0,$frm_id=0,$count=0) {
$AG = $ADDRESS->getGroup(0, 0, 0, 1);
//count!
$agc = count($AG);
$ac = $ADDRESS->countAdr();
$chart->addPoint(new Point(___("Summe", 0) . " (100%)", $ac));
$showadrURLPara->delParam("email");
$showadrURLPara->delParam("adr_id");
$showadrURLPara->addParam("act", "adr_list");
$showadrURLPara_ = $showadrURLPara->getAllParams();
$_MAIN_OUTPUT .= "<br><center>";
$_MAIN_OUTPUT .= "<table border=0 width=\"100%\" style=\"border:1px solid #eeeeee;\">";
$_MAIN_OUTPUT .= "<thead>";
$_MAIN_OUTPUT .= "<tr>";
$_MAIN_OUTPUT .= "<td valign=\"top\" align=\"left\">";
$_MAIN_OUTPUT .= "<a href=\"" . $tm_URL . "/" . $showgrpURLPara_ . "\">" . sprintf(___("%s Gruppen"), $agc) . "&nbsp;" . tm_icon("folder_go.png", ___("Liste anzeigen")) . "</a>";
$_MAIN_OUTPUT .= "</td>";
예제 #7
0
//Array A fuellen mit AddressIDs aus der DB
//syntax:   function getAdrID($group_id=0,$search=Array())
$A = $ADR->getAdrID();
echo print_r($A, TRUE);
echo "<hr>";
//Array durchwandern und jede Adresse pruefen
foreach ($A as $adr_id) {
    $G = array();
    //temporaeres Array
    //Gruppen fuer Adresse holen
    //syntax: function getGroupID($id=0,$adr_id=0,$frm_id=0,$search=Array())
    $G = $ADR->getGroupID(0, $adr_id);
    //wenn mehr als 1 Gruppe!, dann speichere ID der Adresse in B und erhoehe den Counter bn
    if (count($G) > 1) {
        $B[$bn] = $adr_id;
        $bn++;
    }
}
echo print_r($B, TRUE);
echo "<hr>";
//ergebnis anzeigen, IDs von Adressen mit mehr als 1 Gruppe sind in $B abgelegt
foreach ($B as $adr_id) {
    //Addressdetails auslesen
    //syntax: getAdr($id=0,$offset=0,$limit=0,$group_id=0,$search=Array(),$sortIndex="",$sortType=0,$Details=1)
    $A = $ADR->getAdr($adr_id);
    //Gruppen f.d. Addresse auslesen
    $G = $ADR->getGroup(0, $adr_id);
    echo print_r($A, TRUE);
    echo print_r($G, TRUE);
    echo "<hr>";
}
예제 #8
0
 //sind ueberhaupt gruppen gewaehlt???
 if ($gc > 0) {
     $QUEUE = new tm_Q();
     $ADDRESS = new tm_ADR();
     $_MAIN_MESSAGE .= "<br>" . sprintf(___("Ausgewählter Mail-Server: %s"), $HOST[0]['name']);
     if ($check_blacklist == 1) {
         $_MAIN_MESSAGE .= "<br>" . tm_icon("ruby.png", ___("Blacklist")) . "&nbsp;" . ___("Blacklist Überprüfung aktiv");
     }
     //nur q eintraege hinzufügen die noch nicht vorhanden sind oder status gesendet haben
     //status gesendet=4,
     //NICHT:    neu=1, gestartet/wait=2, running=3
     //fuer jede gruppe im array adr_grp!
     for ($gcc = 0; $gcc < $gc; $gcc++) {
         $group_add = false;
         $grp_id = $adr_grp[$gcc];
         $GRP = $ADDRESS->getGroup($grp_id);
         //function getQ($id=0,$offset=0,$limit=0,$nl_id=0,$grp_id=0,$status=0)
         $Qnew = $QUEUE->getQ(0, 0, 0, $nl_id, $grp_id, 1);
         $qc_new = count($Qnew);
         if ($qc_new != 0) {
             //gefunden ? nicht hinzufügen
             unset($adr_grp[$gcc]);
             $_MAIN_MESSAGE .= "<br><font color=\"red\">" . sprintf(___("Für die Gruppe %s existieren bereits %s neue Einträge. Nicht hinzugefügt!"), "'<b>" . display($GRP[0]['name']) . "</b>'", "<b>" . $qc_new . "</b>") . "</font>";
         } else {
             //qnew!=0
             $Qwait = $QUEUE->getQ(0, 0, 0, $nl_id, $grp_id, 2);
             $qc_wait = count($Qwait);
             if ($qc_wait != 0) {
                 //
                 unset($adr_grp[$gcc]);
                 $_MAIN_MESSAGE .= "<br><font color=\"red\">" . sprintf(___("Für die Gruppe %s existieren bereits %s gestartete/wartende Einträge. Nicht hinzugefügt!"), "'<b>" . display($GRP[0]['name']) . "</b>'", "<b>" . $qc_wait . "</b>") . "</font>";
예제 #9
0
${$InputName_Descr} = getVar($InputName_Descr);
$InputName_Aktiv = "aktiv";
//range from
${$InputName_Aktiv} = getVar($InputName_Aktiv);
$InputName_Public = "public";
//range from
${$InputName_Public} = getVar($InputName_Public);
$InputName_PublicName = "public_name";
//range from
${$InputName_PublicName} = getVar($InputName_PublicName);
//wenn sich public aender loeschen wir dennoch keine referenzen von public groups zu den formularen, das wird in subscribe eh ueberprueft und beim naechsten bearbeiten des formulares bereinigt! (da edit methode alte refs loescht und komplett neu anlegt!)
$InputName_Prod = "prod";
//range from
${$InputName_Prod} = getVar($InputName_Prod);
$ADDRESS = new tm_ADR();
$GRP = $ADDRESS->getGroup($adr_grp_id, 0, 0, 0);
$standard = $GRP[0]['standard'];
if ($set == "save") {
    $check = true;
    //checkinput
    if (empty($name)) {
        $check = false;
        $_MAIN_MESSAGE .= "<br>" . ___("Name der Gruppe sollte nicht leer sein.");
    }
    if ($check) {
        $ADDRESS = new tm_ADR();
        $ADDRESS->updateGrp(array("id" => $adr_grp_id, "name" => $name, "public" => $public, "public_name" => $public_name, "descr" => $descr, "aktiv" => $aktiv, "prod" => $prod, "created" => $created, "author" => $author));
        $_MAIN_MESSAGE .= "<br>" . sprintf(___("Adressgruppe %s wurde aktualisiert."), "'<b>" . display($name) . "</b>'");
        $action = "adr_grp_list";
        require_once TM_INCLUDEPATH . "/adr_grp_list.inc.php";
    } else {
예제 #10
0
 $logfilename = "q_" . $QP[$qpcc]['id'] . "_" . $QP[$qpcc]['grp_id'] . "_" . date_convert_to_string($QP[$qpcc]['created']) . ".log.html";
 //set log_q_id, nl_id and adr_id
 $log_q_id = $QP[$qpcc]['id'];
 $log_nl_id = $QP[$qpcc]['nl_id'];
 $log_grp_id = $QP[$qpcc]['grp_id'];
 send_log("Preparing " . ($qpcc + 1) . " of {$qpc} Qs");
 send_log("begin");
 send_log("QID=" . $QP[$qpcc]['id']);
 send_log("Status=" . $QP[$qpcc]['status']);
 send_log("nl_id=" . $QP[$qpcc]['nl_id']);
 send_log("grp_id=" . $QP[$qpcc]['grp_id']);
 send_log("host_id=" . $QP[$qpcc]['host_id']);
 send_log("send_at=" . $QP[$qpcc]['send_at']);
 send_log("autogen=" . $QP[$qpcc]['autogen']);
 $ReportMail_HTML = "";
 $G = $ADDRESS->getGroup($QP[$qpcc]['grp_id']);
 $NL = $NEWSLETTER->getNL($QP[$qpcc]['nl_id']);
 $HOST = $HOSTS->getHost($QP[$qpcc]['host_id'], array("aktiv" => 1, "type" => "smtp"));
 send_log("q status=1, q autogen =1");
 send_log("creating recipients list:");
 $h_refresh = $QUEUE->addHQ(array('nl_id' => $QP[$qpcc]['nl_id'], 'q_id' => $QP[$qpcc]['id'], 'grp_id' => $QP[$qpcc]['grp_id'], 'host_id' => $QP[$qpcc]['host_id'], 'status' => 1, 'created' => date("Y-m-d H:i:s")));
 #proof?!
 if ($C[0]['proof'] == 1) {
     if (DEBUG) {
         $MESSAGE .= send_log("proofing global enabled");
     }
     if ($QP[$qpcc]['proof'] == 1) {
         if (DEBUG) {
             $MESSAGE .= send_log("proofing for this q enabled");
         }
         $ADDRESS->proof();
예제 #11
0
$Form->set_InputJS($FormularName, $InputName_GroupPub, " onChange=\"flash('submit','#ff0000');\" ");
//$Form->set_InputDefault($FormularName,$InputName_GroupPub,$adr_grp_pub);
$Form->set_InputStyleClass($FormularName, $InputName_GroupPub, "tm_form_group_select", "tm_form_focus_group_select");
#$Form->set_InputDesc($FormularName,$InputName_GroupPub,___("Gruppen wählen, STRG/CTRL gedrückt halten und klicken f. Mehrfachauswahl"));
$Form->set_InputReadonly($FormularName, $InputName_GroupPub, false);
$Form->set_InputOrder($FormularName, $InputName_GroupPub, 111);
$Form->set_InputLabel($FormularName, $InputName_GroupPub, "");
//allow multiple public groups?
if ($FRM[0]['multiple_pubgroup'] == 1) {
    $Form->set_InputMultiple($FormularName, $InputName_GroupPub, TRUE);
} else {
    $Form->set_InputMultiple($FormularName, $InputName_GroupPub, FALSE);
}
//add Data
$ADDRESS = new tm_ADR();
$GRPPUB = $ADDRESS->getGroup(0, 0, $frm_id, 0, array("public_frm_ref" => 1, "aktiv" => 1, "public" => 1));
$acgp = count($GRPPUB);
//set size after counting... no more than 5 rows (only if select, not option. we do not have options yet, but may come)
if ($acgp < 5) {
    $Form->set_InputSize($FormularName, $InputName_GroupPub, 0, 5);
} else {
    $Form->set_InputSize($FormularName, $InputName_GroupPub, 0, $acgp);
}
for ($accgp = 0; $accgp < $acgp; $accgp++) {
    $Form->add_InputOption($FormularName, $InputName_GroupPub, $GRPPUB[$accgp]['id'], $GRPPUB[$accgp]['public_name']);
    $FGROUPDESCR .= "<strong>" . display($GRPPUB[$accgp]['public_name']) . "</strong><br>";
    if (!empty($GRPPUB[$accgp]['descr'])) {
        $FGROUPDESCR .= display($GRPPUB[$accgp]['descr']) . "<br>";
    }
}
//submit button
예제 #12
0
 $_MAIN_OUTPUT .= "</td><td valign=\"top\" align=\"left\">";
 $_MAIN_OUTPUT .= "<font size=-1>";
 $_MAIN_OUTPUT .= "<br><br>email= " . display($FRM[$acc]['email']) . " &nbsp; [] &nbsp; <em>" . display($FRM[$acc]['email_errmsg']) . "</em>" . "<br><br>f0= " . display($FRM[$acc]['f0']) . " &nbsp; [" . display($FRM[$acc]['f0_value']) . "] &nbsp; <em>" . display($FRM[$acc]['f0_errmsg']) . "</em>" . "<br>f1= " . display($FRM[$acc]['f1']) . " &nbsp; [" . display($FRM[$acc]['f1_value']) . "] &nbsp; <em>" . display($FRM[$acc]['f1_errmsg']) . "</em>" . "<br>f2= " . display($FRM[$acc]['f2']) . " &nbsp; [" . display($FRM[$acc]['f2_value']) . "] &nbsp; <em>" . display($FRM[$acc]['f2_errmsg']) . "</em>" . "<br>f3= " . display($FRM[$acc]['f3']) . " &nbsp; [" . display($FRM[$acc]['f3_value']) . "] &nbsp; <em>" . display($FRM[$acc]['f3_errmsg']) . "</em>" . "<br>f4= " . display($FRM[$acc]['f4']) . " &nbsp; [" . display($FRM[$acc]['f4_value']) . "] &nbsp; <em>" . display($FRM[$acc]['f4_errmsg']) . "</em>" . "<br>f5= " . display($FRM[$acc]['f5']) . " &nbsp; [" . display($FRM[$acc]['f5_value']) . "] &nbsp; <em>" . display($FRM[$acc]['f5_errmsg']) . "</em>" . "<br>f6= " . display($FRM[$acc]['f6']) . " &nbsp; [" . display($FRM[$acc]['f6_value']) . "] &nbsp; <em>" . display($FRM[$acc]['f6_errmsg']) . "</em>" . "<br>f7= " . display($FRM[$acc]['f7']) . " &nbsp; [" . display($FRM[$acc]['f7_value']) . "] &nbsp; <em>" . display($FRM[$acc]['f7_errmsg']) . "</em>" . "<br>f8= " . display($FRM[$acc]['f8']) . " &nbsp; [" . display($FRM[$acc]['f8_value']) . "] &nbsp; <em>" . display($FRM[$acc]['f8_errmsg']) . "</em>" . "<br>f9= " . display($FRM[$acc]['f9']) . " &nbsp; [" . display($FRM[$acc]['f9_value']) . "] &nbsp; <em>" . display($FRM[$acc]['f9_errmsg']) . "</em>";
 $_MAIN_OUTPUT .= "</font>";
 $_MAIN_OUTPUT .= "</td><td valign=\"top\" align=\"left\">";
 $_MAIN_OUTPUT .= "<font size=-1>";
 $_MAIN_OUTPUT .= "<br>" . ___("SMTP") . ": ";
 if (check_dbid($FRM[$acc]['host_id'])) {
     $HOST = $HOSTS->getHost($FRM[$acc]['host_id']);
     $_MAIN_OUTPUT .= display($HOST[0]['name']) . " (ID:" . $FRM[$acc]['host_id'] . ")";
 } else {
     $_MAIN_OUTPUT .= ___("-- STANDARD --");
 }
 $_MAIN_OUTPUT .= "<br>" . sprintf(___("Erstellt am: %s von %s"), $created_date, $author) . "<br>" . sprintf(___("Bearbeitet am: %s von %s"), $updated_date, $editor);
 $_MAIN_OUTPUT .= "<br><br>" . ___("Anmeldungen über dieses Formular werden in die folgenden Gruppen eingeordnet:") . "<br>";
 $GRP = $ADDRESS->getGroup(0, 0, $FRM[$acc]['id'], 0, array("public_frm_ref" => 0));
 $acg = count($GRP);
 for ($accg = 0; $accg < $acg; $accg++) {
     $_MAIN_OUTPUT .= "" . display($GRP[$accg]['name']) . "<br>";
 }
 $_MAIN_OUTPUT .= "<br><br>" . ___("Der Abonnent kann aus folgenden Gruppen wählen:") . "<br>";
 $GRP = $ADDRESS->getGroup(0, 0, $FRM[$acc]['id'], 0, array("public_frm_ref" => 1));
 $acg = count($GRP);
 for ($accg = 0; $accg < $acg; $accg++) {
     $_MAIN_OUTPUT .= "" . display($GRP[$accg]['name']) . "<br>";
 }
 $GRP = $ADDRESS->getGroup(0, 0, $FRM[$acc]['id']);
 $acg = count($GRP);
 $_MAIN_OUTPUT .= "</font>";
 $_MAIN_OUTPUT .= "</td></tr></tbody></table>";
 $_MAIN_OUTPUT .= "</div>";
예제 #13
0
        $Form->add_InputOption($FormularName, $InputName_NL, $NL[$ncc]['id'], $NLOpt);
    }
}
//Gruppe
$Form->new_Input($FormularName, $InputName_Group, "select", "");
$Form->set_InputJS($FormularName, $InputName_Group, " onChange=\"flash('submit','#ff0000');\" ");
$Form->set_InputStyleClass($FormularName, $InputName_Group, "mFormSelect", "mFormSelectFocus");
$Form->set_InputDesc($FormularName, $InputName_Group, ___("Gruppen wählen, STRG/CTRL gedrückt halten und klicken f. Mehrfachauswahl"));
$Form->set_InputReadonly($FormularName, $InputName_Group, false);
$Form->set_InputOrder($FormularName, $InputName_Group, 2);
$Form->set_InputLabel($FormularName, $InputName_Group, "");
$Form->set_InputSize($FormularName, $InputName_Group, 0, 5);
$Form->set_InputMultiple($FormularName, $InputName_Group, true);
//add Data
$ADDRESS = new tm_ADR();
$GRP = $ADDRESS->getGroup(0, 0, 0, 1, array("aktiv" => 1, "prod" => 1));
$acg = count($GRP);
for ($accg = 0; $accg < $acg; $accg++) {
    $valid_adr_c = $ADDRESS->countValidADR($GRP[$accg]['id']);
    if ($valid_adr_c > 0) {
        $Form->add_InputOption($FormularName, $InputName_Group, $GRP[$accg]['id'], display($GRP[$accg]['name']) . " (" . $GRP[$accg]['adr_count'] . " / " . $valid_adr_c . " " . ___("Adressen") . ")");
    }
}
//use blacklist?
$Form->new_Input($FormularName, $InputName_Blacklist, "checkbox", 1);
$Form->set_InputJS($FormularName, $InputName_Blacklist, " onChange=\"flash('submit','#ff0000');\"");
$Form->set_InputDefault($FormularName, $InputName_Blacklist, 1);
$Form->set_InputStyleClass($FormularName, $InputName_Blacklist, "mFormText", "mFormTextFocus");
$Form->set_InputSize($FormularName, $InputName_Blacklist, 48, 256);
$Form->set_InputDesc($FormularName, $InputName_Blacklist, ___("Blacklist prüfen"));
$Form->set_InputReadonly($FormularName, $InputName_Blacklist, false);
#$adr_grp[1]=2;
#$adr_grp[2]=2;
//CONFIG END
if (!DEMO && $user_is_admin) {
    $created = date("Y-m-d H:i:s");
    #$f_text="0123456789abcdefghijklmnopqrstuvwxyz";
    $author = $LOGIN->USER['name'];
    $source = 'user';
    $source_id = $LOGIN->USER['id'];
    $source_extern_id = 0;
    $rnd = rand(1111111, 9999999);
    $gc = count($adr_grp);
    $_MAIN_MESSAGE .= "<br>" . sprintf(___("Erstelle %s Testadressen in der(den) Gruppe(n) :"), $max_adr);
    $ADDRESS = new tm_ADR();
    for ($gcc = 0; $gcc < $gc; $gcc++) {
        $GRP = $ADDRESS->getGroup($adr_grp[$gcc]);
        $_MAIN_MESSAGE .= "<br>" . display($GRP[0]['name']);
    }
    for ($adr_c = 0; $adr_c < $max_adr; $adr_c++) {
        $code = $adr_c + $rnd;
        $email = "test_" . $adr_c . "_" . $code . "@tellmatic.org";
        //random status?
        #$status=rand(1,12);
        //fixed status
        $status = 2;
        //2:new
        $ADDRESS->addAdr(array("email" => $email, "aktiv" => 1, "created" => $created, "author" => $author, "status" => $status, "code" => $code, "memo" => "{$adr_c} testadressen", "source" => "user", "source_id" => $LOGIN->USER['id'], "source_extern_id" => 0, "f0" => "f0_" . $code, "f1" => "f1_" . $code, "f2" => "f2_" . $code, "f3" => "f3_" . $code, "f4" => "f4_" . $code, "f5" => "f5_" . $code, "f6" => "f6_" . $code, "f7" => "f7_" . $code, "f8" => "f8_" . $code, "f9" => "f9_" . $code), $adr_grp);
    }
    //for
}
//is user_is_admin
예제 #15
0
            $_MAIN_MESSAGE .= "<br>" . ___("Logfile wurde gelöscht.");
        } else {
            $_MAIN_MESSAGE .= "<br>" . ___("Logfile konnte nicht gelöscht werden.");
        }
    }
    //isset Q[id]
}
//if newsletter id is set
//q f. liste holen
if (check_dbid($nl_id)) {
    $NL = $NEWSLETTER->getNL($nl_id);
    $_MAIN_MESSAGE .= "<br>" . sprintf(___("gewähltes Newsletter: %s"), " <b>" . display($NL[0]['subject']) . "</b>");
}
//if address group id is set
if (check_dbid($grp_id)) {
    $GRP = $ADDRESS->getGroup($grp_id);
    $_MAIN_MESSAGE .= "<br>" . sprintf(___("gewählte Gruppe: %s"), " <b>" . display($GRP[0]['name']) . "</b>");
}
//get Queue Entry
$Q = $QUEUE->getQ($id = 0, $offset = 0, $limit = 0, $nl_id, $grp_id, $status = 0, $search = array());
//count entries
$qc = count($Q);
//Action URLS
$reloadURLPara = tmObjCopy($mSTDURL);
$reloadURLPara->addParam("act", "queue_list");
$reloadURLPara->addParam("nl_id", $nl_id);
$showhistURLPara = tmObjCopy($mSTDURL);
$showhistURLPara->addParam("act", "queue_list");
$showhistURLPara->addParam("nl_id", $nl_id);
$sendFastURLPara = tmObjCopy($mSTDURL);
$sendFastURLPara->addParam("act", "queue_send");
예제 #16
0
$Form->set_InputOrder($FormularName, $InputName_F, 2);
$Form->set_InputLabel($FormularName, $InputName_F, "F0-F9<br>");
//Gruppe
$Form->new_Input($FormularName, $InputName_Group, "select", "");
$Form->set_InputJS($FormularName, $InputName_Group, " onChange=\"flash('submit','#ff0000');\" ");
$Form->set_InputDefault($FormularName, $InputName_Group, $adr_grp_id);
$Form->set_InputStyleClass($FormularName, $InputName_Group, "mFormSelect", "mFormSelectFocus");
$Form->set_InputDesc($FormularName, $InputName_Group, ___("Suche nach Gruppenzugehörigkeit"));
$Form->set_InputReadonly($FormularName, $InputName_Group, false);
$Form->set_InputOrder($FormularName, $InputName_Group, 3);
$Form->set_InputLabel($FormularName, $InputName_Group, "Gruppe<br>");
$Form->set_InputSize($FormularName, $InputName_Group, 0, 1);
$Form->set_InputMultiple($FormularName, $InputName_Group, false);
//add Data
$ADDRESS = new tm_ADR();
$GRP = $ADDRESS->getGroup(0, 0, 0, 1);
$acg = count($GRP);
$Form->add_InputOption($FormularName, $InputName_Group, "", "-- alle");
for ($accg = 0; $accg < $acg; $accg++) {
    $Form->add_InputOption($FormularName, $InputName_Group, $GRP[$accg]['id'], $GRP[$accg]['name'] . " (" . $GRP[$accg]['adr_count'] . ")");
}
//Author bzw Formular! Form_[ID]
$Form->new_Input($FormularName, $InputName_Author, "select", "");
$Form->set_InputJS($FormularName, $InputName_Author, " onChange=\"flash('submit','#ff0000');\" ");
$Form->set_InputDefault($FormularName, $InputName_Author, ${$InputName_Author});
$Form->set_InputStyleClass($FormularName, $InputName_Author, "mFormSelect", "mFormSelectFocus");
$Form->set_InputDesc($FormularName, $InputName_Author, ___("Herkunft / Quelle"));
$Form->set_InputReadonly($FormularName, $InputName_Author, false);
$Form->set_InputOrder($FormularName, $InputName_Author, 6);
$Form->set_InputLabel($FormularName, $InputName_Author, ___("Herkunft / Quelle") . "<br>");
$Form->set_InputSize($FormularName, $InputName_Author, 0, 1);
예제 #17
0
     $_MAIN_MESSAGE .= "\nq 0 id: " . $Q[0]['id'] . "\n";
 }
 if (DEBUG) {
     $_MAIN_MESSAGE .= "\nQ:\n";
 }
 if (DEBUG) {
     $_MAIN_MESSAGE .= print_r($Q, TRUE);
 }
 $HOST = $HOSTS->getHost($Q[0]['host_id']);
 if (DEBUG) {
     $_MAIN_MESSAGE .= "\nHOST:\n";
 }
 if (DEBUG) {
     $_MAIN_MESSAGE .= print_r($HOST, TRUE);
 }
 $GRP = $ADDRESS->getGroup($Q[0]['grp_id']);
 if (DEBUG) {
     $_MAIN_MESSAGE .= "\nGRP:\n";
 }
 if (DEBUG) {
     $_MAIN_MESSAGE .= print_r($GRP, TRUE);
 }
 //hier pruefung ob host, nl und gruppen ueberhaupt noch existieren...... sonst undefined index wenn ein spassvogel die hosts oder nl oder adrgrp etc loescht
 if ($qcc == 0) {
     $_MAIN_MESSAGE .= "<br>" . sprintf(___("Ausgewählter Mail-Server: %s"), $HOST[0]['name']);
 }
 //nur erster durchlauf
 //wenn status ok, also neu 1, gestartet 2 oder angehalten 5
 //dann neu eintrag in sendeliste/history, q_id, nl_id, grp_id, adr_id
 if ($Q[0]['status'] == 1 || $Q[0]['status'] == 2 || $Q[0]['status'] == 5) {
     $NL = $NEWSLETTER->getNL($Q[0]['nl_id'], 0, 0, 0, 0);
예제 #18
0
 if ($entrys_recheck > 0) {
     $_MAIN_OUTPUT .= "<br>" . sprintf(___("%s Adressen sind zur Prüfung vorgemerkt"), "<b>" . $entrys_recheck . "</b>");
 }
 //anzahl inaktiv/deaktivert
 $search_inaktiv = array();
 $search_inaktiv['aktiv'] = '0';
 $entrys_inaktiv = $ADDRESS->countADR(0, $search_inaktiv);
 if ($entrys_inaktiv > 0) {
     $_MAIN_OUTPUT .= "<br>" . sprintf(___("%s Adressen sind deaktiviert"), "<b>" . $entrys_inaktiv . "</b>");
 }
 $_MAIN_OUTPUT .= "<br>" . sprintf(___("%s Dubletten"), "<b>" . $ADDRESS->count_duplicates() . "</b>");
 $_MAIN_OUTPUT .= "<br>";
 if ($adr_grp_id > 0) {
     $ADR = $ADDRESS->getAdr(0, $offset, $limit, $adr_grp_id, $search, $sortIndex, $sortType);
     //id,offset,limit,group,$search_array
     $adr_grp = $ADDRESS->getGroup($adr_grp_id);
     $_MAIN_OUTPUT .= "<br>" . sprintf(___("gewählte Gruppe: %s"), "<b>" . display($adr_grp[0]['name']) . "</b>");
 } else {
     $ADR = $ADDRESS->getAdr(0, $offset, $limit, 0, $search, $sortIndex, $sortType);
     //id,offset,limit,group,$search_array
 }
 if ($s_status > 0) {
     $_MAIN_OUTPUT .= "<br>" . ___("gewählter Status") . ":&nbsp;" . tm_icon($STATUS['adr']['statimg'][$s_status], display($STATUS['adr']['status'][$s_status])) . "&nbsp;\"<b>" . display($STATUS['adr']['status'][$s_status]) . "</b>\"";
 }
 $ac = count($ADR);
 $entrys = $ac;
 // fuer pager.inc!!! // aktuelle anzahl angezeigter eintraege
 $entrys_total = $ADDRESS->countADR($adr_grp_id, $search);
 //anzahl eintraege aktuell gewaehlt mit filter
 $search_recheck_selected = $search;
 $search_recheck_selected['recheck'] = 1;
예제 #19
0
 }
 //anzahl maximaler durchlaeufe
 //run_max=(int)(export_total / limit_run)
 $export_run_max = (int) ($export_total / $export_limit_run);
 if (DEBUG) {
     $_MAIN_MESSAGE .= "<br>export_run_max = (int) export_total ({$export_total}) / export_limit_run ({$export_limit_run}) = {$export_run_max}";
 }
 /*********************************************/
 //hat der user einen offset gesetzt?
 $export_offset = 0;
 if ($export_offset_user > 0) {
     $export_offset = $export_offset_user;
 }
 /*********************************************/
 //Gruppe auslesen
 $adr_grp = $ADDRESS->getGroup($adr_grp_id);
 $_MAIN_MESSAGE .= "<br>" . sprintf(___("gewählte Gruppe: %s"), $adr_grp[0]['name']);
 $status_message = ___("Alle");
 if (!empty($status)) {
     $status_message = "&nbsp;<img src=\"" . $tm_iconURL . "/" . $STATUS['adr']['statimg'][$status] . "\" border=\"0\">" . "&nbsp;" . display($STATUS['adr']['status'][$status]) . "&nbsp;(" . display($STATUS['adr']['descr'][$status]) . ")";
 }
 $_MAIN_MESSAGE .= "<br>" . sprintf(___("mit Status: %s"), $status_message);
 $_MAIN_MESSAGE .= "<br>" . sprintf(___("%s Einträge gesamt."), $adc);
 $_MAIN_MESSAGE .= "<br>" . sprintf(___("Maximal %s Einträge werden exportiert."), $export_total);
 $_MAIN_MESSAGE .= "<br>" . sprintf(___("Offset: %s"), $export_offset_user);
 if ($check_blacklist == "all") {
     $_MAIN_MESSAGE .= "<br>" . ___("Keine Überprüfung der Blacklist. Alle Adressen werden exportiert.");
 }
 if ($check_blacklist == "blacklisted") {
     $_MAIN_MESSAGE .= "<br>" . ___("Überprüfung der Blacklist, nur Adressen auf der Blacklist werden exportiert.");
 }