| Current Path : /var/www/html/administrator/components/com_jssupportticket/include/classes/ |
| Current File : /var/www/html/administrator/components/com_jssupportticket/include/classes/customfields.php |
<?php
/**
* @Copyright Copyright (C) 2015 ... Ahmad Bilal
* @license GNU/GPL http://www.gnu.org/copyleft/gpl.html
* Company: Buruj Solutions
+ Contact: www.burujsolutions.com , info@burujsolutions.com
* Created on: May 22, 2015
^
+ Project: JS Tickets
^
*/
defined('_JEXEC') or die('Not Allowed');
class customfields {
function formCustomFields($field , $obj_id, $obj_params , $isadmin ) { // $obj_id, $obj_params
if($field->isuserfield != 1){
return false;
}
$html = '';
$flag = false;
if($isadmin){
$div1 = 'js-form-wrapper';
$div2 = 'js-title';
$div3 = 'js-value';
}else{
if($field->size == 100){
$div1 = 'js-form-wrapper fullwidth';
$div2 = 'js-form-title';
$div3 = 'js-form-value';
}elseif($field->size == 50){
$div1 = 'js-form-wrapper';
$div2 = 'js-form-title';
$div3 = 'js-form-value';
}
}
$required = $field->required;
$showlabelforterm = false;
if($field->userfieldtype == 'termsandconditions'){
if (isset($obj_id) && is_numeric($obj_id) || $isadmin) {
return false;
}
$required = 1;
$showlabelforterm = true;
}
$cssclass = "";
$class = "";
$margin_bottom = "";
$add_margin_bottom = "";
$html .= '<div class="' . $div1 . '">
<div class="' . $div2 . '">';
if ($required == 1) {
if($showlabelforterm){
$html .= '<label for="' . $field->field . '" id="foruf_checkbox1">';
}
$html .= JText::_($field->fieldtitle) . '<font color="red">*</font>';
if($showlabelforterm){
$html .= '</label>';
}
if ($field->userfieldtype == 'email')
$cssclass = "required validate-email";
else
$cssclass = "required";
}else {
$html .= JText::_($field->fieldtitle);
if ($field->userfieldtype == 'email')
$cssclass = "email";
else
$cssclass = "";
}
$html .= ' </div>
<div class="' . $div3 . '">';
//$maxlength = $field->maxlength ? "'maxlength' => '" . $field->maxlength : "";
$fvalue = "";
$value = "";
$userdataid = "";
if (isset($obj_id)) {
$userfielddataarray = json_decode($obj_params);
$uffield = $field->field;
if (isset($userfielddataarray->$uffield) || !empty($userfielddataarray->$uffield)) {
$value = $userfielddataarray->$uffield;
} else {
$value = '';
}
}
if (isset($obj_params)) {
$userfielddataarray = json_decode($obj_params);
$uffield = $field->field;
if (isset($userfielddataarray->$uffield) || !empty($userfielddataarray->$uffield)) {
$value = $userfielddataarray->$uffield;
} else {
$value = '';
}
}
switch ($field->userfieldtype) {
case 'text':
case 'email':
$html .= $this->text($field->field, $value, array('class' => "inputbox js-form-input-field one $cssclass", 'data-validation' => $cssclass, 'size' => $field->size, 'maxlength' => $field->maxlength));
break;
case 'date':
$dash = '-';
$dateformat = JSSupportTicketModel::getJSModel('config')->getConfigurationByName("date_format");
$firstdash = strpos($dateformat, $dash, 0);
$firstvalue = substr($dateformat, 0, $firstdash);
$firstdash = $firstdash + 1;
$seconddash = strpos($dateformat, $dash, $firstdash);
$secondvalue = substr($dateformat, $firstdash, $seconddash - $firstdash);
$seconddash = $seconddash + 1;
$thirdvalue = substr($dateformat, $seconddash, strlen($dateformat) - $seconddash);
$js_dateformat = '%' . $firstvalue . $dash . '%' . $secondvalue . $dash . '%' . $thirdvalue;
$html .= JHTML::_('calendar', $value, $field->field, $field->field,$js_dateformat, array('class' => 'inputbox js-ticket-calender $cssclass', 'size' => '10', 'maxlength' => '19'));
break;
case 'textarea':
$html .= $this->textarea($field->field, $value, array('class' => "inputbox one js-ticket-textarea $cssclass", 'data-validation' => $cssclass, 'rows' => $field->rows, 'cols' => $field->cols));
break;
case 'checkbox':
if (!empty($field->userfieldparams)) {
$comboOptions = array();
$obj_option = json_decode($field->userfieldparams);
$total_option = count($obj_option);
$i = 0;
$valuearray = explode(', ',$value);
$html .= '<div class="js-ticket-signature-radio-box-wrp">';
foreach ($obj_option AS $option) {
$check = '';
if(is_array($valuearray) && in_array($option, $valuearray)){
$check = 'checked';
}else if($option == $valuearray){
$check = 'checked';
}
if($field->size == 50){
if($total_option > 2)
{
$add_margin_bottom = 'js-ticket-margin-bottom';
}
}
$html .= '<div class="js-ticket-signature-radio-box js-ticket-white-background '.$add_margin_bottom.' ">';
$html .= '<input type="checkbox" ' . $check . ' class="radiobutton js-ticket-append-radio-btn" value="' . $option . '" id="' . $field->field . '_' . $i . '" name="' . $field->field . '[]">';
$html .= '<label for="' . $field->field . '_' . $i . '" id="foruf_checkbox1">' . $option . '</label>';
$html .= '</div>';
$i++;
}
$html .= '</div>';
} else {
$comboOptions = array('1' => $field->fieldtitle);
$html .= $this->checkbox($field->field, $comboOptions, $value, array('class' => 'radiobutton js-ticket-append-radio-btn'));
}
break;
case 'radio':
$comboOptions = array();
if (!empty($field->userfieldparams)) {
$obj_option = json_decode($field->userfieldparams);
$i = 0;
$jsFunction = '';
if ($field->depandant_field != null) {
$jsFunction = "getDataForDepandantField('" . $field->field . "','" . $field->depandant_field . "',2,'". JSession::getFormToken() ."');";
}
$valuearray = explode(', ',$value);
$html .= '<div class="js-ticket-signature-radio-box-wrp">';
foreach ($obj_option AS $option) {
$check = '';
if(in_array($option, $valuearray)){
$check = 'checked';
}
$html .= '<div class="js-ticket-radio-box js-ticket-white-background">';
$html .= '<input type="radio" ' . $check . ' class="radiobutton js-ticket-radio-btn $cssclass" value="' . $option . '" id="' . $field->field . '_' . $i . '" name="' . $field->field . '" data-validation ="'.$cssclass.'" onclick = "'.$jsFunction.'"> ';
$html .= '<label for="' . $field->field . '_' . $i . '" id="foruf_checkbox1">' . $option . '</label>';
$html .= '</div>';
$i++;
}
$html .= '</div>';
}
break;
case 'combo':
$comboOptions = array();
if (!empty($field->userfieldparams)) {
$obj_option = json_decode($field->userfieldparams);
foreach ($obj_option as $opt) {
$comboOptions[] = (object) array('id' => $opt, 'text' => $opt);
}
}
//code for handling dependent field
$jsFunction = '';
if ($field->depandant_field != null) {
$jsFunction = "getDataForDepandantField('" . $field->field . "','" . $field->depandant_field . "',1,'". JSession::getFormToken() ."');";
}
//end
$class = 'js-ticket-halfwidth-select';
if($field->size == 100){
$class = 'js-ticket-fullwidth-select';
}
$html .= $this->select($field->field, $comboOptions, $value, JText::_('Select') . ' ' . $field->fieldtitle, array('data-validation' => $cssclass, 'onchange' => $jsFunction, 'class' => "inputbox js-form-select-field one $cssclass $class"));
break;
case 'depandant_field':
$comboOptions = array();
if ($value != null) {
if (!empty($field->userfieldparams)) {
$obj_option = $this->getDataForDepandantFieldByParentField($field->field, $userfielddataarray);
foreach ($obj_option as $opt) {
$comboOptions[] = (object) array('id' => $opt, 'text' => $opt);
}
}
}
//code for handling dependent field
$jsFunction = '';
if ($field->depandant_field != null) {
$jsFunction = "getDataForDepandantField('" . $field->field . "','" . $field->depandant_field . "',1,'". JSession::getFormToken() ."');";
}
//end
$class = 'js-ticket-halfwidth-select';
if($field->size == 100){
$class = 'js-ticket-fullwidth-select';
}
$html .= $this->select($field->field, $comboOptions, $value, JText::_('Select') . ' ' . $field->fieldtitle, array('data-validation' => $cssclass, 'onchange' => $jsFunction, 'class' => "inputbox js-form-select-field one $cssclass $class"));
break;
case 'multiple':
$comboOptions = array();
if (!empty($field->userfieldparams)) {
$obj_option = json_decode($field->userfieldparams);
foreach ($obj_option as $opt) {
$comboOptions[] = (object) array('id' => $opt, 'text' => $opt);
}
}
$array = $field->field;
$array .= '[]';
$valuearray = explode(', ', $value);
$class = 'js-ticket-halfwidth-select';
if($field->size == 100){
$class = 'js-ticket-fullwidth-select';
}
$html .= $this->select($array, $comboOptions, $valuearray, JText::_('Select') . ' ' . $field->fieldtitle, array('data-validation' => $cssclass, 'multiple' => 'multiple', 'class' => "inputbox js-form-select-field js-form-multi-select-field one $cssclass $class"));
break;
case 'file':
$html .= '<span class="js-attachment-file-box js-attachment-custom-file-box">';
$html .= '<input type="file" name="'.$field->field.'" class="'.$cssclass.'" id="'.$field->field.'"/>';
$fileext = JSSupportTicketModel::getJSModel('config')->getConfigurationByName('fileextension');
$html .= '</span>';
$html .= '<span id="js_cust_file_ext">'.JText::_('Files').' ('.$fileext.')</span>';
if($value != null){
$html .= $this->hidden($field->field.'_1', 0);
$html .= $this->hidden($field->field.'_2',$value);
$jsFunction = "deleteCutomUploadedFile('".$field->field."_1')";
if(JFactory::getApplication()->isClient('administrator')){
$html .='<span class='.$field->field.'_1>'.$value.'( ';
$html .= "<a href='#' onClick=".$jsFunction." >". JText::_('Delete')."</a>";
$html .= ' )</span>';
}
}
break;
case 'termsandconditions':
if (isset($obj_id) && !is_numeric($obj_id)) {
break;
}
if (!empty($field->userfieldparams)) {
$obj_option = json_decode($field->userfieldparams,true);
$url = $obj_option['termsandconditions_link'];
if( isset($obj_option['termsandconditions_linktype']) && $obj_option['termsandconditions_linktype'] == 2){
// $url = get_permalink($obj_option['termsandconditions_page']);
$url = JRoute::_('index.php?option=com_content&view=article&id='.$obj_option['termsandconditions_page'].'&Itemid=');
}
$link_start = '<a href="' . $url . '" class="termsandconditions_link_anchor" target="_blank" >';
$link_end = '</a>';
if(strstr($obj_option['termsandconditions_text'], '[link]') && strstr($obj_option['termsandconditions_text'], '[/link]')){
$label_string = str_replace('[link]', $link_start, $obj_option['termsandconditions_text']);
$label_string = str_replace('[/link]', $link_end, $label_string);
}else{
$label_string = $obj_option['termsandconditions_text'].' '.$link_start.$field->fieldtitle.$link_end;
}
$c_field_required = '';
if($field->required == 1){
$c_field_required = 'required';
}
// ticket terms and conditonions are required.
if($field->fieldfor == 1){
$c_field_required = 'required';
}
$html .= '<div class="js-ticket-custom-terms-and-condition-box jsst-formfield-radio-button-wrap">';
$html .= '<input type="checkbox" class="radiobutton js-ticket-append-radio-btn" value="1" id="' . $field->field . '" name="' . $field->field . '" required="'.$c_field_required.'" data-validation="'.$c_field_required.'">';
$html .= '<label for="' . $field->field . '" id="foruf_checkbox1">' . $label_string . '</label>';
$html .= '</div>';
}
break;
}
$html .= ' </div></div>';
echo $html;
}
function formCustomFieldsForSearch($field, &$col, $filter_params, $isadmin = 0) { // $filter_params
if ($field->isuserfield != 1 || $field->userfieldtype == 'termsandconditions')
return false;
$cssclass = "";
$class = "";
$margin_bottom = "";
$add_margin_bottom = "";
$html = '';
$i = $col;
$i++;
$col++;
$required = $field->required;
if($col != 2){
$html .= '</div>';
}
$html .= '<div class="js-col-md-3 js-filter-field-wrp">';
if($isadmin == 1){
$html = ''; // only field send
}
$readonly = ''; //$field->readonly ? "'readonly => 'readonly'" : "";
$maxlength = ''; //$field->maxlength ? "'maxlength' => '".$field->maxlength : "";
$fvalue = "";
$value = null;
$userdataid = "";
$userfielddataarray = array();
if (isset($filter_params)) {
$userfielddataarray = $filter_params;
$uffield = $field->field;
//had to user || oprator bcz of radio buttons
if (isset($userfielddataarray[$uffield]) || !empty($userfielddataarray[$uffield])) {
$value = $userfielddataarray[$uffield];
} else {
$value = '';
}
}
switch ($field->userfieldtype) {
case 'text':
case 'email':
case 'file':
$html .= $this->text($field->field, $value, array('class' => "inputbox one js-ticket-input-field $cssclass", 'data-validation' => $cssclass,'placeholder' =>$field->fieldtitle, 'size' => $field->size, 'maxlength' => $maxlength));
break;
case 'date':
$dash = '-';
$dateformat = JSSupportTicketModel::getJSModel('config')->getConfigurationByName("date_format");
$firstdash = strpos($dateformat, $dash, 0);
$firstvalue = substr($dateformat, 0, $firstdash);
$firstdash = $firstdash + 1;
$seconddash = strpos($dateformat, $dash, $firstdash);
$secondvalue = substr($dateformat, $firstdash, $seconddash - $firstdash);
$seconddash = $seconddash + 1;
$thirdvalue = substr($dateformat, $seconddash, strlen($dateformat) - $seconddash);
$js_dateformat = '%' . $firstvalue . $dash . '%' . $secondvalue . $dash . '%' . $thirdvalue;
$html .= JHTML::_('calendar', $value, $field->field, $field->field, $js_dateformat, array('class' => 'inputbox js-ticket-calender', 'size' => '10', 'maxlength' => '19','placeholder' =>$field->fieldtitle));
break;
case 'editor':
$html .= wp_editor(isset($value) ? $value : '', $field->field, array('media_buttons' => false, 'data-validation' => $cssclass));
break;
case 'textarea':
$html .= $this->textarea($field->field, $value, array('class' => "inputbox one js-ticket-textarea $cssclass", 'data-validation' => $cssclass, 'rows' => $field->rows, 'cols' => $field->cols, $readonly));
break;
case 'checkbox':
if (!empty($field->userfieldparams)) {
$comboOptions = array();
$obj_option = json_decode($field->userfieldparams);
$total_option = count($obj_option);
if(empty($value))
$value = array();
$html .= '<div class="js-ticket-signature-radio-box-wrp">';
foreach ($obj_option AS $option) {
if( $option == $value){
$check = 'checked="true"';
}else{
$check = '';
}
if($total_option > 3)
{
$margin_bottom = 'js-ticket-margin-bottom';
}
$html .= '<div class="js-ticket-radio-box '.$margin_bottom.' js-ticket-white-background">';
$html .= '<input type="checkbox" ' . $check . ' class="radiobutton js-ticket-radio-btn" value="' . $option . '" id="' . $field->field . '_' . $i . '" name="' . $field->field . '">';
$html .= '<label for="' . $field->field . '_' . $i . '" id="foruf_checkbox1">' . $option . '</label>';
$html .= '</div>';
$i++;
}
$html .= '</div>';
} else {
$comboOptions = array('1' => $field->fieldtitle);
$html .= $this->checkbox($field->field, $comboOptions, $value, array('class' => 'radiobutton'));
}
break;
case 'radio':
$comboOptions = array();
if (!empty($field->userfieldparams)) {
$obj_option = json_decode($field->userfieldparams);
$i = 0;
$jsFunction = '';
if ($field->depandant_field != null) {
$jsFunction = "getDataForDepandantField('" . $field->field . "','" . $field->depandant_field . "',2,'". JSession::getFormToken() ."');";
}
if(empty($value))
$value = array();
$html .= '<div class="js-ticket-signature-radio-box-wrp">';
foreach ($obj_option AS $option) {
$check = '';
if($option == $value){
$check = 'checked';
}
$html .= '<div class="js-ticket-radio-box js-ticket-white-background">';
$html .= '<input type="radio" ' . $check . ' class="radiobutton js-ticket-radio-btn $cssclass" value="' . $option . '" id="' . $field->field . '_' . $i . '" name="' . $field->field . '" data-validation ="'.$cssclass.'" onclick = "'.$jsFunction.'"> ';
$html .= '<label for="' . $field->field . '_' . $i . '" id="foruf_checkbox1">' . $option . '</label>';
$html .= '</div>';
$i++;
}
$html .= '</div>';
}
break;
case 'combo':
$comboOptions = array();
if (!empty($field->userfieldparams)) {
$obj_option = json_decode($field->userfieldparams);
foreach ($obj_option as $opt) {
$comboOptions[] = (object) array('id' => $opt, 'text' => $opt);
}
}
//code for handling dependent field
$jsFunction = '';
if ($field->depandant_field != null) {
$jsFunction = "getDataForDepandantField('" . $field->field . "','" . $field->depandant_field . "',1,'". JSession::getFormToken() ."');";
}
//end
$html .= $this->select($field->field, $comboOptions, $value, JText::_('Select') . ' ' . $field->fieldtitle, array('data-validation' => $cssclass, 'onchange' => $jsFunction, 'class' => "inputbox one js-form-select-field $cssclass"));
break;
case 'depandant_field':
$comboOptions = array();
if (!empty($field->userfieldparams)) {
$obj_option = $this->getDataForDepandantFieldByParentField($field->field, $userfielddataarray);
if (!empty($obj_option)) {
foreach ($obj_option as $opt) {
$comboOptions[] = (object) array('id' => $opt, 'text' => $opt);
}
}
}
//code for handling dependent field
$jsFunction = '';
if ($field->depandant_field != null) {
$jsFunction = "getDataForDepandantField('" . $field->field . "','" . $field->depandant_field . "',0,'". JSession::getFormToken() ."');";
}
//end
$html .= $this->select($field->field, $comboOptions, $value, JText::_('Select') . ' ' . $field->fieldtitle, array('data-validation' => $cssclass, 'onchange' => $jsFunction, 'class' => "inputbox one js-form-select-field $cssclass"));
break;
case 'multiple':
$comboOptions = array();
if (!empty($field->userfieldparams)) {
$obj_option = json_decode($field->userfieldparams);
foreach ($obj_option as $opt) {
$comboOptions[] = (object) array('id' => $opt, 'text' => $opt);
}
}
$array = $field->field;
$array .= '[]';
$html .= $this->select($array, $comboOptions, $value, JText::_('Select') . ' ' . $field->fieldtitle, array('data-validation' => $cssclass, 'multiple' => 'multiple', 'class' =>"js-form-select-field js-form-multi-select-field" ));
break;
}
if($isadmin == 1){
echo $html;
return;
}
echo $html;
}
function showCustomFields($field, $fieldfor, $params , $ticketid) { // ticketid
$html = '';
$fvalue = '';
if(!empty($params)){
$data = json_decode($params,true);
if(array_key_exists($field->field, $data)){
$fvalue = $data[$field->field];
}
}
if($fieldfor == 1){ //FrontEnd mytickets
$html = '<div class="js-col-md-12 js-wrapper js-ticket-body-data-elipses cusomfield-mg-bottom">';
if($field->userfieldtype=='file'){
$html .= '<span class="js-tk-title">' . JText::_($field->fieldtitle) . ': </span>';
if($fvalue !=null){
$path = "index.php?option=com_jssupportticket&c=ticket&task=downloadbyname&id=".$ticketid."&name=".$fvalue."&" . JSession::getFormToken() . "=1";
$html .= '
<div class="js-ticket-custom-attachment">
<div class="js-tk-value js_ticketattachment">
' . JText::_($field->fieldtitle) . ' ( ' . $fvalue . ' ) ' . '
</div>
<a class="button js-ticket-downloadbtn" target="_blank" href="' . $path . '"><img class ="js-ticket-downloadicon" src="components/com_jssupportticket/include/images/download-all.png"> ' . JText::_('Download') . '</a>
</div> ';
}
}elseif($field->userfieldtype=='date' && !empty($fvalue)){
$dateformat = JSSupportTicketModel::getJSModel('config')->getConfigurationByName("date_format");
$fvalue = JHTML::_('date',strtotime($fvalue),$dateformat);
$html .= '<span class="js-tk-title">' . JText::_($field->fieldtitle) . ': </span>';
$html .= '<span class="js-tk-value">' . $fvalue . '</span>';
}
else{
$html .= '<span class="js-tk-title">' . JText::_($field->fieldtitle) . ': </span>';
$html .= '<span class="js-tk-value">' . $fvalue . '</span>';
}
$html .= '</div>';
}elseif($fieldfor == 2){ // ticket detail front end
$html = '<div class="js-col-md-12 js-second-row-data">';
if($field->userfieldtype=='file'){
$html .= '<span class="js-second-row-title">' . $field->fieldtitle . ': </span>';
if($fvalue != null){
$path = "index.php?option=com_jssupportticket&c=ticket&task=downloadbyname&id=".$ticketid."&name=".$fvalue."&" . JSession::getFormToken() . "=1";
$html .= '
<div class="js_ticketattachment">
' . $field->fieldtitle . ' ( ' . $fvalue . ' ) ' . '
<a class="button" target="_blank" href="' . $path . '">' . JText::_('Download') . '</a>
</div>';
}
}elseif($field->userfieldtype=='date' && !empty($fvalue)){
$dateformat = JSSupportTicketModel::getJSModel('config')->getConfigurationByName("date_format");
$fvalue = JHTML::_('date',strtotime($fvalue),$dateformat);
$html .= '<span class="js-second-row-title">' . $field->fieldtitle . ': </span>
<span class="js-ticket-value">' . $fvalue . '</span>';
}
else{
$html .= '<span class="js-second-row-title">' . $field->fieldtitle . ': </span>
<span class="js-ticket-value">' . $fvalue . '</span>';
}
$html .= '</div>';
}elseif($fieldfor == 3){ // Admin ticket detail
if($field->userfieldtype=='date' && !empty($fvalue)){
$dateformat = JSSupportTicketModel::getJSModel('config')->getConfigurationByName("date_format");
$fvalue = JHTML::_('date',strtotime($fvalue),$dateformat);
}
$html = '<div class="js-tkt-det-info-data">
<span class="js-title">
' . $field->fieldtitle . ' :
</span> ';
$html .= ' <span class="js-value">' . $fvalue . '</span>
</div>';
if($field->userfieldtype=='file'){
$html = '<div class="js-tkt-det-info-data">
<div class="requester-data-inner-border">
<span class="js-title">
' . $field->fieldtitle. ' :
</span> ';
if($fvalue !=null){
$path = "index.php?option=com_jssupportticket&c=ticket&task=downloadbyname&id=".$ticketid."&name=".$fvalue."&" . JSession::getFormToken() . "=1";
$html .= '<div class="requester-data-inner-value js-col-xs-12">' . $field->fieldtitle . ' ( ' . $fvalue . ' ) ' . '<a class="button" target="_blank" href="' . $path . '">' . JText::_('Download') . '</a></div>';
}
$html .= '</div></div>';
}
}elseif($fieldfor == 4){ // admin ticket listing
$html = '<div class="js-col-md-12 js-col-xs-12 js-wrapper">';
if($field->userfieldtype=='file'){
$html .= '<span class="js-tk-title">' . JText::_($field->fieldtitle) . '<font>:</font> </span>';
if($fvalue !=null){
$path = "index.php?option=com_jssupportticket&c=ticket&task=downloadbyname&id=".$ticketid."&name=".$fvalue."&" . JSession::getFormToken() . "=1";
$html .= '
<div class="js-tk-value js_ticketattachment">
' . $field->fieldtitle . ' ( ' . $fvalue . ' ) ' . '
<a class="button" target="_blank" href="' . $path . '">' . JText::_('Download') . '</a>
</div>';
}
}elseif($field->userfieldtype=='date' && !empty($fvalue)){
$dateformat = JSSupportTicketModel::getJSModel('config')->getConfigurationByName("date_format");
$fvalue = JHTML::_('date',strtotime($fvalue),$dateformat);
$html .= '<span class="js-tk-title">' . JText::_($field->fieldtitle) . ': </span>';
$html .= '<span class="js-tk-value">' . $fvalue . '</span>';
}
else{
$html .= '<span class="js-tk-title">' . JText::_($field->fieldtitle) . ': </span>';
$html .= '<span class="js-tk-value">' . $fvalue . '</span>';
}
$html .= '</div>';
}elseif($fieldfor == 5){ // export
$returnarray = array();
$returnarray['title'] = $field->fieldtitle;
$returnarray['value'] = $fvalue;
return $returnarray;
}
return $html;
}
function userFieldsData($fieldfor, $listing = null) {
$db = JFactory::getDbo();
$user = JSSupportticketCurrentUser::getInstance();
if ($user->getIsGuest()) {
$published = ' isvisitorpublished = 1 ';
} else {
$published = ' published = 1 ';
}
$inquery = '';
if ($listing == 1) {
$inquery = ' AND showonlisting = 1 ';
}
$query = "SELECT field,fieldtitle,isuserfield,userfieldtype,userfieldparams FROM `#__js_ticket_fieldsordering` WHERE isuserfield = 1 AND " . $published . " AND fieldfor =" . $fieldfor . $inquery." ORDER BY ordering";
$db->setQuery($query);
$data = $db->loadObjectList();
return $data;
}
function userFieldsForSearch($fieldfor) {
$db = JFactory::getDbo();
$user = JSSupportticketCurrentUser::getInstance();
if ($user->getIsGuest()) {
$inquery = ' isvisitorpublished = 1 AND search_visitor =1';
} else {
$inquery = ' published = 1 AND search_user =1';
}
$query = "SELECT required,cols,size ,`rows`,field,fieldtitle,isuserfield,userfieldtype,userfieldparams,depandant_field FROM `#__js_ticket_fieldsordering` WHERE isuserfield = 1 AND " . $inquery . " AND fieldfor =" . $fieldfor ." ORDER BY ordering ";
$db->setQuery($query);
$data = $db->loadObjectList();
return $data;
}
function getDataForDepandantFieldByParentField($fieldfor, $data) {
$user = JSSupportticketCurrentUser::getInstance();
if ($user->getIsGuest()) {
$published = ' isvisitorpublished = 1 ';
} else {
$published = ' published = 1 ';
}
$db = JFactory::getDbo();
$value = '';
$returnarray = array();
$query = "SELECT field from `#__js_ticket_fieldsordering` WHERE isuserfield = 1 AND " . $published . " AND depandant_field ='" . $fieldfor . "'";
$db->setQuery($query);
$field = $db->loadResult();
if ($data != null) {
foreach ($data as $key => $val) {
if ($key == $field) {
$value = $val;
}
}
}
$query = "SELECT userfieldparams from `#__js_ticket_fieldsordering` WHERE isuserfield = 1 AND " . $published . " AND field ='" . $fieldfor . "'";
$db->setQuery($query);
$field = $db->loadResult();
$fieldarray = json_decode($field);
foreach ($fieldarray as $key => $val) {
if ($value == $key)
$returnarray = $val;
}
return $returnarray;
}
// new
private function text($name, $value, $extraattr = array()) {
$textfield = '<input type="text" name="' . $name . '" id="' . $name . '" value="' . $value . '" ';
if (!empty($extraattr))
foreach ($extraattr AS $key => $val)
$textfield .= ' ' . $key . '="' . $val . '"';
$textfield .= ' />';
return $textfield;
}
private function textarea($name, $value, $extraattr = array()) {
$textarea = '<textarea name="' . $name . '" id="' . $name . '" ';
if (!empty($extraattr))
foreach ($extraattr AS $key => $val)
$textarea .= ' ' . $key . '="' . $val . '"';
$textarea .= ' >' . $value . '</textarea>';
return $textarea;
}
private function hidden($name, $value, $extraattr = array()) {
$textfield = '<input type="hidden" name="' . $name . '" id="' . $name . '" value="' . $value . '" ';
if (!empty($extraattr))
foreach ($extraattr AS $key => $val)
$textfield .= ' ' . $key . '="' . $val . '"';
$textfield .= ' />';
return $textfield;
}
private function select($name, $list, $defaultvalue, $title = '', $extraattr = array()) {
$nameid = str_replace('[]','',$name);
$selectfield = '<select name="' . $name . '" id="' . $nameid . '" ';
if (!empty($extraattr))
foreach ($extraattr AS $key => $val) {
$selectfield .= ' ' . $key . '="' . $val . '"';
}
$selectfield .= ' >';
if ($title != '') {
$selectfield .= '<option value="">' . $title . '</option>';
}
if (!empty($list))
foreach ($list AS $record) {
if ((is_array($defaultvalue) && in_array($record->id, $defaultvalue)) || $defaultvalue == $record->id)
$selectfield .= '<option selected="selected" value="' . $record->id . '">' . JText::_($record->text,'js-support-ticket') . '</option>';
else
$selectfield .= '<option value="' . $record->id . '">' . JText::_($record->text,'js-support-ticket') . '</option>';
}
$selectfield .= '</select>';
return $selectfield;
}
private function radiobutton($name, $list, $defaultvalue, $extraattr = array()) {
$radiobutton = '';
$count = 1;
foreach ($list AS $value => $label) {
$radiobutton .= '<input type="radio" name="' . $name . '" id="' . $name . $count . '" value="' . $value . '"';
if ($defaultvalue == $value)
$radiobutton .= ' checked="checked"';
if (!empty($extraattr))
foreach ($extraattr AS $key => $val) {
$radiobutton .= ' ' . $key . '="' . $val . '"';
}
$radiobutton .= '/><label id="for' . $name . '" for="' . $name . $count . '">' . $label . '</label>';
$count++;
}
return $radiobutton;
}
private function checkbox($name, $list, $defaultvalue, $extraattr = array()) {
$checkbox = '';
$count = 1;
foreach ($list AS $value => $label) {
$checkbox .= '<input type="checkbox" name="' . $name . '" id="' . $name . $count . '" value="' . $value . '"';
if ($defaultvalue == $value)
$checkbox .= ' checked="checked"';
if (!empty($extraattr))
foreach ($extraattr AS $key => $val) {
$checkbox .= ' ' . $key . '="' . $val . '"';
}
$checkbox .= '/><label id="for' . $name . '" for="' . $name . $count . '">' . $label . '</label>';
$count++;
}
return $checkbox;
}
}
?>