הורדת קובץ csv של רשימת התפוצה

011371
הודעות: 997
הצטרף: 23:33 07/12/2017

הורדת קובץ csv של רשימת התפוצה

שליחהעל ידי 011371 » 12:43 11/04/2018

להלן הקוד לטופס שמוביל להורדת קובץ רשימת תפוצה
הקובץ שיורד מתקבל בפורמט csv שנפתח כאקסל רגיל
מצורף גם בקובץ
add.csv.php.zip
(2.67 KiB) הורד 196 פעמים
או בגירסה חדשה כולל קידוד הקובץ לעברית תקינה
add.csv.php2.zip
(2.75 KiB) הורד 187 פעמים

ניתן להשתמש בו בקישור הבא : באדיבות @המוקד החרדי

להלן הקוד

קוד: בחירת הכל

<!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 ;
}
}

}

?>
בהצלחה!!!
נערך לאחרונה על ידי 011371 ב 13:21 12/04/2018, נערך 3 פעמים בסך הכל.

המוקד החרדי
הודעות: 105
הצטרף: 15:35 02/06/2017

Re: הורדת קובץ csv של רשימת התפוצה

שליחהעל ידי המוקד החרדי » 13:27 11/04/2018

להלן הקוד לטופס שמוביל להורדת קובץ רשימת תפוצה
הקובץ שיורד מתקבל בפורמט csv שנפתח כאקסל רגיל
מצורף גם בקובץ
add.csv.php.zip
אולי אחד מהצדיקים @אהבת ישראל @המוקד החרדי
או מישהו אחר שיש לו שרת יניח אצלו את הקובץ ויפרסם את הלינק לטובת כולם

להלן הקוד

קוד: בחירת הכל

<!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 /> פותח על ידי "011317" , אימייל pituach@011371.anyalias.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'] =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 = "תבנית ".$templateId. " ".$template_name.".csv";//שם הקובץ שייוצר


if( ! is_dir( 'csv' ) ){ mkdir( 'csv' ); }//יצירת התיקייה אם עדיין לא נוצרה
$handle = fopen("csv/".$filename, "w");//יצירת הקובץ


fwrite($handle, "מזהה רשומה,מספר סידורי,מספר טלפון,מצב,שם,מידע נוסף"."\n");//כתיבת שורת הכותרת

foreach( $Entries as $Entri )

{
$Entri['blocked']==1? $Entri['blocked']='חסום' : $Entri['blocked']='פעיל' ;
$Entri = implode( "," , $Entri );//הפיכת המערך לרשומה מופרדת בפסיקים
fwrite($handle,$Entri."\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 ;
}
}

}

?>
בהצלחה רבה
כישרוני!
מאד יפה!

להורדת רשימת תפוצה כקובץ אקסל לחץ כאן

נ.ב. '@011371' האם ידוע לך אפשרות לעלות קובץ שמע לשלוחה מסוימת, כמו שביקש '@AG הפקות' כאן?

011371
הודעות: 997
הצטרף: 23:33 07/12/2017

Re: הורדת קובץ csv של רשימת התפוצה

שליחהעל ידי 011371 » 14:03 11/04/2018

כן ,
העיקרון דומה למה שפירסמתי בעבר לגבי העלאת קבצי ext.ini שמשמש את המערכת של אהבת ישראל

רק צריך לשנות שתי שורות בקטע הבא

קוד: בחירת הכל

// יצירת הקובץ

$File = new oFile('ext.ini', 'text/plain',
file_get_contents(/* שם הקובץ או נתיבו */) );

$body = array
(
'path' => $path,
'convertAudio' => 1 ,
'fileUpload' => $File
);

המוקד החרדי
הודעות: 105
הצטרף: 15:35 02/06/2017

Re: הורדת קובץ csv של רשימת התפוצה

שליחהעל ידי המוקד החרדי » 15:22 11/04/2018

כן ,
העיקרון דומה למה שפירסמתי בעבר לגבי העלאת קבצי ext.ini שמשמש את המערכת של אהבת ישראל

