本文整理汇总了PHP中Espo\Core\Utils\Util::concatPath方法的典型用法代码示例。如果您正苦于以下问题:PHP Util::concatPath方法的具体用法?PHP Util::concatPath怎么用?PHP Util::concatPath使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Espo\Core\Utils\Util
的用法示例。
在下文中一共展示了Util::concatPath方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: get
public function get($scope, $name)
{
$scope = $this->sanitizeInput($scope);
$name = $this->sanitizeInput($name);
if (isset($this->changedData[$scope][$name])) {
return Json::encode($this->changedData[$scope][$name]);
}
$fileFullPath = Util::concatPath($this->getLayoutPath($scope, true), 'portal/' . $name . '.json');
if (!file_exists($fileFullPath)) {
$fileFullPath = Util::concatPath($this->getLayoutPath($scope), 'portal/' . $name . '.json');
}
if (!file_exists($fileFullPath)) {
$fileFullPath = Util::concatPath($this->getLayoutPath($scope, true), $name . '.json');
}
if (!file_exists($fileFullPath)) {
$fileFullPath = Util::concatPath($this->getLayoutPath($scope), $name . '.json');
}
if (!file_exists($fileFullPath)) {
$defaultPath = $this->params['defaultsPath'];
$fileFullPath = Util::concatPath(Util::concatPath($defaultPath, 'layouts'), $name . '.json');
if (!file_exists($fileFullPath)) {
return false;
}
}
return $this->getFileManager()->getContents($fileFullPath);
}
示例2: restoreFiles
protected function restoreFiles()
{
$GLOBALS['log']->info('Installer: Restore previous files.');
$backupPath = $this->getPath('backupPath');
$backupFilePath = Util::concatPath($backupPath, self::FILES);
$backupFileList = $this->getRestoreFileList();
$copyFileList = $this->getCopyFileList();
$deleteFileList = array_diff($copyFileList, $backupFileList);
$res = $this->copy($backupFilePath, '', true);
$res &= $this->getFileManager()->remove($deleteFileList, null, true);
if ($res) {
$this->getFileManager()->removeInDir($backupPath, true);
}
return $res;
}
示例3: getHookData
/**
* Get and merge hook data by checking the files exist in $hookDirs
*
* @param array $hookDirs - it can be an array('Espo/Hooks', 'Espo/Custom/Hooks', 'Espo/Modules/Crm/Hooks')
*
* @return array
*/
protected function getHookData($hookDirs)
{
if (is_string($hookDirs)) {
$hookDirs = (array) $hookDirs;
}
$hooks = array();
foreach ($hookDirs as $hookDir) {
if (file_exists($hookDir)) {
$fileList = $this->getFileManager()->getFileList($hookDir, 1, '\\.php$', 'file');
foreach ($fileList as $scopeName => $hookFiles) {
$hookScopeDirPath = Util::concatPath($hookDir, $scopeName);
$scopeHooks = array();
foreach ($hookFiles as $hookFile) {
$hookFilePath = Util::concatPath($hookScopeDirPath, $hookFile);
$className = Util::getClassName($hookFilePath);
foreach ($this->hookList as $hookName) {
if (method_exists($className, $hookName)) {
$scopeHooks[$hookName][$className::$order][] = $className;
}
}
}
//sort hooks by order
foreach ($scopeHooks as $hookName => $hookList) {
ksort($hookList);
$sortedHookList = array();
foreach ($hookList as $hookDetails) {
$sortedHookList = array_merge($sortedHookList, $hookDetails);
}
$hooks[$scopeName][$hookName] = isset($hooks[$scopeName][$hookName]) ? array_merge($hooks[$scopeName][$hookName], $sortedHookList) : $sortedHookList;
}
}
}
}
return $hooks;
}
示例4: testConcatPath
public function testConcatPath()
{
$result = Util::fixPath('dir1/dir2/file1.json');
$this->assertEquals($result, Util::concatPath('dir1/dir2', 'file1.json'));
$result = Util::fixPath('dir1/dir2/file1.json');
$this->assertEquals($result, Util::concatPath('dir1/dir2/', 'file1.json'));
$result = Util::fixPath('dir1/dir2/file1.json');
$this->assertEquals($result, Util::concatPath('dir1/dir2/file1.json'));
$input = array('dir1/dir2', 'file1.json');
$result = Util::fixPath('dir1/dir2/file1.json');
$this->assertEquals($result, Util::concatPath($input));
$input = array('dir1/', 'dir2', 'file1.json');
$result = Util::fixPath('dir1/dir2/file1.json');
$this->assertEquals($result, Util::concatPath($input));
}
示例5: initFieldTypes
protected function initFieldTypes()
{
foreach ($this->fieldTypePaths as $path) {
$typeList = $this->getFileManager()->getFileList($path, false, '\\.php$');
if ($typeList !== false) {
foreach ($typeList as $name) {
$typeName = preg_replace('/\\.php$/i', '', $name);
$dbalTypeName = strtolower($typeName);
$filePath = Util::concatPath($path, $typeName);
$class = Util::getClassName($filePath);
if (!Type::hasType($dbalTypeName)) {
Type::addType($dbalTypeName, $class);
} else {
Type::overrideType($dbalTypeName, $class);
}
$dbTypeName = method_exists($class, 'getDbTypeName') ? $class::getDbTypeName() : $dbalTypeName;
$this->getConnection()->getDatabasePlatform()->registerDoctrineTypeMapping($dbTypeName, $dbalTypeName);
}
}
}
}
示例6: remove
/**
* Remove items (files or directories)
*
* @param string | array $items
* @param string $dirPath
* @return boolean
*/
public function remove($items, $dirPath = null, $removeEmptyDirs = false)
{
if (!is_array($items)) {
$items = (array) $items;
}
$permissionDeniedList = array();
foreach ($items as $item) {
if (isset($dirPath)) {
$item = Utils\Util::concatPath($dirPath, $item);
}
if (!is_writable($item)) {
$permissionDeniedList[] = $item;
} else {
if (!is_writable(dirname($item))) {
$permissionDeniedList[] = dirname($item);
}
}
}
if (!empty($permissionDeniedList)) {
$betterPermissionList = $this->getPermissionUtils()->arrangePermissionList($permissionDeniedList);
throw new Error("Permission denied for <br>" . implode(", <br>", $betterPermissionList));
}
$result = true;
foreach ($items as $item) {
if (isset($dirPath)) {
$item = Utils\Util::concatPath($dirPath, $item);
}
if (is_dir($item)) {
$result &= $this->removeInDir($item, true);
} else {
$result &= $this->removeFile($item);
}
if ($removeEmptyDirs) {
$result &= $this->removeEmptyDirs($item);
}
}
return (bool) $result;
}
示例7: unifyGetContents
/**
* Helpful method for get content from files for unite Files
*
* @param string | array $paths
* @param string | array() $defaults - It can be a string like ["metadata","layouts"] OR an array with default values
*
* @return array
*/
protected function unifyGetContents($paths, $defaults)
{
$fileContent = $this->getFileManager()->getContents($paths);
$decoded = Utils\Json::getArrayData($fileContent, null);
if (!isset($decoded)) {
$GLOBALS['log']->emergency('Syntax error in ' . Utils\Util::concatPath($paths));
return array();
}
return $decoded;
}
示例8: getRestoreFileList
protected function getRestoreFileList()
{
if (!isset($this->data['restoreFileList'])) {
$packagePath = $this->getPackagePath();
$filesPath = Util::concatPath($packagePath, self::FILES);
if (!file_exists($filesPath)) {
$this->unzipArchive($packagePath);
}
$this->data['restoreFileList'] = $this->getFileManager()->getFileList($filesPath, true, '', true, true);
}
return $this->data['restoreFileList'];
}
示例9: getManifest
public function getManifest()
{
if (!isset($this->data['manifest'])) {
$packagePath = $this->getPackagePath();
$manifestPath = Util::concatPath($packagePath, $this->manifestName);
if (!file_exists($manifestPath)) {
$this->throwErrorAndRemovePackage('It\'s not an Installation package.');
}
$manifestJson = $this->getFileManager()->getContents($manifestPath);
$this->data['manifest'] = Json::decode($manifestJson, true);
if (!$this->data['manifest']) {
$this->throwErrorAndRemovePackage('Syntax error in manifest.json.');
}
if (!$this->checkManifest($this->data['manifest'])) {
$this->throwErrorAndRemovePackage('Unsupported package.');
}
}
return $this->data['manifest'];
}
示例10: getSetupMessage
public function getSetupMessage()
{
$language = $this->getContainer()->get('language');
$OS = $this->getSystemUtil()->getOS();
$phpBin = $this->getSystemUtil()->getPhpBin();
$cronFile = Util::concatPath($this->getSystemUtil()->getRootDir(), $this->cronFile);
$desc = $language->translate('cronSetup', 'options', 'ScheduledJob');
$message = isset($desc[$OS]) ? $desc[$OS] : $desc['default'];
$command = isset($this->cronSetup[$OS]) ? $this->cronSetup[$OS] : $this->cronSetup['default'];
$command = str_replace(array('{PHP-BIN-DIR}', '{CRON-FILE}'), array($phpBin, $cronFile), $command);
return array('message' => $message, 'command' => $command);
}
示例11: remove
/**
* Remove items (files or directories)
*
* @param string | array $items
* @param string $dirPath
* @return boolean
*/
public function remove($items, $dirPath = null)
{
if (!is_array($items)) {
$items = (array) $items;
}
$result = true;
foreach ($items as $item) {
if (isset($dirPath)) {
$item = Utils\Util::concatPath($dirPath, $item);
}
if (is_dir($item)) {
$result = $this->removeInDir($item, true);
} else {
$result = $this->removeFile($item);
}
}
return $result;
}
示例12: unifyGetContents
/**
* Helpful method for get content from files for unite Files
*
* @param string | array $paths
* @param string | array() $defaults - It can be a string like ["metadata","layouts"] OR an array with default values
*
* @return array
*/
protected function unifyGetContents($paths, $defaults)
{
$fileContent = $this->getFileManager()->getContents($paths);
$decoded = Utils\Json::getArrayData($fileContent);
if (empty($decoded) && !is_array($decoded)) {
$GLOBALS['log']->emergency('Syntax error or empty file - ' . Utils\Util::concatPath($folderPath, $fileName));
} else {
//Default values
if (is_string($defaults) && !empty($defaults)) {
$defType = $defaults;
unset($defaults);
$name = $this->getFileManager()->getFileName($fileName, '.json');
$defaults = $this->loadDefaultValues($name, $defType);
}
$mergedValues = Utils\Util::merge($defaults, $decoded);
//END: Default values
return $mergedValues;
}
return array();
}
示例13: getClassNameHash
protected function getClassNameHash($dirs)
{
if (is_string($dirs)) {
$dirs = (array) $dirs;
}
$data = array();
foreach ($dirs as $dir) {
if (file_exists($dir)) {
$fileList = $this->getFileManager()->getFileList($dir, false, '\\.php$', 'file');
foreach ($fileList as $file) {
$filePath = Util::concatPath($dir, $file);
$className = Util::getClassName($filePath);
$fileName = $this->getFileManager()->getFileName($filePath);
$data[$fileName] = $className;
}
}
}
return $data;
}
示例14: getClassNameHash
protected function getClassNameHash($dirs)
{
if (is_string($dirs)) {
$dirs = (array) $dirs;
}
$data = array();
foreach ($dirs as $dir) {
if (file_exists($dir)) {
$fileList = $this->getFileManager()->getFileList($dir, false, '\\.php$', true);
foreach ($fileList as $file) {
$filePath = Util::concatPath($dir, $file);
$className = Util::getClassName($filePath);
$fileName = $this->getFileManager()->getFileName($filePath);
$scopeName = ucfirst($fileName);
$normalizedScopeName = Util::normilizeScopeName($scopeName);
if (empty($this->allowedMethods)) {
$data[$normalizedScopeName] = $className;
continue;
}
foreach ($this->allowedMethods as $methodName) {
if (method_exists($className, $methodName)) {
$data[$normalizedScopeName] = $className;
}
}
}
}
}
return $data;
}