public function formBody($plugstrucid, $fieldsetId, $id = NULL) { if (isset($id)) { $current_q = 'SELECT * FROM cms_content WHERE id = "' . $id . '"'; $current_r = mysql_query($current_q); $current = mysql_fetch_array($current_r); } $pstruc_q = 'SELECT * FROM cms_plugin_structure WHERE id = "' . $plugstrucid . '"'; $pstruc_r = mysql_query($pstruc_q); $pstruc = mysql_fetch_array($pstruc_r); $records_q = 'SELECT * FROM cms_records WHERE fieldsetid = "' . $fieldsetId . '" ORDER BY sortorder ASC'; $records_r = mysql_query($records_q); $x = 0; $znum = 0; $formBody = ''; while ($records = mysql_fetch_array($records_r)) { $x++; $znum++; $recordOptions = Apps::get_field_options($records['options'], $znum); $elementNameId = $pstruc['db_name'] . '_' . $records['db_name']; $formBody .= "<div class=\"rowElem" . ($x == 1 ? ' noborder' : '') . "\">\n"; $formBody .= "<label>" . $records['name'] . ($recordOptions['record_required'] == 'true' ? '* ' : '') . ": " . (!empty($records['helper']) ? '<a onclick="$.jGrowl(\'' . $records['helper'] . '\');"> <i class="fa fa-question-circle fa-1x"></i></a>' : '') . "</label>\n"; $formBody .= "<div class=\"formRight\">\n"; switch ($records['type']) { case "text": $formBody .= "<input value=\"" . $current[$records['db_name']] . "\" " . "type=\"text\" " . "name=\"" . $elementNameId . "\" " . "id=\"" . $elementNameId . "\" " . "class=\"validate[" . ($recordOptions['record_required'] == 'true' ? 'required' : 'optional') . ($recordOptions['record_email'] == 'true' ? ',custom[email]' : '') . "]\" " . "style=\"" . $recordOptions['record_styles'] . "\"/>\n"; break; case "number": $formBody .= "<input value=\"" . $current[$records['db_name']] . "\" " . "type=\"text\" name=\"" . $elementNameId . "\" " . "id=\"" . $elementNameId . "\" " . "style=\"" . $recordOptions['record_styles'] . "\" " . "class=\"validate[" . ($recordOptions['record_required'] == 'true' ? 'required' : 'optional') . ",custom[number]]\" " . "style=\"" . $recordOptions['record_styles'] . "\"/>"; break; case "email": $formBody .= "<input value=\"" . $current[$records['db_name']] . "\" " . "type=\"text\" name=\"" . $elementNameId . "\" " . "id=\"" . $elementNameId . "\" " . "style=\"" . $recordOptions['record_styles'] . "\" " . "class=\"validate[" . ($recordOptions['record_required'] == 'true' ? 'required' : 'optional') . ",custom[email]]\" " . "style=\"" . $recordOptions['record_styles'] . "\"/>\n"; break; case "html": $formBody .= "<textarea " . "class=\"tinymce validate[" . ($recordOptions['record_required'] == 'true' ? 'required' : 'optional') . "]\" " . "name=\"" . $elementNameId . "\" " . "id=\"" . $elementNameId . "\">" . stripslashes($current[$records['db_name']]) . "</textarea>\n"; break; case "textarea": $formBody .= "<textarea " . "name=\"" . $elementNameId . "\" " . "id=\"" . $elementNameId . "\" " . "rows=\"10\" " . "class=\"validate[" . ($recordOptions['record_required'] == 'true' ? 'required' : 'optional') . "]\" " . "style=\"" . $recordOptions['record_styles'] . "\">" . $current[$records['db_name']] . "</textarea>\n"; break; case "select": case "multiselect": $formBody .= "<select name=\"" . $elementNameId . ($records['type'] == 'multiselect' ? '[]' : '') . "\" " . "id=\"" . $elementNameId . ($records['type'] == 'multiselect' ? '[]' : '') . "\" " . "class=\"validate[" . ($recordOptions['record_required'] == 'true' ? 'required' : 'optional') . "]\" "; switch ($records['type']) { case 'multiselect': $formBody .= "multiple=\"multiple\" "; break; } $formBody .= "style=\"" . $recordOptions['record_styles'] . "\">"; for ($d = 0; $d < count($recordOptions['record_select_vals']); $d++) { // echo $recordOptions['record_select_vals'][$d] . '\b/',$current[$records['db_name']]; $formBody .= "\n<option value=\"" . $recordOptions['record_select_vals'][$d] . "\"" . ($recordOptions['record_select_vals'][$d] == $current[$records['db_name']] ? ' selected' : '') . ">" . $recordOptions['record_select_vals'][$d] . "</option>"; } $formBody .= "\n</select>\n"; break; case "yesno": $formBody .= "<input type=\"radio\" id=\"" . $elementNameId . "1\" name=\"" . $elementNameId . "\" checked=\"checked\" value=\"yes\" />\n" . "<label for=\"" . $elementNameId . "1\">Yes</label>\n"; $formBody .= "<input type=\"radio\" id=\"" . $elementNameId . "2\" name=\"" . $elementNameId . "\" value=\"no\"/>\n" . "<label for=\"" . $elementNameId . "2\">No</label>\n"; break; case "checkboxes": $checkArr = explode(',', $current[$records['db_name']]); for ($d = 0; $d < count($recordOptions['record_select_vals']); $d++) { $formBody .= "<input type=\"checkbox\" " . "class=\"validate[" . ($recordOptions['record_required'] == 'true' ? 'required' : 'optional') . "]\" " . "id=\"" . $elementNameId . $d . "\" name=\"" . $elementNameId . "[]\" " . (preg_match('/\\b' . $recordOptions['record_select_vals'][$d] . '\\b/', $current[$records['db_name']]) ? 'checked ' : '') . "value=\"" . $recordOptions['record_select_vals'][$d] . "\" />\n" . "<label for=\"" . $elementNameId . $d . "\">" . $recordOptions['record_select_vals'][$d] . "</label>\n"; } break; case "radio": for ($d = 0; $d < count($recordOptions['record_select_vals']); $d++) { $formBody .= "<input type=\"radio\" class=\"validate[" . ($recordOptions['record_select_vals'][$d] == 'true' ? 'required' : 'optional') . "]\" id=\"" . $elementNameId . $d . "\" name=\"" . $elementNameId . "\" " . (preg_match('/\\b' . $recordOptions['record_select_vals'][$d] . '\\b/', $current[$records['db_name']]) ? 'checked' : '') . " value=\"" . $recordOptions['record_select_vals'][$d] . "\" />\n" . "<label for=\"" . $elementNameId . $d . "\">" . $recordOptions['record_select_vals'][$d] . "</label>\n"; } break; case "photo": case "multiphoto": $formBody .= !empty($current[$records['db_name']]) ? "<div class=\"recordImg\">\n" . "<a title=\"Delete '" . $current[$records['db_name']] . "'\" data-id=\"" . $id . "\" data-recordname=\"" . $records['db_name'] . "\" data-filename=\"" . strtolower($current[$records['db_name']]) . "\"></a>\n" . "<img src=\"" . _SITEROOT_ . "uploads/" . $id . "/" . $records['db_name'] . "/300xauto_" . strtolower($current[$records['db_name']]) . "\" />\n" . "</div>\n" : ''; $formBody .= "<input type=\"file\" class=\"validate[" . ($recordOptions['record_required'] == 'true' && empty($current[$records['db_name']]) ? 'required' : 'optional') . ",checkFileType[jpg|jpeg|gif|JPG|png|PNG|ico|bmp]] fileInput\" name=\"" . $elementNameId . ($records['db_name'] == "multiphoto" ? "[]" : "") . "\" " . ($records['db_name'] == "multiphoto" ? " mulitple=\"multiple\" " : "") . " id=\"" . $elementNameId . "[]\" />\n"; break; case "file": $ext = strtolower(pathinfo($current[$records['db_name']], PATHINFO_EXTENSION)); $formBody .= !empty($current[$records['db_name']]) ? "<div class=\"recordFile\">\n" . "<a class=\"deleteRecordFile\" title=\"Delete '" . $current[$records['db_name']] . "'\" data-id=\"" . $id . "\" data-recordname=\"" . $records['db_name'] . "\" data-filename=\"" . $current[$records['db_name']] . "\"></a>\n" . "<a href=\"" . _EQROOT_ . "resources/uploads/" . $id . "/" . $records['db_name'] . "/" . $current[$records['db_name']] . "\" target=\"_blank\" class=\"documentIcon " . $ext . "\"></a>\n" . "</div>\n" : ''; $formBody .= "<input value=\"" . $current[$records['db_name']] . "\" type=\"file\" class=\"validate[" . ($recordOptions['record_required'] == 'true' && empty($current[$records['db_name']]) ? 'required' : 'optional') . ",checkFileType[pdf|doc|docx|xls|csv|rar|txt|avi|mov|flv|mp3|zip|wav|php|html|css|js|jar|bak|tar|sys|exe|iso]] " . "fileInput\" name=\"" . $elementNameId . "\" id=\"" . $elementNameId . "\" />\n"; break; case "date": $formBody .= "<input value=\"" . $current[$records['db_name']] . "\" type=\"text\" " . "class=\"datepicker validate[" . ($recordOptions['record_required'] == 'true' ? 'required' : 'optional') . "]\" name=\"" . $elementNameId . "\" id=\"" . $elementNameId . "\" />\n"; break; case "color": $formBody .= "<input value=\"" . $current[$records['db_name']] . "\" type=\"text\" " . "class=\"colorpick validate[" . ($recordOptions['record_required'] == 'true' ? 'required' : 'optional') . "]\" id=\"" . $elementNameId . "\" name=\"" . $elementNameId . "\" id=\"" . $elementNameId . "\"/>\n\n <label for=\"" . $elementNameId . "\" class=\"pick\"></label>\n"; break; case "time": $formBody .= "<input value=\"" . $current[$records['db_name']] . "\" type=\"text\" class=\"timepicker validate[" . ($recordOptions['record_required'] == 'true' ? 'required' : 'optional') . "]\" name=\"" . $elementNameId . "\" id=\"" . $elementNameId . "\" size=\"10\">\n" . "<span class=\"ml10\">use your mousewheel and keyboard</span>\n"; break; case "foreignkey": $fcomStruc_q = 'SELECT * FROM cms_plugin_structure WHERE id = "' . $records['fkey'] . '"'; $fcomStruc_r = mysql_query($fcomStruc_q); $fcomStruc = mysql_fetch_array($fcomStruc_r); $fFieldset_q = 'SELECT * FROM cms_fieldsets WHERE com_struc_id = "' . $records['fkey'] . '"'; $fFieldset_r = mysql_query($fFieldset_q); $fkeyFieldset = mysql_fetch_array($fFieldset_r); $fetchKeys_q = 'SELECT * FROM cms_content WHERE pluginid = "' . $fcomStruc['pluginid'] . '" AND recordset = "' . $fcomStruc['db_name'] . '"'; $fetchKeys_r = mysql_query($fetchKeys_q); $fkeyOptions = explode(',', $recordOptions['record_fkeyoptions']); if (count($fkeyOptions)) { $fkeyOptions = PluginListBuilder::validateRecordViaFieldset($fkeyOptions, $fkeyFieldset['id']); } else { $fkeyOptions = array('id'); } $fkeyValues = explode(',', $recordOptions['record_fkeyvalue']); if (count($fkeyOptions)) { $fkeyValues = PluginListBuilder::validateRecordViaFieldset($fkeyValues, $fkeyFieldset['id']); } else { $fkeyValues = array('id'); } $formBody .= "<select " . "class=\"validate[" . ($recordOptions['record_required'] == 'true' ? 'required' : 'optional') . "]\" " . "name=\"" . $elementNameId . ($recordOptions['record_fkeytype'] == 'multiselect' ? '[]' : '') . "\" " . "id=\"" . $elementNameId . ($recordOptions['record_fkeytype'] == 'multiselect' ? '[]' : '') . "\" " . ($recordOptions['record_fkeytype'] == 'multiselect' ? 'multiple="multiple"' : '') . "style=\"" . $recordOptions['record_styles'] . "\">\n"; while ($fetchKey = mysql_fetch_array($fetchKeys_r)) { $fkeyValue = !empty($fkeyValues) ? $fetchKey[$fkeyValues[0]] : $fetchKey['id']; $formBody .= "\n<option " . (preg_match('/\\b' . $fkeyValue . '\\b/', $current[$records['db_name']]) ? ' selected' : '') . ' value="' . $fkeyValue . '">'; foreach ($fkeyOptions as $option) { $formBody .= $fetchKey[$option]; } $formBody .= "</option>"; } $formBody .= "\n</select>\n"; break; case "custom_url": $formBody .= "<input type=\"text\" disabled=\"disabled\" value=\"" . $current[$records['db_name']] . "\"/>\n"; break; } $formBody .= "</div>\n"; $formBody .= "<div class=\"fix\"></div>\n"; $formBody .= "</div>\n"; } return $formBody; }
function generateTableBody($pluginId, $structureId, $recordId = NULL) { $structureInfo = PluginListBuilder::singleStrucArray($structureId); $recordArray = PluginListBuilder::strucRecordArray($structureId); //begin with building the columns and get the user set columns $listFields = explode(',', $structureInfo['listfields']); $listFields = PluginListBuilder::validateRecordViaFieldset($listFields, $recordArray['fieldsetId']); $listSearch = explode(',', $structureInfo['listsearch']); $listSearch = PluginListBuilder::validateRecordViaFieldset($listSearch, $recordArray['fieldsetId']); if (!empty($_GET['search' . $structureInfo['db_name']]) && empty($listSearch)) { echo 'Search settings not set up...please notify developer'; } $query_q = 'SELECT * FROM cms_content WHERE pluginid = "' . $pluginId . '" AND recordset = "' . $structureInfo['db_name'] . '"'; //SEARCH PARAMETERS if (!empty($recordId)) { $query_q .= ' AND recordid = "' . $recordId . '"'; } if (!empty($_GET['search' . $structureInfo['db_name']]) && !empty($listSearch)) { $query_q .= ' AND ('; $g = 1; foreach ($listSearch as $search) { $query_q .= $search . ' LIKE "%' . $_GET['search' . $structureInfo['db_name']] . '%"'; if ($g < count($listSearch)) { $query_q .= ' OR '; } $g++; } $query_q .= ')'; } $query_q .= ' ORDER BY ' . ($structureInfo['listorder'] ? $structureInfo['listorder'] : 'id ASC'); $query_q; $query_r = mysql_query($query_q) or die(mysql_error()); $ptml = '<tbody>'; while ($query = mysql_fetch_array($query_r)) { $ptml .= '<tr>'; if (count($listFields)) { $n = 0; foreach ($listFields as $arr) { if ($recordArray[$arr]['type'] == "foreignkey") { $recordOptions = Apps::get_field_options($recordArray[$arr]['options'], $n); ///IF IT IS FOREGIN KEY DO THE WORK $fkeyval = explode(",", $recordOptions['record_fkeyvalue']); $fkeyopt = explode(",", $recordOptions['record_fkeyoptions']); if ($recordOptions['record_fkeyvalue']) { $fetchKeys_q = 'SELECT * FROM cms_content WHERE ' . $recordOptions['record_fkeyvalue'] . ' = "' . $query[$arr] . '"'; } else { $fetchKeys_q = 'SELECT * FROM cms_content WHERE id = "' . $query[$arr] . '"'; } $fetchKeys_r = mysql_query($fetchKeys_q); $fetchKeys = mysql_fetch_array($fetchKeys_r); if (count($fkeyopt)) { $countfkey = 0; foreach ($fkeyopt as $name) { $recordDisplayVal = ($countfkey > 0 ? " - " : "") . $fetchKeys[$name]; $countfkey++; } } else { $recordDisplayVal = $fetchKeys['id']; } } else { $recordDisplayVal = $query[$arr]; } $ptml .= '<td align="center">' . ($n == 0 ? '<a href="' . _EQROOT_ . 'plugins/edit/' . $pluginId . '?id=' . $query['id'] . '&psid=' . $structureId . '">' : '') . ($recordArray[$arr]['type'] == 'photo' ? '<img src="' . (!empty($query[$arr]) ? _UPLOADS_ . $query['id'] . '/' . $recordArray[$arr]['db_name'] . '/300xauto_' : _EQROOT_ . 'public/images/no-image.jpg') : '') . $recordDisplayVal . ($recordArray[$arr]['type'] == 'photo' ? '" width="200">' : '') . ($n == 0 ? '</a>' : '') . '</td>'; $n++; } } else { $ptml .= '<th>Id #</th>'; } $ptml .= '</tr>'; } $ptml .= '</tbody>'; $ptml .= '</table>'; return $ptml; }