רק צריך לשנות שתי שורות בקטע הבא

קוד: בחירת הכל

// יצירת הקובץ

$File = new oFile('ext.ini', 'text/plain',
file_get_contents(/* שם הקובץ או נתיבו */) );

$body = array
(
'path' => $path,
'convertAudio' => 1 ,
'fileUpload' => $File
);
לא כל כך הבנתי...

תוכל לתת דוגמה קטנה?

תודה

011371
הודעות: 997
הצטרף: 23:33 07/12/2017

Re: הורדת קובץ csv של רשימת התפוצה

שליחהעל ידי 011371 » 15:51 11/04/2018

כן ,
העיקרון דומה למה שפירסמתי בעבר לגבי העלאת קבצי ext.ini שמשמש את המערכת של אהבת ישראל

רק צריך לשנות שתי שורות בקטע הבא

קוד: בחירת הכל

// יצירת הקובץ

$File = new oFile('ext.ini', 'text/plain',
file_get_contents(/* שם הקובץ או נתיבו */) );

$body = array
(
'path' => $path,
'convertAudio' => 1 ,
'fileUpload' => $File
);
לא כל כך הבנתי...

תוכל לתת דוגמה קטנה?

תודה
נניח שאתה רוצה לפרסם דוגמא לקריינות שלך לשימוש חופשי
הכנת קובץ בשם M1000.mp3 שנמצא בשרת שלך בתוך תיקיית files שבתוך התיקייה בה יושב הקוד שלנו
הקוד הבא יאפשר לכל מחייג להקיש את מספר המערכת והסיסמא שלו וכתובת השלוחה אליה הוא רוצה להעלות את קובץ התפריט הנ"ל וזה יעלה

קוד: בחירת הכל

<?php



/*
העלאת קובץ מוגדר מראש
לשלוחה לפי בחירת המשתמש
*/


$hangup = $_GET['hangup'];//ניתוק השיחה
if($hangup) {exit; }


//מספר מערכת וסיסמא
$DID=ReadFromYemot('DID', 't-אנא הַקישו את מספר המערכת שלכם וסולמית לסיום.', ",yes,10,9,7");
$PASS=ReadFromYemot('PASS', 't-אנא הַקישו את סיסמת המערכת שלכם וסולמית לסיום.', ",yes,,1,7");

//נתיב השלוחה אותה רוצים להגדיר
$path=ReadFromYemot('PATH','t-אנא הַקישו את כתובת השלוחה אליה אתם רוצים להעלות את הקובץ וסולמית לסיום , להגדרת השלוחה הראשית הקישו סולמית , לתיקיות פנימיות יש להקיש את כתובת השלוחה המלאה, כאשר בין שלוחה לשלוחה יש להקיש כוכבית.'
, ",,,1,7,Alpha,,,*/,,,Ok,ivr,");

$filename="files/M1000.mp3";//שם ומיקום הקובץ בשרת שלכם

/*================יצירת אובייקט(מופע) חדש====================*/

$con = new connecting_to_yemot_api($DID, $PASS);

/*===============================================================*/


if($path=='ivr'){$path="ivr/M1000.wav";}
else {$path="ivr/$path/M1000.wav";}

/*===============================================================*/



/*================העלאת קובץ====================*/


// יצירת הקובץ
$File = new oFile('ext.ini', 'text/plain', file_get_contents($filename));

$body = array
(
'path' => $path,
'convertAudio' => 1,
'fileUpload' => $File
);

$a = $con -> connecting('UploadFile', $body);

if($a -> responseStatus == OK ) {print "id_list_message=t-הקובץ הועלה בהצלחה&";}

/*===============================================================*/




function ReadFromYemot($var, $message, $read=",,1,1,7,No,")
{if ($_GET[$var]) { return $_GET[$var] ;}else{
print "read=$message=$var$read"; exit; }

}
//המחלקה של "מאזין נלהב"

