-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcore_api.php
70 lines (60 loc) · 2.57 KB
/
core_api.php
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
60
61
62
63
64
65
66
67
68
69
70
<?php
/* ****************** */ /* CORE API FUNCTIONS */ /* ****************** */
/**
* Gets last active timestamp for a user, optionally formatted
*
* @since 14.12.2
*
* @param int $user_id The ClassicPress user ID
* @param mixed $format Set to false to return date/time value, or a string for formatting, eg: "Last active: %s ago"
*
* @return mixed Date/time value, formatted string, or false if no last active value available
*/
function cpc_api_user_last_active($user_id, $format=false) {
$datetime = false;
$last_active = get_user_meta($user_id, 'cpccom_last_active', true);
if ($last_active):
if (!$format):
$datetime = $last_active;
else:
$datetime = sprintf($format, human_time_diff(strtotime($last_active), current_time('timestamp', 1)));
endif;
endif;
return $datetime;
}
/**
* Fügt einen ClassicPress-Beitrag des Typs cpc_activity ein
*
* @since 14.12.2
*
* @param string $activity_post Der Aktivitätspost, der eingefügt werden soll
* @param int $the_author_id ID eines ClassicPress-Mitglieds als Autor des Aktivitätsposts
* @param int $the_target_id ID eines ClassicPress-Mitglieds als Ziel des Aktivitätsposts (verwende $the_author_id für Post an sich selbst/Freunde)
* @param array $the_post Optional $_POST zur weiteren Verarbeitung durch cpc_activity_post_add_hook
* @param array $the_files Optional $_FILES zur weiteren Verarbeitung durch cpc_activity_post_add_hook
*
* @return int ID des neuen ClassicPress-Beitrags oder false, wenn das Einfügen fehlgeschlagen ist
*
* Hinweis: Dies beinhaltet den Hook cpc_activity_post_add_hook, sodass Benachrichtigungen generiert werden können
*/
function cpc_api_insert_activity_post($activity_post, $the_author_id, $the_target_id, $the_post=null, $the_files=null) {
global $current_user;
$new_id = false;
if ( is_user_logged_in() ) {
$post = array(
'post_title' => $activity_post,
'post_status' => 'publish',
'post_type' => 'cpc_activity',
'post_author' => $the_author_id,
'ping_status' => 'closed',
'comment_status' => 'open',
);
$new_id = wp_insert_post( $post );
if ($new_id):
update_post_meta( $new_id, 'cpc_target', $the_target_id );
do_action( 'cpc_activity_post_add_hook', $the_post, $the_files, $new_id );
endif;
}
return $new_id;
}
?>