/**
  * 	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);
 }
예제 #3
0
 /**
  * 	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;
 }
예제 #4
0
 /**
  * 	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);
 }