class BodyPost
{
// part "multipart/form-data"
public static function PartPost($name, $val)
{
$body = 'Content-Disposition: form-data; name="' . $name . '"';
// check instance of oFile
if($val instanceof oFile)
{
$file = $val->Name();
$mime = $val->Mime();
$cont = $val->Content();

$body .= '; filename="' . $file . '"' . "\r\n";
$body .= 'Content-Type: ' . $mime ."\r\n\r\n";
$body .= $cont."\r\n";
} else $body .= "\r\n\r\n".$val."\r\n";
return $body;
}

public static function Get(array $post, $delimiter = '-------------0123456789')
{
if(is_array($post) && !empty($post))
{
$bool = true;
//foreach($post as $val) if($val instanceof oFile) {$bool = true; break; };
if($bool)
{
$ret = '';
foreach($post as $name=>$val)
$ret .= '--' . $delimiter. "\r\n". self::PartPost($name, $val);
$ret .= "--" . $delimiter . "--\r\n";
} else $ret = http_build_query($post);
} else throw new \Exception('Error input param!');
return $ret;
}
}

class oFile
{
private $name;
private $mime;
private $content;

public function __construct($name, $mime=null, $content=null)
{
if(is_null($content))
{
$info = pathinfo($name);
// check is exist and readable file
if(!empty($info['basename']) && is_readable($name))
{
$this->name = $info['basename'];
// get MIME
$this->mime = mime_content_type($name);
// load file
$content = file_get_contents($name);
if($content!==false)
{
$this->content = $content;
}
else
{
throw new Exception('Don`t get content - "'.$name.'"');
}
}
else
{
throw new Exception('Error param');
}
}
else
{
$this->name = $name;
if(is_null($mime)) $mime = mime_content_type($name);
$this->mime = $mime;
$this->content = $content;
};
}

public function Name() { return $this->name; }

public function Mime() { return $this->mime; }

public function Content() { return $this->content; }

}

class connecting_to_yemot_api
{
public $token;

const URL = 'https://www.call2all.co.il/ym/api/';

public function __construct($user_name, $password)
{
$body = array('username' => $user_name, 'password' => $password);

$body = http_build_query($body);

$opts = array('http' => array(

'method' => 'POST',

'header' => "Content-Type: application/x-www-form-urlencoded",

'content' => $body,

'follow_location' => false) );

$context = stream_context_create($opts);

$url = self::URL.'Login';

$result = file_get_contents($url, FALSE, $context);

$result = json_decode($result);

if($result -> responseStatus == 'OK')
{
$this -> token = $result -> token;

return TRUE;
}
else
{
throw new Exception('שם המשתמש או הסיסמא של המערכת שגויים');
}
}

public function __destruct()
{
$this -> connecting('Logout');
}

public function connecting($action, $body = array())
{
$delimiter = '----'.uniqid();

$body['token'] = $this -> token;

$body = BodyPost::Get($body, $delimiter);

$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-Type: multipart/form-data; boundary='.$delimiter,
'content' => $body,
'follow_location' => false
)
);
$context = stream_context_create($opts);

$url = self::URL.$action;

$result = file_get_contents($url, FALSE, $context);

$headers = $this -> parseHeaders($http_response_header);

if($headers['Content-Type'][0] == 'application/json')
{
return json_decode($result);
}
else
{
return $result;
}
}

