예제 #1
0
/**
 * duplicate a lab and associate with a user
 *
 * @param   int $from_lab_id lab id
 * @param   int $to_user_id  user id
 *
 * @return  int|bool                new lab id | FALSE on error
 */
function ace_db_lab_duplicate($from_lab_id, $to_user_id)
{
    $from_lab_info = ace_db_lab_get_info($from_lab_id);
    $to_lab_instance = ace_db_user_get_available_lab_instance($to_user_id);
    if ($to_lab_instance !== FALSE) {
        $to_lab_name = str_pad($to_user_id, 5, '0', STR_PAD_LEFT) . '-lab-' . str_pad($to_lab_instance, 2, '0', STR_PAD_LEFT);
        $to_lab_display_name = $from_lab_info['display_name'];
        $sql = "INSERT INTO lab (\n\t\t\t\t\t`user_id`,\n\t\t\t\t\t`instance`,\n\t\t\t\t\t`name`,\n\t\t\t\t\t`display_name`,\n\t\t\t\t\t`state`)\n\t\t\t\tVALUES (\n\t\t\t\t\t{$to_user_id},\n\t\t\t\t\t{$to_lab_instance},\n\t\t\t\t\t'{$to_lab_name}',\n\t\t\t\t\t'{$to_lab_display_name}',\n\t\t\t\t\t0)";
        $db_result = ace_db_query($sql);
        if ($db_result->last_insert_id != 0) {
            $return = $db_result->last_insert_id;
        } else {
            $return = FALSE;
        }
    } else {
        $return = FALSE;
    }
    return $return;
}
예제 #2
0
파일: fns.php 프로젝트: BCTAACCCT/ACEITLab
/**
 * returns a lab record
 *
 * @api
 *
 * @param   int $lab_id lab id
 *
 * @return  array|bool              array of lab information | FALSE on error
 */
function ace_lab_get_info($lab_id)
{
    return ace_db_lab_get_info($lab_id);
}