Example #1
0
    }
    $file = array('name' => $name, 'size' => $info[7], 'mdate' => $info[9], 'cdate' => $info[10], 'nicesize' => filesize_format($info[7]), 'nicemdate' => date($time_format, $info[9]), 'nicecdate' => date($time_format, $info[10]), 'comment' => $comment, 'type' => filetype("{$file}"));
    if ($file[type] == "dir" || $file[type] == 'link') {
        $dirs[] = $file;
    } else {
        $files[] = $file;
    }
}
if ($dirs[0]) {
    array_key_multi_sort($dirs, strtolower($sort));
    if ($desc) {
        $dirs = array_reverse($dirs);
    }
}
if ($files[0]) {
    array_key_multi_sort($files, strtolower($sort));
    if ($desc) {
        $files = array_reverse($files);
    }
}
$dirlist = "";
if ($dir) {
    $dirlist .= "<option value=\"{$dir}/../\">..</option>";
}
if ($dirs[0]) {
    foreach ($dirs as $thisdir) {
        $dirlist .= "<option value=\"{$dir}/{$thisdir['name']}\">{$thisdir['name']}</option>";
    }
}
#if ($dirlist) { $dirlist = "<option selected value=''>Move to...</option>$dirlist"; }
$list = array_merge($dirs, $files);
Example #2
0
function assessAndRank($initialCandidates, $reqs)
{
    /**
     * Core function of the system. Assessess and ranks the initial candidates
     * according to the requirements.
     */
    global $debugar, $token;
    $owaWeights = NULL;
    $out = array();
    //echo 'REQS: <pre>'.print_r($reqs, TRUE).'</pre>';
    foreach ($initialCandidates as $cand) {
        //echo 'AQUII cand:<pre>'.print_r($cand, true).'</pre>';
        $profile = $cand['profile'];
        $assessments = array();
        // Skills
        foreach ($reqs['skills'] as $reqSkill) {
            $assessment = assessSkill($profile, $reqSkill);
            $assessments[] = $assessment;
            if ($debugar) {
                echo 'Candidate ' . $cand['username'] . '. Assessment for required skill ' . $reqSkill['id'] . '-' . $reqSkill['level'] . ': ' . $assessment . '<br />';
            }
        }
        // Subskills
        if (array_key_exists(STRING_SUBSKILLS, $reqs)) {
            foreach ($reqs[STRING_SUBSKILLS] as $reqSkill) {
                //echo '<pre>'.print_r($reqSkill).'</pre>';
                $assessment = assessQualification($profile, $reqSkill);
                $assessments[] = $assessment;
                if ($debugar) {
                    echo 'Candidate ' . $cand['username'] . '. Assessment for required subskill ' . $reqSkill['id'] . '-' . $reqSkill['level'] . ': ' . $assessment . '<br />';
                }
            }
        }
        // Proximity
        $assessment = assessProximity($profile, $reqs['proximity']);
        if ($assessment != -1) {
            $assessments[] = $assessment;
            if ($debugar) {
                echo 'Candidate ' . $cand['username'] . '. Assessment for proximity: ' . $assessment . '<br />';
            }
        }
        // Availability
        $assessment = assessAvailability($profile, $reqs['availability']);
        $assessments[] = $assessment;
        if ($debugar) {
            echo 'Candidate ' . $cand['username'] . '. Assessment for availability: ' . $assessment . '<br />';
        }
        if ($owaWeights == NULL) {
            $owaWeights = getOWAWeights(count($assessments));
            if ($debugar) {
                echo 'OWA weights (' . count($assessments) . '):<pre>' . print_r($owaWeights, TRUE) . '</pre>';
            }
        }
        if ($debugar) {
            echo 'Assessments for candidate <strong>' . $cand['username'] . '</strong>: ' . print_r($assessments, TRUE) . '<br />';
        }
        $cand['assessments'] = $assessments;
        $cand['assess'] = round(aggregateValues($assessments, $owaWeights) * 10000, 0) / 10000;
        // Random assessment
        // $cand['assess'] = round(mt_rand() / mt_getrandmax() * 10000, 0) / 10000;
        $out[] = $cand;
    }
    // Sorting by assessment
    $out = array_key_multi_sort($out, 'assess');
    return $out;
}