コード例 #1
0
ファイル: db_view.php プロジェクト: madhavpanda/iou-centerms
" method="post">
										<td align="center"><input type="submit" id="submit" value="Return to Menu"></td>
									</form>
								</tr>
						</table></td>
              </tr>
            </table></td>
        </tr>
<?php 
        } else {
            if ($FORM['f'] == "view") {
                $table_structure = mysql_table_structure($mysql_connect_id, $table_name);
                if (!$primary_key_field) {
                    $primary_key_field = mysql_primary_key_field($table_structure);
                }
                $record = mysql_extract_record_id($mysql_connect_id, $table_name, array($primary_key_field => $FORM['pri']));
                $return_to_menu_url = $_SERVER[PHP_SELF] . "?" . $FORM['return_query'];
                if ($field_features) {
                    foreach ($field_features as $field_name => $features) {
                        if ($field_features[$field_name]['fkey'] or $field_features[$field_name]['build_cat']) {
                            $fkey_used = 1;
                            break;
                        }
                    }
                }
                if ($FORM['fkey'] == "off") {
                    foreach ($field_features as $field_name => $features) {
                        $field_features[$field_name]['fkey'] = "";
                        $field_features[$field_name]['build_cat'] = "";
                    }
                }
コード例 #2
0
ファイル: mysql.php プロジェクト: madhavpanda/iou-centerms
function mysql_get_foreign_key_text($connect_id, $database, $table, $key_field, $display_fields)
{
    if ($database) {
        $current_db = mysql_current_databse($connect_id);
        if ($current_db != $database) {
            mysql_change_db($connect_id, $database);
        } else {
            $database = "";
        }
    }
    if (!is_array($key_field)) {
        print "#Error# {$key_field} should be an array [Example - array( 'id' => 'snoop' )]";
    } else {
        if (current($key_field)) {
            if (preg_match("/field\\[([^\\]]+)\\]/i", $display_fields)) {
                $display_fields_new = $display_fields;
                while (preg_match("/field\\[([^\\]]+)\\]/i", $display_fields_new, $preg_results)) {
                    $display_fields_new = str_replace($preg_results[0], "", $display_fields_new);
                    $field_list[] = strtolower($preg_results[1]);
                }
                $fields_to_extract = join(",", $field_list);
            } else {
                $fields_to_extract = $display_fields;
                $text_separator = " - ";
            }
            $fkey_record = mysql_extract_record_id($connect_id, $table, $key_field, $fields_to_extract);
            if ($fkey_record) {
                #$fkey_text = join( $text_separator, $fkey_record );
                if ($text_separator) {
                    $fkey_text = join($text_separator, $fkey_record);
                } else {
                    # Allows formatting of the $display_fields string
                    $display_fields_new = $display_fields;
                    while (preg_match("/field\\[([^\\]]+)\\]/i", $display_fields_new, $preg_results)) {
                        $preg_value = strtolower($preg_results[1]);
                        $display_fields_new = str_replace($preg_results[0], $fkey_record[$preg_value], $display_fields_new);
                    }
                    $bracket_types = array("[" => "]", "<" => ">");
                    foreach ($bracket_types as $open_bracket => $close_bracket) {
                        $open_bracket = preg_quote($open_bracket);
                        $close_bracket = preg_quote($close_bracket);
                        $preg_query = "/(?:fk|fkey)" . $open_bracket . "([^\\.]+)\\.([^\\.]+)\\.([^=]+)=([^,]+), ([^" . $close_bracket . "]+)" . $close_bracket . "/i";
                        while (preg_match($preg_query, $display_fields_new, $preg_results)) {
                            # Usage   - fkey[database.table.field=value, fieldstodisplay]
                            # Example - fkey[general.city.code=DXB, 'field<name>-field<country_code>']
                            $preg_results[5] = preg_replace("/^'/", "", $preg_results[5]);
                            $preg_results[5] = preg_replace("/'\$/", "", $preg_results[5]);
                            $text_replace = mysql_get_foreign_key_text($connect_id, $preg_results[1], $preg_results[2], array($preg_results[3] => $preg_results[4]), $preg_results[5]);
                            $display_fields_new = str_replace($preg_results[0], $text_replace, $display_fields_new);
                        }
                    }
                    $fkey_text = str_replace(",", "&#44;", $display_fields_new);
                }
            } else {
                $fkey_text = "FKey [ERROR]";
            }
        } else {
            $fkey_text = "[NULL]";
        }
    }
    if ($database) {
        mysql_change_db($connect_id, $current_db);
    }
    return $fkey_text;
}