Пример #1
0
 public function getFieldByName($varValue)
 {
     $strSql = sprintf("SELECT * FROM pcms_template_field WHERE templateId = '%s' AND apiName = '%s' ORDER BY sort", $this->id, $varValue);
     $objFields = TemplateField::select($strSql);
     if ($objFields->count() > 0) {
         return $objFields->current();
     }
 }
Пример #2
0
 public static function validateImportTemplates($objTemplates, $intAccountId, &$arrTemplateIds, &$arrTemplateFieldIds, &$arrLinkFieldIds, $intTemplateId = 0)
 {
     $foundMatch = false;
     foreach ($objTemplates->childNodes as $templateNode) {
         $strSql = sprintf("SELECT * FROM pcms_template WHERE parentId = '%s' AND accountId = '%s' ORDER BY sort", $intTemplateId, $intAccountId);
         $objExistingTemplates = Template::select($strSql);
         foreach ($objExistingTemplates as $objExistingTemplate) {
             if ($objExistingTemplate->getApiName() == $templateNode->getAttribute("apiName")) {
                 $foundMatch = true;
                 $arrTemplateIds[$templateNode->getAttribute("id")] = $objExistingTemplate->getId();
                 foreach ($templateNode->childNodes as $fieldsNode) {
                     if ($fieldsNode->hasChildNodes()) {
                         switch ($fieldsNode->nodeName) {
                             case "fields":
                                 foreach ($fieldsNode->childNodes as $fieldNode) {
                                     $strSql = sprintf("SELECT * FROM pcms_template_field WHERE templateId = '%s' ORDER BY sort", $objExistingTemplate->getId());
                                     $objExistingFields = TemplateField::select($strSql);
                                     $iFields = $objExistingFields->count();
                                     $countFields = 0;
                                     foreach ($objExistingFields as $objExistingField) {
                                         $countFields++;
                                         if ($objExistingField->getApiName() == $fieldNode->getAttribute("apiName")) {
                                             $arrTemplateFieldIds[$fieldNode->getAttribute("id")] = $objExistingField->getId();
                                             if ($fieldNode->getAttribute("typeId") == FIELD_TYPE_LINK) {
                                                 array_push($arrLinkFieldIds, $fieldNode->getAttribute("id"));
                                             }
                                             break;
                                         } else {
                                             if ($iFields == $countFields) {
                                                 return false;
                                             }
                                         }
                                     }
                                 }
                                 break;
                             case "templates":
                                 $foundMatch = self::validateImportTemplates($fieldsNode, $intAccountId, $arrTemplateIds, $arrTemplateFieldIds, $arrLinkFieldIds, $objExistingTemplate->getId());
                                 break;
                         }
                     }
                 }
             }
         }
         if (!$foundMatch) {
             return false;
         }
     }
     return $foundMatch;
 }
Пример #3
0
 public function getFields($intElementId)
 {
     $strSql = "SELECT pcms_template_field.* FROM pcms_template_field, pcms_element\n\t\t\t\tWHERE pcms_element.id = '%s'\n\t\t\t\tAND pcms_element.templateId = pcms_template_field.templateId\n\t\t\t\tORDER BY pcms_element.sort";
     $objTplFields = TemplateField::select(sprintf($strSql, $intElementId));
     $objReturn = new __ElementFields();
     foreach ($objTplFields as $objTplField) {
         $objReturn->addObject(new __ElementField($intElementId, $objTplField));
     }
     return $objReturn;
 }
Пример #4
0
 public function getFields()
 {
     $strSql = "SELECT * FROM pcms_template_field WHERE formId = '{$this->id}' ORDER BY sort";
     $objReturn = TemplateField::select($strSql);
     return $objReturn;
 }