コード例 #1
0
         $myconn->query("UPDATE " . db_table_pref . "subscribers SET subscriber_verify=1 WHERE ID=" . $subIDs . "") or die(mysqli_error($myconn));
         # Send Double Opt-in Mail If Organization is Using Double Verification
         if ($orgVerifMode == 2) {
             $unSubLethe->SUBID = $subIDs;
             $unSubLethe->sendVerify(2);
         }
         # Print Thank Template
         echo $sysTemps['thank']['data'];
     }
     # Subscriber is single verified
 } else {
     if ($sverify == 1) {
         # Check If Double Opt-in Active for Organization
         if ($orgVerifMode == 2) {
             # Check Key
             if ($rt != encr($sverify_key)) {
                 echo $sysTemps['erroroccurred']['data'];
             } else {
                 # Subscriber Mark As Double Opt-in
                 $myconn->query("UPDATE " . db_table_pref . "subscribers SET subscriber_verify=2 WHERE ID=" . $subIDs . "") or die(mysqli_error($myconn));
                 # Print Thank Template
                 echo $sysTemps['thank']['data'];
             }
         } else {
             # Only Single Opt-in Works, Print Already Verified Template
             die($sysTemps['alreadyverified']['data']);
         }
         # Subscriber is double verified
     } else {
         if ($sverify == 2) {
             # Print Already Verified Template
コード例 #2
0
ファイル: lethe.api.php プロジェクト: BersnardC/DROPINN
         if ($chkBL->num_rows != 0) {
             $chkBL->close();
             jsonRet(false, 'EMAIL_IN_BLACKLIST');
         }
         # Create Full Data
         $jsonObject = $lmail;
         # JSON Disabled for Static Fields
         /* 					$fullData[$jsonObject][] = array('label'=>'Group','content'=>$lgrp);
         					$fullData[$jsonObject][] = array('label'=>'E-Mail','content'=>$lmail);
         					if(!empty($lsname)) $fullData[$jsonObject][] = array('label'=>'Name','content'=>$lsname);
         					if(!empty($lsweb)) $fullData[$jsonObject][] = array('label'=>'Web','content'=>$lsweb);
         					if(!empty($lsdate)) $fullData[$jsonObject][] = array('label'=>'Date','content'=>$lsdate);
         					if(!empty($lsphone)) $fullData[$jsonObject][] = array('label'=>'Phone','content'=>$lsphone);
         					if(!empty($lscomp)) $fullData[$jsonObject][] = array('label'=>'Company','content'=>$lscomp); */
         $fullData = json_encode($fullData);
         $subKey = encr(time() . $fullData);
         # Add Subscriber **
         $exeAPI = $myconn->prepare("INSERT INTO \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t" . db_table_pref . "subscribers\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tSET\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tOID=" . $sr->Get('ID') . ",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tGID=?,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsubscriber_mail=?,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsubscriber_name=?,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsubscriber_web=?,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsubscriber_date=?,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsubscriber_phone=?,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsubscriber_company=?,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsubscriber_full_data=?,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsubscriber_active=1,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsubscriber_verify=1,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsubscriber_key='" . $subKey . "',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tip_addr='" . $_SERVER['REMOTE_ADDR'] . "'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t") or die(mysqli_error($myconn));
         $exeAPI->bind_param('isssssss', $lgrp, $lmail, $lsname, $lsweb, $lsdate, $lsphone, $lscomp, $fullData);
         $exeAPI->execute();
         $exeAPI->close();
         jsonRet(true, 'EMAIL_ADDED');
     } else {
         jsonRet(false, 'EMAIL_EXISTS');
     }
     $chkAPI->close();
 } else {
     if ($act == 'remove') {
         $remAPI = $myconn->prepare("DELETE FROM " . db_table_pref . "subscribers WHERE OID=" . $sr->Get('ID') . " AND subscriber_mail=?") or die(mysqli_error($myconn));
         $remAPI->bind_param('s', $lmail);
         $remAPI->execute();
コード例 #3
0
ファイル: pg.contents.php プロジェクト: BersnardC/DROPINN
 if (!isset($_POST['campaign_reply_mail']) || !mailVal($_POST['campaign_reply_mail'])) {
     $errText .= '* ' . letheglobal_please_enter_a_reply_mail . '<br>';
 }
 if (!isset($_POST['subAcc']) || !in_array(intval($_POST['subAcc']), $orgSubAccs)) {
     $errText .= '* ' . letheglobal_invalid_submission_account . '<br>';
 }
 /* Run Camp */
 if (isset($_POST['runCamp']) && $_POST['runCamp'] == "YES") {
     $runCamp = 0;
 } else {
     $runCamp = 2;
 }
 if ($errText == '') {
     $genDate = $_POST['launch_date'] . ' ' . $_POST['launch_hour'] . ':' . $_POST['launch_min'] . ':00';
     $genDate = date('Y-m-d H:i:s', strtotime($genDate));
     $campKey = encr($genDate . set_org_id . LETHE_AUTH_ID . uniqid(true));
     $addCampaign = $myconn->prepare("UPDATE \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t" . db_table_pref . "campaigns\n\t\t\t\t\t\t\t\t\t\t\t\t SET\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsubject=?,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdetails=?,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\talt_details=?,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlaunch_date=?,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tattach=?,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\twebOpt=" . $webOpt . ",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcampaign_type=0,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcampaign_pos=" . $runCamp . ",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcampaign_sender_title=?,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcampaign_reply_mail=?,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcampaign_sender_account=?\n\t\t\t\t\t\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tOID=" . set_org_id . "\n\t\t\t\t\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tID=?\n\t\t\t\t\t\t\t\t\t\t") or die(mysqli_error($myconn));
     $addCampaign->bind_param('sssssssii', $_POST['subject'], $_POST['details'], $_POST['alt_details'], $genDate, $_POST['attach'], $_POST['campaign_sender_title'], $_POST['campaign_reply_mail'], $_POST['subAcc'], $ID);
     if ($addCampaign->execute()) {
         /* Update Groups */
         $CID = $ID;
         $addGrps = $myconn->prepare("INSERT INTO\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t" . db_table_pref . "campaign_groups\n\t\t\t\t\t\t\t\t\t\t\t\t SET\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tOID=" . set_org_id . ",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tCID=?,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tGID=?\n\t\t\t\t\t\t\t\t\t\t") or die(mysqli_error($myconn));
         foreach ($_POST['groups'] as $k => $v) {
             if (cntData("SELECT * FROM " . db_table_pref . "campaign_groups WHERE OID=" . set_org_id . " AND CID=" . $CID . " AND GID=" . $v . "") == 0) {
                 $addGrps->bind_param('ii', $CID, $v);
                 $addGrps->execute();
             }
         }
         $addGrps->close();
         /* Remove Groups Unselect */
         $opGrps = $myconn->query("SELECT * FROM " . db_table_pref . "campaign_groups WHERE OID=" . set_org_id . " AND CID=" . $CID . "") or die(mysqli_error($myconn));
コード例 #4
0
ファイル: exip.xmlhttp.php プロジェクト: BersnardC/DROPINN
                        /* Check Data */
                        $mailChk->bind_param('s', $sub_mail);
                        $mailChk->execute();
                        $mailChk->store_result();
                        if ($mailChk->num_rows == 0) {
                            /* Add Record */
                            $jsonObject = $sub_mail;
                            /* 								
                            								JSON Disabled Here
                            								$fullData[$jsonObject][] = array('label'=>'Group','content'=>$impGrp);
                            								$fullData[$jsonObject][] = array('label'=>'Name','content'=>$sub_name);
                            								$fullData[$jsonObject][] = array('label'=>'E-Mail','content'=>$sub_mail);
                            								$fullData = json_encode($fullData); */
                            $fullData = "[]";
                            $subKey = encr('lethe' . time() . $fullData . uniqid(true) . $sub_mail);
                            $subVerifyKey = encr('letheVerify' . $subKey . uniqid(true));
                            $imp->bind_param('sssss', $sub_name, $sub_mail, $subKey, $fullData, $subVerifyKey);
                            $imp->execute();
                            $recSc++;
                            $sourceCntTemp++;
                        } else {
                            $recEx++;
                        }
                    } else {
                        $recBL++;
                    }
                }
            }
            $fetchData->free();
            echo '
				- ' . subscribers_counting_records . '..<br>
コード例 #5
0
ファイル: pg.login.php プロジェクト: BersnardC/DROPINN
 } else {
     $opUser = $myconn->prepare("SELECT * FROM " . db_table_pref . "users WHERE mail=?") or die(mysqli_error($myconn));
     $opUser->bind_param('s', $_POST['pw_rem']);
     $opUser->execute();
     $opUser->store_result();
     if ($opUser->num_rows < 1) {
         $pwrm_res = mysql_prep(errMod(letheglobal_record_not_found, 'danger'));
     } else {
         $srm = new Statement_Result($opUser);
         $opUser->fetch();
         # Load phpMailer basic mail sender
         # Start
         /* Design Receiver Data (Mail body could be used with system template) */
         $rndPassEnc = encr('myLethe' . time() . rand() . uniqid(true));
         $newPass = substr($rndPassEnc, 1, 12);
         $newPassEnc = encr($newPass);
         $mailBody = '<p>Hello ' . $srm->Get('real_name') . ',</p>';
         $mailBody .= '<p><strong>Your new password:</strong> ' . $newPass . '</p>';
         $mailBody .= '<p>Do not forget to change your password after logged in.</p>';
         $mailBody .= '<p>Thank you!</p>';
         $rcMail = showIn($srm->Get('mail'), 'page');
         $rcName = showIn($srm->Get('real_name'), 'page');
         $rcSubject = showIn(letheglobal_password_recovery, 'page');
         $rcBody = $mailBody;
         $rcAltBody = $mailBody;
         $recData = array($rcMail => array('name' => $rcName, 'subject' => $rcSubject, 'body' => $rcBody, 'altbody' => $rcAltBody));
         $sendMail = new lethe();
         $sendMail->sub_mail_id = md5($rcMail . time());
         $sendMail->sub_mail_receiver = $recData;
         $sendMail->sysSubInit();
         if ($sendMail->sendPos) {
コード例 #6
0
ファイル: act.xmlhttp.php プロジェクト: BersnardC/DROPINN
					</tr>
					<tr>
						<td><strong>' . letheglobal_created . '</strong></td>
						<td>' . setMyDate($sr->Get('add_date'), 2) . '</td>
					</tr>
					<tr>
						<td><strong>' . letheglobal_ip_address . '</strong></td>
						<td>' . $sr->Get('ip_addr') . '</td>
					</tr>
					<tr>
						<td><strong>' . subscribers_verification_key . '</strong></td>
						<td><code>' . $sr->Get('subscriber_verify_key') . '</code></td>
					</tr>
					<tr>
						<td><strong>' . subscribers_verification_key . ' 2</strong></td>
						<td><code>' . encr($sr->Get('subscriber_verify_key')) . '</code></td>
					</tr>
					<tr>
						<td><strong>' . letheglobal_country . '</strong></td>
						<td>' . showIn($sr->Get('local_country'), 'page') . ' <span class="flag flag-' . strtolower(showIn($sr->Get('local_country_code'), 'page')) . '"></span></td>
					</tr>
					<tr>
						<td><strong>' . letheglobal_country_code . '</strong></td>
						<td>' . showIn($sr->Get('local_country_code'), 'page') . '</td>
					</tr>
					<tr>
						<td><strong>' . letheglobal_city . '</strong></td>
						<td>' . showIn($sr->Get('local_city'), 'page') . '</td>
					</tr>
					<tr>
						<td><strong>' . letheglobal_region . '</strong></td>
コード例 #7
0
ファイル: lethe.class.php プロジェクト: BersnardC/DROPINN
 public function sendVerify($mod = 1)
 {
     global $myconn;
     global $LETHE_ORG_SETS;
     # Mod 1 - Single
     # Mod 2 - Double
     # Only OID and SUBID required for simple verification sender calling, Mod value can be changed into first verification page
     /* Load Verification Template */
     $opTemp = $myconn->query("\n\t\t\t\t\t\t\t\t   SELECT \n\t\t\t\t\t\t\t\t\t\t\tTEMP.temp_type, TEMP.temp_name, TEMP.temp_contents,\n\t\t\t\t\t\t\t\t\t\t\tORG.ID,ORG.orgName,ORG.public_key AS OPLKEY,\n\t\t\t\t\t\t\t\t\t\t\tSBR.ID AS SBRID,\n\t\t\t\t\t\t\t\t\t\t\tSBR.subscriber_name, SBR.subscriber_mail, SBR.subscriber_web, SBR.subscriber_date, SBR.subscriber_phone, SBR.subscriber_company,\n\t\t\t\t\t\t\t\t\t\t\tSBR.subscriber_verify,SBR.subscriber_verify_key,SBR.subscriber_key,\n\t\t\t\t\t\t\t\t\t\t\tORGSET.OID AS OSOID,\n\t\t\t\t\t\t\t\t\t\t\tORGSET.set_key,ORGSET.set_val\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t     FROM \n\t\t\t\t\t\t\t\t\t\t\t" . db_table_pref . "templates AS TEMP,\n\t\t\t\t\t\t\t\t\t\t\t" . db_table_pref . "organizations AS ORG,\n\t\t\t\t\t\t\t\t\t\t\t" . db_table_pref . "organization_settings AS ORGSET,\n\t\t\t\t\t\t\t\t\t\t\t" . db_table_pref . "subscribers AS SBR\n\t\t\t\t\t\t\t\t    WHERE \n\t\t\t\t\t\t\t\t\t\t\tORG.ID=" . $this->OID . " \n\t\t\t\t\t\t\t\t\t  AND \n\t\t\t\t\t\t\t\t\t\t\t(TEMP.OID=ORG.ID AND TEMP.temp_type='verification')\n\t\t\t\t\t\t\t\t\t  AND\n\t\t\t\t\t\t\t\t\t\t\t(SBR.ID=" . $this->SUBID . ")\n\t\t\t\t\t\t\t\t\t  AND\n\t\t\t\t\t\t\t\t\t\t\t(ORGSET.OID=" . $this->OID . ")\n\t\t\t\t\t\t\t\t\t  AND\n\t\t\t\t\t\t\t\t\t\t\t(ORGSET.set_key='org_submission_account' OR ORGSET.set_key='org_sender_title' OR ORGSET.set_key='org_reply_mail')\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t") or die(mysqli_error($myconn));
     if (mysqli_num_rows($opTemp) == 0) {
         $opTemp->free();
         return false;
     } else {
         $opTempRs = $opTemp->fetch_assoc();
         $replaced = $this->shortReplaces(array($opTempRs['temp_name'], $opTempRs['temp_contents']));
         $mailTitle = $replaced[0];
         $mailBody = $replaced[1];
         /* Special System Codes */
         $find = array('{SUBSCRIBER_NAME}', '{SUBSCRIBER_MAIL}', '{SUBSCRIBER_PHONE}', '{SUBSCRIBER_COMPANY}');
         $replace = array($opTempRs['subscriber_name'], $opTempRs['subscriber_mail'], $opTempRs['subscriber_phone'], $opTempRs['subscriber_company']);
         $mailBody = str_replace($find, $replace, $mailBody);
         $mailTitle = str_replace($find, $replace, $mailTitle);
         /* Verify Code Replacer */
         $mailBody = preg_replace('#\\{?(VERIFY_LINK\\[)(.*?)\\]}#', '<a href="' . lethe_root_url . 'lethe.newsletter.php?pos=verification&amp;oid=' . $opTempRs['OPLKEY'] . '&amp;sid=' . $opTempRs['subscriber_key'] . '&amp;rt=' . ($mod == 1 ? $opTempRs['subscriber_verify_key'] : encr($opTempRs['subscriber_verify_key'])) . '">$2</a>', $mailBody);
         /* Send Mail */
         $subAccs = explode(',', $LETHE_ORG_SETS['set_org_submission_account']);
         if (count($subAccs) < 1) {
             return false;
         } else {
             $OSMIDs = $subAccs[0];
         }
         $this->OSMID = $OSMIDs;
         $this->sub_from_title = showIn($LETHE_ORG_SETS['set_org_sender_title'], 'page');
         $this->sub_reply_mail = showIn($LETHE_ORG_SETS['set_org_reply_mail'], 'page');
         $this->orgSubInit();
         # Load Submission Settings
         $this->sub_mail_id = md5($opTempRs['subscriber_mail']);
         /* Design Receiver Data */
         $rcMail = $opTempRs['subscriber_mail'];
         $rcName = $opTempRs['subscriber_name'];
         $rcSubject = trim($mailTitle);
         $rcBody = $mailBody;
         $rcAltBody = '';
         $recData = array($rcMail => array('name' => $rcName, 'subject' => $rcSubject, 'body' => $rcBody, 'altbody' => $rcAltBody));
         $this->sub_mail_receiver = $recData;
         $this->letheSender();
         if ($this->sendPos) {
             /* Update Interval */
             $intDate = date('Y-m-d H:i:s', strtotime(date('Y-m-d H:i:s') . "+2 minutes"));
             # Next submmission will execute 2 min later
             $myconn->query("UPDATE " . db_table_pref . "subscribers SET subscriber_verify_sent_interval='" . $intDate . "' WHERE ID=" . $this->SUBID . "") or die(mysqli_error($myconn));
             $opTemp->free();
             return true;
         } else {
             $opTemp->free();
             return false;
         }
     }
     $opTemp->free();
     return false;
 }