public static function createRecord($structuredUnitId, $name, $rank) { if (!$structuredUnitId) { return 0; } // find the right rank value if (!$rank) { $query = "SELECT count(*) from structured_field where structured_unit_id={$structuredUnitId} LIMIT 1;"; $result = mysql_query($query) or die(sqlError(__FILE__, __LINE__, $query)); $row = mysql_fetch_row($result); if ($row[0]) { $query = "SELECT MAX(rank) from structured_field where structured_unit_id={$structuredUnitId};"; $result = mysql_query($query) or die(sqlError(__FILE__, __LINE__, $query)); $row = mysql_fetch_row($result); $rank = $row[0] + 1; } else { $rank = 1; } } else { if (StructuredField::findRecord($structuredUnitId, $rank)) { StructuredField::moveRankUp($structuredUnitId, $rank); } } // create structured field $query = "INSERT INTO structured_field (structured_unit_id, rank, name) VALUES ({$structuredUnitId}, {$rank}, '{$name}');"; $result = mysql_query($query) or die(sqlError(__FILE__, __LINE__, $query)); // create field values and field assets $id = mysql_insert_id(); StructuredFieldValue::initValues($structuredUnitId, $id); StructuredFieldAsset::initAssets($structuredUnitId, $id); return $id; }