!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/var/www/html/wincloud_gateway/node_modules/strapi-plugin-import-export-content/services/utils/   drwxr-xr-x
Free 13.02 GB of 57.97 GB (22.46%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     fieldUtils.js (2.27 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
const {
  stringIsEmail,
  stringIsDate,
  stringIsHour,
  stringIsUrl,
  urlIsMedia,
} = require("./formatsValidator");
const {
  getValidRelations,
  getValidMedia,
  getValidComponent,
  getValidDynamic,
} = require("./contentChecker");

function getFormatFromField(field) {
  switch (typeof field) {
    case "number":
      return "number";
    case "boolean":
      return "boolean";
    case "object":
      if (Array.isArray(field)) return "array";
      return "object";
    case "string":
      if (stringIsEmail(field)) return "email";
      if (stringIsDate(field)) return "date";
      if (stringIsHour(field)) return "time";
      if (stringIsUrl(field)) {
        if (urlIsMedia(field)) return "media";
        return "url";
      }
      if (field.length > 255) return "text";
      return "string";
  }
}

function getFieldsFromItems(items) {
  const fieldNames = new Set();
  items.forEach((item) => {
    try {
      Object.keys(item).forEach((fieldName) => fieldNames.add(fieldName));
    } catch (err) {
      console.error(err);
    }
  });

  return Array.from(fieldNames);
}

function mapFieldsToTargetFields({ items, fields, attributes, user }) {
  const fieldNames = getFieldsFromItems(items);
  return Promise.all(
    items.map(async (item) => {
      const mappedItem = {};

      for (const fieldname of fieldNames) {
        const { targetField } = fields[fieldname];
        if (targetField && targetField !== "none") {
          const attribute = attributes[targetField];
          let targetItem = item[fieldname];

          // Validate ids and import medias
          if (attribute.type === "relation") {
            targetItem = await getValidRelations(targetItem, attribute);
          } else if (attribute.type === "media") {
            targetItem = await getValidMedia(targetItem, attribute, user);
          } else if (attribute.type === "component") {
            targetItem = await getValidComponent(targetItem, attribute, user);
          } else if (attribute.type === "dynamiczone") {
            targetItem = await getValidDynamic(targetItem, attribute, user);
          }

          mappedItem[targetField] = targetItem;
        }
      }

      return mappedItem;
    })
  );
}

module.exports = {
  getFormatFromField,
  getFieldsFromItems,
  mapFieldsToTargetFields,
};

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0041 ]--