/** * updateListPosition * * updates an object list position value right after object is created * * @param string $type * object type name * @param int $id * object id */ function updateListPosition($type, $id) { $valuemap = array(); $valuemap['ListPosition'] = $id; EasyContactFormsDB::update($valuemap, $type, $id); }
/** * updateTemplate * * @param $cf * * * @return * */ function updateTemplate($cf) { $query = "SELECT\n\t\t\t\tCustomFormFields.id,\n\t\t\t\tFieldSetListPosition.ListPosition AS FieldSetListPosition,\n\t\t\t\tIF(CustomFormFields.Type=1\n\t\t\t\t\tOR CustomFormFields.Type=2,\n\t\t\t\t\t1,\n\t\t\t\t\t0) AS Container\n\t\t\tFROM\n\t\t\t\t#wp__easycontactforms_customformfields AS CustomFormFields\n\t\t\tINNER JOIN\n\t\t\t\t#wp__easycontactforms_customformfieldtypes AS CustomFormFieldTypes\n\t\t\t\t\tON\n\t\t\t\t\t\tCustomFormFields.Type=CustomFormFieldTypes.id\n\t\t\t\tLEFT JOIN(\n\t\t\t\tSELECT\n\t\t\t\t\tCustomFormFields.id,\n\t\t\t\t\tCustomFormFields.ListPosition\n\t\t\t\tFROM\n\t\t\t\t\t#wp__easycontactforms_customformfields AS CustomFormFields) AS FieldSetListPosition\n\t\t\t\t\tON\n\t\t\t\t\t\tFieldSetListPosition.id=CustomFormFields.FieldSet\n\t\t\tWHERE\n\t\t\t\tCustomFormFields.CustomForms={$cf}\n\t\t\tORDER BY\n\t\t\t\tFieldSetListPosition,\n\t\t\t\tContainer DESC,\n\t\t\t\tCustomFormFields.ListPosition"; $fields = EasyContactFormsDB::getObjects($query); $form = EasyContactFormsClassLoader::getObject('CustomForms', true, $cf); $stylespec = $form->getStyleSpec(); $divmargin = $form->isEmpty('LineHeight') ? '' : "margin-top:{$form->get('LineHeight')}{$form->get('LineHeightUnit')};"; $rows = array(); $containertag = ''; $containerbottom = ''; $containercf = ''; $containerbottominside = ''; $iscontainer = false; $vjs = array(); $items = array(); foreach ($fields as $fld) { $fld = EasyContactFormsClassLoader::getObject('CustomFormFields', true, $fld->id); $phase = (object) array('index' => 8); include $fld->getTMPFileName('proc'); $text = $fld->get('Template'); $xml = simplexml_load_string($text); if (!$xml) { continue; } $entry = (object) array(); $iscontainer = false; foreach ($xml->children() as $child) { $name = $child->getName(); if ($name == 'Container') { $iscontainer = true; if (!$containertag == '') { if (!empty($containerbottominside)) { $rows[] = $containerbottominside; } $rows[] = "</{$containertag}>"; $rows = $form->templateHTML($rows, $stylespec, 6); $rows = $form->templateHTML($rows, $stylespec, 2); if (!empty($containerbottom)) { $rows[] = $containerbottom; } if (!empty($containercf)) { $rows[] = $containercf; } } $containerbottom = ''; $containerbottominside = ''; $containertag = (string) $child->attributes()->containertag; $containercf = (string) $child->attributes()->addcf == 'on' ? "<div style='clear:both;height:1px'></div>" : ''; } $iscenter = $name == 'Container' || $name == 'Input' || $name == 'Validation'; $positionname = $iscenter ? 'center' : $child->attributes()->position; $width = isset($child->attributes()->width) ? $child->attributes()->width : ''; $rowclass = isset($child->attributes()->rowclass) ? $child->attributes()->rowclass : ''; if (!isset($entry->{$positionname})) { $entry->{$positionname} = (object) array(); $entry->{$positionname}->list = array(); $entry->{$positionname}->width = ''; $entry->{$positionname}->rowclass = ''; } array_push($entry->{$positionname}->list, (string) $child); $entry->{$positionname}->width = $width; $entry->{$positionname}->rowclass = $rowclass; } if ($iscontainer) { if (isset($entry->top)) { $rows[] = implode('', $entry->top->list); } if (isset($entry->bottom)) { $containerbottom = implode('', $entry->bottom->list); } if (isset($entry->{'bottom-inside'})) { $containerbottominside = implode('', $entry->{'bottom-inside'}->list); } $rows = $form->templateHTML($rows, $stylespec, 4); $rows[] = implode('', $entry->center->list); if (isset($entry->{'top-inside'})) { $rows[] = implode('', $entry->{'top-inside'}->list); } } else { $fldid = $fld->get('id'); $typeid = $fld->get('Type'); $rowclass = empty($entry->center->rowclass) ? '' : ' ' . $entry->center->rowclass; $rows[] = "<div class='ufo-fieldtype-{$typeid} ufo-customform-row ufo-row-{$fldid}{$rowclass}' style='{$divmargin}{display-{$fldid}}'>"; if (isset($entry->top)) { $entry->top->width = $entry->center->width; $rows = EasyContactFormsCustomForms::addRow($rows, $entry->top, isset($entry->left), isset($entry->right), $fldid, 1); } $entryleft = isset($entry->left) ? $entry->left : false; $entryright = isset($entry->right) ? $entry->right : false; $rows = EasyContactFormsCustomForms::addRow($rows, $entry->center, $entryleft, $entryright, $fldid, 2); if (isset($entry->bottom)) { $entry->bottom->width = $entry->center->width; $rows = EasyContactFormsCustomForms::addRow($rows, $entry->bottom, isset($entry->left), isset($entry->right), $fldid, 3); } $rows[] = '</div>'; } } if (!empty($containerbottominside)) { $rows[] = $containerbottominside; } $rows = $form->templateHTML($rows, $stylespec, 6); $rows[] = "</{$containertag}>"; $rows = $form->templateHTML($rows, $stylespec, 2); if (!empty($containerbottom)) { $rows[] = $containerbottom; } if (!empty($containercf)) { $rows[] = $containercf; } $rows = implode('', $rows); $html = array(); $html[] = "<script type='text/javascript'>"; $html[] = "if (typeof(ecfconfig) == 'undefined'){var ecfconfig={};}"; $html[] = "ecfconfig[{$cf}]={};"; if (!$form->isEmpty('FadingDelay')) { $html[] = "ecfconfig[{$cf}].fadeDelay='" . $form->get('FadingDelay') . "';"; } if (!$form->isEmpty('MessageDelay')) { $html[] = "ecfconfig[{$cf}].messageDelay='" . $form->get('MessageDelay') . "';"; } $ajaxurl = EasyContactFormsApplicationSettings::getInstance()->get('FixStatus0') ? home_url('wp-admin/admin-ajax.php') : admin_url('admin-ajax.php'); $html[] = "var ufobaseurl = '{$ajaxurl}';"; $html[] = "if (typeof(ufoFormsConfig) == 'undefined') {var ufoFormsConfig = {};ufoFormsConfig.submits = [];ufoFormsConfig.resets = [];ufoFormsConfig.validations = [];}"; $as = EasyContactFormsApplicationSettings::getInstance(); if (!$as->isEmpty('PhoneRegEx')) { $html[] = "ufoFormsConfig.phonenumberre = /^" . $as->get('PhoneRegEx') . "/;"; } $html[] = "</script>"; $html[] = $form->loadStyle(); $stylesheet = $form->getStyle(); if (!empty($stylesheet)) { $html[] = "<style>{$stylesheet}</style>"; } $formclass = array(); $formclass[] = 'ufo-form'; if (!$form->isEmpty('FormClass')) { $formclass[] = $form->get('FormClass'); } $formclass = implode(' ', $formclass); $formclass = " class='{$formclass}'"; $formstyle = array(); if (!$form->isEmpty('FormStyle')) { $formstyle[] = $form->get('FormStyle'); } if (!$form->isEmpty('Width')) { $formstyle[] = "width:{$form->get('Width')}{$form->get('WidthUnit')}"; } if (sizeof($formstyle) != 0) { $formstyle = " style='" . implode(';', $formstyle) . "'"; } else { $formstyle = ''; } $html[] = "<div{$formclass}{$formstyle} id='ufo-form-id-{$cf}'>"; $html[] = "<noscript><form method='POST'><input type='hidden' name='cf-no-script' value='1'></noscript>"; $html[] = "<input type='hidden' value='ufo-form-id-{$cf}' name='hidden-{$cf}' id='ufo-form-hidden-{$cf}'>"; $html[] = "<input type='hidden' value='{__pagename}' name='ufo-form-pagename' id='ufo-form-pagename'>"; $html[] = "{preview}"; $html[] = "<input type='hidden' value='{ufosignature}' name='ufo-sign' id='ufo-sign'>"; $html = $form->templateHTML($html, $stylespec, 1); $html[] = $rows; $html = $form->templateHTML($html, $stylespec, 3); $html[] = "<div id='ufo-form-id-{$cf}-message'></div>"; $html[] = "<noscript></form></noscript>"; $html[] = "</div>"; if (count($vjs) > 0) { $html[] = '<script type="text/javascript">' . implode('', $vjs) . '</script>'; } $txt = implode('', $html); $html = array('HTML' => $txt, 'ShortCode' => '[easy_contact_forms fid=' . $cf . ']'); EasyContactFormsDB::update($html, 'CustomForms', $cf); }
/** * webdirUpload * * takes a file from a temporary folder, registers it in the file * manager * places the file to a web directory for direct download and makes a * thumbnail * copy if it is necessary * * @param array $_uldmap * request data */ function webdirUpload($_uldmap) { $filerequestid = $_uldmap['t'] . '_' . $_uldmap['fld'] . '_' . $_uldmap['oid']; if ($_FILES[$filerequestid]['error'] != UPLOAD_ERR_OK) { return FALSE; } $oowner = $_uldmap['easycontactusr']->id; $filename = $_FILES[$filerequestid]['name']; $tmpname = $_FILES[$filerequestid]['tmp_name']; $filesize = $_FILES[$filerequestid]['size']; $filetype = mysql_real_escape_string($_FILES[$filerequestid]['type']); $id = intval($_uldmap['oid']); $Type = mysql_real_escape_string($_uldmap['t']); $fieldname = mysql_real_escape_string($_uldmap['fld']); $filename = mysql_real_escape_string($filename); $ds = DIRECTORY_SEPARATOR; $targdir = EASYCONTACTFORMS__fileUploadDir . $ds . $Type . $ds . $id . $ds . $fieldname; $query = "SELECT Name FROM #wp__easycontactforms_files WHERE Doctype='{$Type}' AND Docid='{$id}' AND Docfield='{$fieldname}'"; $name = EasyContactFormsDB::getValue($query); $filepath = $targdir . $ds . $name; if (is_file($filepath)) { unlink($filepath); } $filepath = $targdir . $ds . $filename; $query = "DELETE FROM #wp__easycontactforms_files WHERE Doctype='{$Type}' AND Docid='{$id}' AND Docfield='{$fieldname}'"; EasyContactFormsDB::query($query); $valuemap = array(); $valuemap['Count'] = '0'; $valuemap['Docfield'] = $fieldname; $valuemap['Doctype'] = $Type; $valuemap['Docid'] = $id; $valuemap['Name'] = $filename; $valuemap['Size'] = $filesize; $valuemap['Type'] = $filetype; $valuemap['Protected'] = 0; $valuemap['Webdir'] = 1; $valuemap['Storagename'] = $filename; $valuemap['ObjectOwner'] = $oowner; $isid = EasyContactFormsDB::insert($valuemap, 'Files'); if ($Type == 'Files') { $valuemap = array(); $valuemap['Docid'] = $isid; EasyContactFormsDB::update($valuemap, 'Files', $isid); } if (!is_dir($targdir)) { EasyContactFormsUtils::createFolder($targdir); } move_uploaded_file($tmpname, $filepath); if (isset($_uldmap['thumbnailx']) && intval($_uldmap['thumbnailx']) != 0) { $newfieldname = 'thumb' . $fieldname; $newfilename = 'thumb' . $filename; $newtargdir = EASYCONTACTFORMS__fileUploadDir . $ds . $Type . $ds . $id . $ds . $newfieldname; $query = "SELECT Name FROM #wp__easycontactforms_files WHERE Doctype='{$Type}' AND Docid='{$id}' AND Docfield='thumb{$fieldname}'"; $name = EasyContactFormsDB::getValue($query); if (is_file($newtargdir . $ds . $name)) { unlink($newtargdir . $ds . $name); } EasyContactFormsUtils::createFolder($newtargdir); EasyContactFormsFiles::imgResize($filepath, $newtargdir . $ds . $newfilename, $_uldmap['thumbnailx'], $_uldmap['thumbnaily'], 0xffffff, 80); $query = "DELETE FROM #wp__easycontactforms_files WHERE Doctype='{$Type}' AND Docid='{$id}' AND Docfield='{$newfieldname}'"; EasyContactFormsDB::query($query); $valuemap = array(); $valuemap['Count'] = '0'; $valuemap['Docfield'] = $newfieldname; $valuemap['Doctype'] = $Type; $valuemap['Docid'] = $id; $valuemap['Name'] = $newfilename; $valuemap['Size'] = filesize($newtargdir . $ds . $newfilename); $valuemap['Type'] = $filetype; $valuemap['Protected'] = 0; $valuemap['Webdir'] = 1; $valuemap['Storagename'] = $newfilename; $valuemap['ObjectOwner'] = $oowner; EasyContactFormsDB::insert($valuemap, 'Files'); } if (isset($_uldmap['resizex']) && intval($_uldmap['resizex']) != 0) { EasyContactFormsFiles::imgResize($filepath, $filepath, $_uldmap['resizex'], $_uldmap['resizey'], 0xffffff, 80); $valuemap = array(); $valuemap['Size'] = filesize($filepath); EasyContactFormsDB::update($valuemap, 'Files', $isid); } echo json_encode(array('success' => 'TRUE')); return TRUE; }
/** * moveRow * * moves a row up and down * * @param string $mrtype * a type of object to move * @param array $viewmap * request values * @param array $mrfilters * optional filter values * @param string $alias * an alias to use when building a query */ function moveRow($mrtype, $viewmap, $mrfilters = array(), $alias = '') { if (!isset($viewmap['a'])) { return; } $a = json_decode(stripslashes($viewmap['a'])); if (!isset($a->m) || $a->m != 'moveRow') { return; } $mrrowid = intval($a->lpi); $mr_direction = intval($a->lpd); $lpsort = isset($a->srt) ? $a->srt : 'ASC'; $sort_direction = $lpsort == 'DESC' ? -1 : 1; if ($mr_direction == $sort_direction) { $func_name = "MAX"; $mrsign = "<"; } else { $func_name = "MIN"; $mrsign = ">"; } $obj = EasyContactFormsClassLoader::getObject($mrtype); $t_name = $obj->getTableName(); $query = "SELECT ListPosition FROM {$t_name} WHERE id = '{$mrrowid}'"; $l_pos = EasyContactFormsDB::getValue($query); $dot = $alias == '' ? '' : '.'; $as = $alias == '' ? '' : 'AS'; $mrfilters['fnames'][] = $alias . $dot . "ListPosition {$mrsign} :_l_pos"; $mrfilters['fvalues'][':_l_pos'] = $l_pos; $query = "SELECT {$func_name}(ListPosition) AS lp FROM {$t_name} {$as} {$alias}"; $rs = EasyContactFormsDB::select($query, $mrfilters); if (count($rs) > 0 && !empty($rs[0]->lp)) { $c_pos = $rs[0]->lp; $query = "SELECT id FROM {$t_name} WHERE ListPosition = {$c_pos}"; $c_oid = EasyContactFormsDB::getValue($query); $valuemap['ListPosition'] = $c_pos; EasyContactFormsDB::update($valuemap, $obj->type, $mrrowid); $valuemap = array(); $valuemap['ListPosition'] = $l_pos; EasyContactFormsDB::update($valuemap, $obj->type, $c_oid); } }
/** * update * * filters out the object data from a request and puts it to a database * * @param array $request * object data to put to a database * @param int $id * object id */ function update($request, $id) { $fldvalues = array(); $request = (array) $request; foreach ($this->getFieldNames() as $key) { if (isset($request[$key])) { $fldvalues[$key] = $request[$key]; } } EasyContactFormsDB::update($fldvalues, $this->type, $id); }