private function parseHeaders($headers)
{
// פונקציה שמקבלת מערך של שורות הכותרות
// הפונקציה מפרקת את קבצי הקוקי לתת-מערך נפרד


// מערך הכותרות
$head = array();

foreach( $headers as $k=>$v )
{
$t = explode( ':', $v, 2 );

if( isset( $t[1] ) )
{
if($t[0] == 'Set-Cookie')
{
$CookiesArr = array();

$cookies = explode( ';', $t[1]);

foreach($cookies as $cookie)
{
$c = explode( '=', $cookie);

if( isset( $c[1] ) )
{
$CookiesArr[ trim($c[0]) ] = trim( $c[1] );
}
else
{
$CookiesArr[] = trim( $c[0] );
}
}

$head[ trim($t[0]) ] = $CookiesArr;
}
elseif($t[0] == 'Content-Type')
{
$arr = array();

$children = explode( ';', $t[1]);

foreach($children as $child)
{
$c = explode( '=', $child);

if( isset( $c[1] ) )
{
$arr[ trim($c[0]) ] = trim( $c[1] );
}
else
{
$arr[] = trim( $c[0] );
}
}

$head[ trim($t[0]) ] = $arr;
}
else
{
$head[ trim($t[0]) ] = trim( $t[1] );
}
}
else
{
$head[] = $v;
if( preg_match( "#HTTP/[0-9\.]+\s+([0-9]+)#",$v, $out ) )
{
$head['reponse_code'] = intval($out[1]);
}
}
}
return $head;
}
}


?>
מצורף כקובץ
files_yemot.php.zip
(2.75 KiB) הורד 202 פעמים
לא הספקתי לבדוק אם זה אכן עובד
אם יש בעיה תעדכן

המוקד החרדי
הודעות: 105
הצטרף: 15:35 02/06/2017

Re: הורדת קובץ csv של רשימת התפוצה

שליחהעל ידי המוקד החרדי » 16:08 11/04/2018


לא הספקתי לבדוק אם זה אכן עובד
אם יש בעיה תעדכן
עובד מצוין!

יישר כח!

BY6199
הודעות: 1635
הצטרף: 13:11 08/01/2017

Re: הורדת קובץ csv של רשימת התפוצה

שליחהעל ידי BY6199 » 23:11 11/04/2018

להלן הקוד לטופס שמוביל להורדת קובץ רשימת תפוצה

ניתן להשתמש בו בקישור הבא : באדיבות @המוקד החרדי

מופיע בג'יבריש תגדיר קידוד

011371
הודעות: 997
הצטרף: 23:33 07/12/2017

Re: הורדת קובץ csv של רשימת התפוצה

שליחהעל ידי 011371 » 23:17 11/04/2018

להלן הקוד לטופס שמוביל להורדת קובץ רשימת תפוצה

ניתן להשתמש בו בקישור הבא : באדיבות @המוקד החרדי

מופיע בג'יבריש תגדיר קידוד
מה מופיע בג'יבריש?

הטופס או הקובץ?

בטופס מוגדר קידוד כפי שניתן לראות בשורה

קוד: בחירת הכל

<meta http-equiv="content-type" content="text/html;charset=utf-8" />

BY6199
הודעות: 1635
הצטרף: 13:11 08/01/2017

Re: הורדת קובץ csv של רשימת התפוצה

שליחהעל ידי BY6199 » 23:21 11/04/2018

להלן הקוד לטופס שמוביל להורדת קובץ רשימת תפוצה

ניתן להשתמש בו בקישור הבא : באדיבות @המוקד החרדי

מופיע בג'יבריש תגדיר קידוד
מה מופיע בג'יבריש?

הטופס או הקובץ?

בטופס מוגדר קידוד כפי שניתן לראות בשורה

קוד: בחירת הכל

<meta http-equiv="content-type" content="text/html;charset=utf-8" />
מדבר על הטופס

011371
הודעות: 997
הצטרף: 23:33 07/12/2017

Re: הורדת קובץ csv של רשימת התפוצה

שליחהעל ידי 011371 » 23:41 11/04/2018

מה מופיע בג'יבריש?

הטופס או הקובץ?

בטופס מוגדר קידוד כפי שניתן לראות בשורה

קוד: בחירת הכל

<meta http-equiv="content-type" content="text/html;charset=utf-8" />
מדבר על הטופס
בדפדפן שלי זה נצפה מצוין בעברית


חזור אל “פורום מפתחים API”

מי מחובר

משתמש הגולש בפורום זה: אין משתמשים רשומים | 1 אורח