-
Notifications
You must be signed in to change notification settings - Fork 1
/
location.class.inc
59 lines (47 loc) · 1.17 KB
/
location.class.inc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?php
// Sounds of Europe
// Location
class SOE_Location extends SOE_Type
{
public function __construct($args)
{
parent::__construct($args);
$this->addMetaFields(array(
'location_city' => 'City',
'location_country' => 'Country code',
'location_lat' => 'Latitude',
'location_lon' => 'longitude'));
if($this->isSelfAdmin())
{
add_action( 'admin_init', array(&$this, 'admin_init') );
}
add_filter('name_save_pre', array(&$this, 'prepare_to_save'));
add_filter('title_save_pre', array(&$this, 'prepare_to_save'));
}
public function prepare_to_save($arg_name)
{
if ($_POST['post_type'] == 'soe_location')
{
return $_POST['location_city'];
}
else
{
return $arg_name;
}
}
public function admin_init()
{
add_meta_box( 'mb_location_city', 'Name', array( &$this, "meta_name" ), $this->tname, 'normal', 'high');
}
public function meta_name($post, $metabox)
{
$custom = get_post_custom($post->ID);
echo '
<div class="inside">
<input type="text" name="location_city" style="width:98%;" value="'.$custom['location_city'][0].'" id="location_city">
<p>'.$this->meta_fields['location_city'].'</p>
</div>
';
}
}
?>