<?php

require_once 'e2eTestConfig.php';
use Api\Model\Languageforge\Lexicon\Command\SendReceiveCommands;
use Api\Model\Languageforge\Lexicon\LexProjectModel;
use Api\Model\Shared\ProjectModel;
use Palaso\Utilities\FileUtilities;
$constants = json_decode(file_get_contents(TestPath . 'app/testConstants.json'), true);
// cleanup test assets folder
$project = new ProjectModel();
$project->readByProperties(array('projectCode' => $constants['testProjectCode']));
$testProject = ProjectModel::getById($project->id->asString());
$assetsFolderPath = $testProject->getAssetsFolderPath();
FileUtilities::removeFolderAndAllContents($assetsFolderPath);
// cleanup other assets folders
$otherAssetsFolderPath = str_replace($constants['testProjectCode'], $constants['otherProjectCode'], $assetsFolderPath);
FileUtilities::removeFolderAndAllContents($otherAssetsFolderPath);
$otherAssetsFolderPath = str_replace($constants['testProjectCode'], $constants['thirdProjectCode'], $assetsFolderPath);
FileUtilities::removeFolderAndAllContents($otherAssetsFolderPath);
$otherAssetsFolderPath = str_replace($constants['testProjectCode'], $constants['fourthProjectCode'], $assetsFolderPath);
FileUtilities::removeFolderAndAllContents($otherAssetsFolderPath);
$otherAssetsFolderPath = str_replace($constants['testProjectCode'], $constants['newProjectCode'], $assetsFolderPath);
FileUtilities::removeFolderAndAllContents($otherAssetsFolderPath);
$otherAssetsFolderPath = str_replace($constants['testProjectCode'], $constants['emptyProjectCode'], $assetsFolderPath);
FileUtilities::removeFolderAndAllContents($otherAssetsFolderPath);
$otherAssetsFolderPath = str_replace($constants['testProjectCode'], $constants['srProjectCode'], $assetsFolderPath);
FileUtilities::removeFolderAndAllContents($otherAssetsFolderPath);
$otherAssetsFolderPath = str_replace($constants['testProjectCode'], 'mock-id4', $assetsFolderPath);
if (file_exists($otherAssetsFolderPath)) {
    // glob doesn't list broken links, manually remove them first
    foreach (array_diff(scandir($otherAssetsFolderPath), array('.', '..')) as $filename) {
 /**
  * @param string $code
  * @return bool
  */
 public static function projectCodeExists($code)
 {
     $project = new ProjectModel();
     return $project->readByProperties(array('projectCode' => $code));
 }
 /**
  * @param Website $website
  * @return ProjectModel
  */
 public static function getDefaultProject($website)
 {
     $project = new ProjectModel();
     if ($project->readByProperties(array('projectCode' => $website->defaultProjectCode, 'siteName' => $website->domain))) {
         return ProjectModel::getById($project->id->asString());
     } else {
         return null;
     }
 }