Hallo Forum,
bitte nicht gleich erschlagen...
Ich hab nicht soviel Plan von PHP aber bewege mich gerade auf einem Terrain, der mir einfach zu hoch ist. Ich weiss.....ich muss erstmal die Grundlagen lernen. Ich bin dabei....
Ich habe ein gekauftes Script aus und die Fa. hat sich nicht wirklich einen guten Namen gemacht im Netz. Nichts desto trotz. Habe schon viele Probleme behoben und auch schon sehr viel bearbeitet.
Seit 4 Monaten!!! arbeite ich nun an einer automatischen Generierung von Verträgen. Habe jetzt gedacht ich wäre in den Endzügen jedoch habe ich ein Problem entdeckt der mir nicht aufgefallen war und mir jetzt Kopfschmerzen macht. Ich versuche viel zu erklären, damit ich nur die notwendigen Code hier reinkopiere.
So sieht die Seite aus um die es geht.
Hier kann jeder seine Einkäufe sehen, Rechnung runterladen(generiert mit mPDF) und jetzt soll der Vertrag auch noch dazu kommen(auch mit mPDF).
Der Link wird in der Methode definiert die für die Anzeige der Seite zuständig ist :
LINK für VERTRAG: aufgerufen nach music_order_id
LINK FÜR RECHNUNG aufgerufen nach music_id
So sieht der Code für den Vertrag aus:
Nun wird das ganze in der PHP folgendermaßen aufgerufen und somit komm ich zu meinem Problem:
An der Stelle wo der Vertrag aufgerufen wird, stimmt die Zuordnung nicht und die Anzeige zeigt nicht die richtigen Daten zu dem gekauften Beat an, da die Bestellnummer mehrere Beats betreffen kann.
Als erstes habe ich den Link geändert, damit der zu jedem Beat einmalig ist. die music_id in kombination mit music_order_id ist ja einmalig.
Ab hier gehts nicht mehr weiter. Ich weiß nicht wie ich die beiden Variablen nun in die Methode packen und aufrufen soll, alle meine Versuche sind gescheitert. Die Methode soll ja nun genau die music_order_id und die music_id abfragen und für die betroffene Reihe den Vertrag öffnen.
Ich hoffe ich konnte das alles genau erklären.
bitte nicht gleich erschlagen...
Ich hab nicht soviel Plan von PHP aber bewege mich gerade auf einem Terrain, der mir einfach zu hoch ist. Ich weiss.....ich muss erstmal die Grundlagen lernen. Ich bin dabei....
Ich habe ein gekauftes Script aus und die Fa. hat sich nicht wirklich einen guten Namen gemacht im Netz. Nichts desto trotz. Habe schon viele Probleme behoben und auch schon sehr viel bearbeitet.
Seit 4 Monaten!!! arbeite ich nun an einer automatischen Generierung von Verträgen. Habe jetzt gedacht ich wäre in den Endzügen jedoch habe ich ein Problem entdeckt der mir nicht aufgefallen war und mir jetzt Kopfschmerzen macht. Ich versuche viel zu erklären, damit ich nur die notwendigen Code hier reinkopiere.
So sieht die Seite aus um die es geht.
Hier kann jeder seine Einkäufe sehen, Rechnung runterladen(generiert mit mPDF) und jetzt soll der Vertrag auch noch dazu kommen(auch mit mPDF).
Der Link wird in der Methode definiert die für die Anzeige der Seite zuständig ist :
LINK für VERTRAG: aufgerufen nach music_order_id
PHP-Code:
$showMusiclists_arr['row'][$inc]['light_window_url_1'] = $this->CFG['site']['music_url'].'members/listenerTransactionList.php?music_order_id='.$row['music_order_id'].'&light_window=1';
PHP-Code:
$showMusiclists_arr['row'][$inc]['light_window_url'] = $this->CFG['site']['music_url'].'members/listenerTransactionList.php?music_id='.$row['music_id'].'&light_window=1';
So sieht der Code für den Vertrag aus:
PHP-Code:
public function displayContractDetailsList($music_order_id='')
{
global $LANG_LIST_ARR;
global $smartyObj;
$displayDetails_arr = array();
$sql = 'SELECT einige abfragen FROM '.
$this->CFG['db']['tbl']['mXXX'].' AS m LEFT JOIN '.
$this->CFG['db']['tbl']['mXXX'].' as mp ON mp.music_id=m.music_id LEFT JOIN '.
$this->CFG['db']['tbl']['uXXX'].' AS u ON mp.user_id = u.user_id LEFT JOIN '.
$this->CFG['db']['tbl']['mXXX'].' AS mca ON mca.user_id = mp.owner_id '.
' WHERE mp.user_id = '.$this->CFG['user']['user_id'].' AND mp.music_order_id = '.$this->dbObj->Param('music_order_id').
' GROUP BY mp.music_order_id ';
$stmt = $this->dbObj->Prepare($sql);
$rs = $this->dbObj->Execute($stmt, array($music_order_id));
if (!$rs)
trigger_error($this->dbObj->ErrorNo().' '.
$this->dbObj->ErrorMsg(), E_USER_ERROR);
$displayDetails_arr['record_count'] = false;
if($row = $rs->FetchRow())
{
$displayDetails_arr['record_count'] = true;
$displayDetails_arr['music'] = true;
$mpdf = new mPDF();
$mpdf->useOnlyCoreFonts = true; // false is default
$mpdf->SetProtection(array('print'));
$mpdf->SetTitle("Nutzungsvertrag");
$mpdf->SetAuthor("www.youbeats.net");
$mpdf->SetCreator('Nutzungsvertrag / Contract');
$mpdf->SetWatermarkText("www.youbeats.net");
$mpdf->showWatermarkText = true;
$mpdf->watermark_font = 'DejaVuSansCondensed';
$mpdf->watermarkTextAlpha = 0.025;
$mpdf->SetDisplayMode('fullpage');
$name = 'Vertrag zu '.$row['music_order_id'].'_'.$row['music_title'].'_'.$row['seller_name']. " www.youbeats.net".".pdf";
$html = '
VERTRAGS HTML // wird auch alles angezeigt und bearbeitet
';
$mpdf->WriteHTML($html);
$mpdf->Output($name,'I');
$path = '/var/www/vhosts/XXX';
$mpdf->Output($path.$name,'F');
exit;
}
$smartyObj->assign('displayDetails_arr', $displayDetails_arr);
}
PHP-Code:
if ($transactiondetails->isShowPageBlock('songlist_block'))
{
$transactiondetails->sanitizeFormInputs($_REQUEST);
$transactiondetails->isShowPageBlock('displaysonglist_block');
if($transactiondetails->getFormField('music_album_id'))
{
$transactiondetails->displayAlbumDetailsList($transactiondetails->getFormField('music_album_id'));
}
else if($transactiondetails->getFormField('music_id')) //<-- hiermit wird die rechnung aufgerufen
{
$transactiondetails->displayMusicDetailsList($transactiondetails->getFormField('music_id'));
}
else if($transactiondetails->getFormField('music_order_id')) //<-- hiermit wird Vertrag aufgerufen
{
$transactiondetails->displayContractDetailsList($transactiondetails->getFormField('music_order_id'));
}
setTemplateFolder('general/', 'music');
$smartyObj->display('listenerInvoice.tpl');
$transactiondetails->includeFooter();
exit;
}
An der Stelle wo der Vertrag aufgerufen wird, stimmt die Zuordnung nicht und die Anzeige zeigt nicht die richtigen Daten zu dem gekauften Beat an, da die Bestellnummer mehrere Beats betreffen kann.
Als erstes habe ich den Link geändert, damit der zu jedem Beat einmalig ist. die music_id in kombination mit music_order_id ist ja einmalig.
PHP-Code:
$showMusiclists_arr['row'][$inc]['light_window_url_1'] = $this->CFG['site']['music_url'].'members/listenerTransactionList.php?'.$row['music_order_id'].'&'.$row['music_id'].'&light_window=1';
Ich hoffe ich konnte das alles genau erklären.
Kommentar