הורדת קובץ csv של רשימת התפוצה
נשלח: 12:43 11/04/2018
להלן הקוד לטופס שמוביל להורדת קובץ רשימת תפוצה
הקובץ שיורד מתקבל בפורמט csv שנפתח כאקסל רגיל
מצורף גם בקובץ או בגירסה חדשה כולל קידוד הקובץ לעברית תקינה
ניתן להשתמש בו בקישור הבא : באדיבות @המוקד החרדי
להלן הקוד
בהצלחה!!!
הקובץ שיורד מתקבל בפורמט csv שנפתח כאקסל רגיל
מצורף גם בקובץ או בגירסה חדשה כולל קידוד הקובץ לעברית תקינה
ניתן להשתמש בו בקישור הבא : באדיבות @המוקד החרדי
להלן הקוד
קוד: בחירת הכל
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="he" xml:lang="he" dir="rtl">
<head>
<title>קבלת רשימת תפוצה בקובץ csv</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta http-equiv="content-language" content="he" />
</head>
<body>
בסייעתא דשמיא
<br /> טופס להורדת קובץ csv של רשימת תפוצה
<br /> פותח על ידי "סל שרותים מתקדמים" , אימייל support@salsm.com
<br /> הרשות נתונה להעתיק אך נא לשמור על הקרדיט ולא למחוק שורה זו
<?php
$DID= $_POST['DID'] ;//מערכת
$password = $_POST['PASS'] ;//סיסמא
$templateId = $_POST['templateId'];//תבנית
$template_name='';//שם התבנית
if( isset($DID) && isset($password) )
{
$token = token_yemot($DID,$password);//טוקן
}else{
$token = $_POST['token'];
}
if( ! isset(
$token ))
{
print '<FORM ACTION="" METHOD="POST" ENCTYPE="multipart/form-data">
<P>מספר מערכת: <INPUT TYPE=TEXT NAME="DID" SIZE=20 STYLE="width: 1.75in; height: 0.3in" />
</P>
<P>סיסמה: <INPUT TYPE=PASSWORD NAME="PASS" SIZE=20 STYLE="width: 1.75in; height: 0.3in" />
</P>
<P><INPUT TYPE=SUBMIT NAME="submit" VALUE="התחבר" STYLE="width: 0.74in; height: 0.37in" />
</P>
</FORM>';
}
else
{
//קבלת רשימות התפוצה
$templates = yemot_GetTemplates($token);
//print_r ($templates);
print '<FORM ACTION="" METHOD="POST" ENCTYPE="multipart/form-data">
<p><INPUT TYPE="hidden" NAME="token" VALUE="'.$token. '" />
</p>
<select id="templateId" name="templateId">';
print '<option value="" >בחר תבנית מהרשימה</option>';
foreach($templates as $template )
{
$template['description'] = mb_convert_encoding( $template['description'] ,"UTF-8"); //הגדרת קידוד עברית
$template['description'] =str_replace(
array("?" , "|" , '"' , "%" , '&' , "'" , '*' , ',' , ':' , '<' , '>' , '/' , '\\' , '{' , '}' , '~' ), "_" ,$template['description']) ;//נטרול תוים לא חוקיים משם התבנית
print '<option value="'.$template['templateId'].'" >תבנית מספר: '.$template['templateId'].' '.$template['description'].'</option>';
if ($templateId == $template['templateId'])
{$template_name = $template['description'];}
}
print '</select>
<P><INPUT TYPE=SUBMIT NAME="submit" VALUE="צור קובץ" STYLE="width: 0.74in; height: 0.37in" />
</P>
</FORM>';
if(! isset( $templateId ) or $templateId == '' )
{
print "<p>עדיין לא נבחרה רשימה</p>";
}
else
{
$Entries = yemot_GetTemplateEntries($token ,$templateId );//קבלת רשימת התפוצה
//print '<pre>';
//print_r ($Entries);
$filename = mb_convert_encoding("תבנית ".$templateId. " ".$template_name.".csv","UTF-8");//שם הקובץ שייוצר
if( ! is_dir( 'csv' ) ){ mkdir( 'csv' ); }//יצירת התיקייה אם עדיין לא נוצרה
$handle = fopen("csv/".$filename, "w");//יצירת הקובץ
fwrite($handle, mb_convert_encoding( "מזהה רשומה,מספר סידורי,מספר טלפון,מצב,שם,מידע נוסף" , "UTF-8")."\r\n");//כתיבת שורת הכותרת
foreach( $Entries as $Entri )
{
$Entri['blocked']==1? $Entri['blocked']='חסום' : $Entri['blocked']='פעיל' ;
$Entri = implode( "," , $Entri );//הפיכת המערך לרשומה מופרדת בפסיקים
fwrite($handle, mb_convert_encoding( $Entri , "UTF-8" )."\r\n");//כתיבת הרשומה לקובץ
}
fclose($handle);//סגירת הקובץ
//הדפסת קישור לקובץ שנוצר
print '<p>הקובץ: <b>'.$filename. '</b> מוכן! <a href="csv/' . $filename .'" > להורדה לחץ כאן </a></p>';
}
}
?>
</body>
</html>
<?php
//פונקציה להתחברות לימות שמחזירה את הטוקן
//הארגומנטים הנדרשים: מספר מערכת, סיסמא.
function token_yemot($DID=0 , $password=0)
{
//בדיקה האם התקבלו הארגומנטים
if ($DID==0 or $password==0)
{
echo "לא הוזן מספר מערכת או סיסמא" ;
}else{
//הכרזה על משתנה
$url_yemot="https://www.call2all.co.il/ym/api";
//הצבת הכתובת להתחברות במשתנה $url
$url= "$url_yemot/Login?username=$DID&password=$password";
//פונקציית ההתחברות, התשובה (מחרוזת json) מוחזרת למשתנה $token
$token = file_get_contents($url);
//פענוח הjson של תשובת ימות והצבתו לתוך מערך
$token = json_decode($token,TRUE);
//בדיקה האם אכן יש אישור להתחברות,
if ($token['responseStatus'] != "OK")
//אם לא
{
echo "שגיאה בקבלת הטוקן מהמערכת:";
//ואם כן…
}else{
//הצבת הטוקן לתוך המשתנה והחזרתו
$token = $token['token'];
return $token ;
}
}
}
//פונקצייה לקבלת כל התבניות הפונקציה מחזירה מערך של כל הרשימה
//הארגומנטים הנדרשים: טוקן
function yemot_GetTemplates($token=0)
{
//בדיקה האם התקבלו הארגומנטים
if ($token===0 )
{
echo "id_list_message=t-לא הוזן טוקן& ";
//אם התקבלו הארגומנטים ,ממשיך…
}else{
//הכרזה על משתנה
$url_yemot="https://www.call2all.co.il/ym/api";
//הצבת הכתובת להתחברות במשתנה $url
$url= "$url_yemot/GetTemplates?token=$token";
//print $url;
//פונקציית ההתחברות, התשובה (מחרוזת json) מוחזרת למשתנה $templates
$templates = file_get_contents($url);
//פענוח הjson של תשובת ימות והצבתו לתוך מערך
$templates = json_decode($templates,TRUE);
//בדיקה האם אכן יש אישור להתחברות,
if ($templates['responseStatus'] != "OK")
//אם לא
{
echo "שגיאה בקבלת רשימת התבניות מהמערכת ";
//ואם כן…
}else{
//הצבת הרשימה לתוך המשתנה והחזרתה כמערך
$templates = $templates['templates'];
return $templates ;
}
}
}
//פונקצייה לקבלת רשימת תפוצה מסוימת הפונקציה מחזירה מערך של כל הרשימה
//הארגומנטים הנדרשים: טוקן, מספר תבנית בימות.
function yemot_GetTemplateEntries($token=0,$templateId=0)
{
//בדיקה האם התקבלו הארגומנטים
if ($token===0 or $templateId<10000)
{
echo "לא הוזן מספר תבנית תקני בימות המשיח, ,שימו לב שמספר התבנית אינו המספר הסידורי שלו במערכת שלכם , אלא מספר מזהה פנימי בימות המשיח";
//אם התקבלו הארגומנטים ,ממשיך…
}else{
//הכרזה על משתנה
$url_yemot="https://www.call2all.co.il/ym/api";
//הצבת הכתובת להתחברות במשתנה $url
$url= "$url_yemot/GetTemplateEntries?token=$token&templateId=$templateId";
//פונקציית ההתחברות, התשובה (מחרוזת json) מוחזרת למשתנה $Entries
$Entries = file_get_contents($url);
//פענוח הjson של תשובת ימות והצבתו לתוך מערך
$Entries = json_decode($Entries,TRUE);
//בדיקה האם אכן יש אישור להתחברות,
if ($Entries['responseStatus'] != "OK")
//אם לא
{
echo "שגיאה בקבלת הרשימה מהמערכת , וודאו כי הזנתם מספר תבנית תקני, ,שימו לב שמספר התבנית אינו המספר הסידורי שלו במערכת שלכם , אלא מספר מזהה פנימי בימות המשיח";
//ואם כן…
}else{
//הצבת הרשימה לתוך המשתנה והחזרתה כמערך
$Entries = $Entries['entries'];
return $Entries ;
}
}
}
?>