function hackedProject::locate_local_project in Hacked! 8.2
Locate the base directory of the local project.
1 call to hackedProject::locate_local_project()
- hackedProject::hash_local_project in src/
hackedProject.php  - Hash the local version of the project.
 
File
- src/
hackedProject.php, line 179  
Class
- hackedProject
 - Encapsulates a Hacked! project.
 
Namespace
Drupal\hackedCode
function locate_local_project() {
  // we need a remote project to do this :(
  $this
    ->hash_remote_project();
  // Do we have at least some modules to check for:
  if (!is_array($this->project_info['includes']) || !count($this->project_info['includes'])) {
    return FALSE;
  }
  // If this project is drupal it, we need to handle it specially
  if ($this->project_type != 'core') {
    $includes = array_keys($this->project_info['includes']);
    $include = array_shift($includes);
    $include_type = $this->project_info['project_type'];
  }
  else {
    // Just use the system module to find where we've installed drupal
    $include = 'system';
    $include_type = 'module';
  }
  //$include = 'image_captcha';
  $path = drupal_get_path($include_type, $include);
  // Now we need to find the path of the info file in the downloaded package:
  $temp = '';
  foreach ($this->remote_files->files as $file) {
    if (preg_match('@(^|.*/)' . $include . '.info.yml$@', $file)) {
      $temp = $file;
      break;
    }
  }
  // How many '/' were in that path:
  $slash_count = substr_count($temp, '/');
  $back_track = str_repeat('/..', $slash_count);
  return realpath($path . $back_track);
}