Пример #1
0
<?php

$site_id = get_config("site_id");
$swordfish_api_shared_key = elgg_get_plugin_setting("swordfish_api_shared_key", "pleio_api");
$license_key = elgg_get_plugin_setting("license_key", "pleio_api");
$gcm_api_key = elgg_get_plugin_setting("gcm_api_key", "pleio_api");
$logo_url = pleio_api_get_mobile_logo($site_id);
$ios_push_certificate = pleio_api_get_ios_push_certificate($site_id);
$ios_push_certificate_status = "Niet beschikbaar";
if (file_exists($ios_push_certificate)) {
    $ios_push_certificate_status = "Opgeslagen op " . date("d-m-Y", filemtime($ios_push_certificate));
    if (function_exists("openssl_x509_parse")) {
        $cert_info = openssl_x509_parse(file_get_contents($ios_push_certificate));
        $ios_push_certificate_status = sprintf("%s %s - %s", $cert_info["subject"]["CN"], date("d-m-Y", $cert_info["validFrom_time_t"]), date("d-m-Y", $cert_info["validTo_time_t"]));
    }
}
?>
<form action="<?php 
echo $vars["url"];
?>
action/pleio_api/settings" method="post" enctype="multipart/form-data">
	<?php 
echo elgg_view("input/securitytoken");
?>
	
	<?php 
if ($site_id == 1) {
    $html = elgg_view('input/text', array('name' => 'params[gcm_api_key]', 'value' => $gcm_api_key));
    echo elgg_view_module("inline", elgg_echo('pleio_api:settings:gcm_api_key'), $html);
    ?>
	
Пример #2
0
function pleio_api_get_all_subsites($search = null, $subsite_id = 0, $locked_filter = 0, $order_by = 0, $offset = 0, $wheres = array(), $joins = array())
{
    $list = array();
    $total = 0;
    $joins[] = sprintf(" INNER JOIN %ssites_entity s USING (guid) ", get_config("dbprefix"));
    $offset = intval($offset);
    if ($search) {
        $search = sanitise_string($search);
        $wheres[] = " (s.name LIKE '%{$search}%' OR s.url LIKE '%{$search}%' OR s.description LIKE '%{$search}%') ";
    }
    if ($locked_filter == 1) {
        $joins[] = sprintf(" INNER JOIN %sprivate_settings ps ON ps.entity_guid = guid ", get_config("dbprefix"));
        $wheres[] = " ps.name = 'membership' AND ps.value = 'open' ";
    } elseif ($locked_filter == 2) {
        $joins[] = sprintf(" INNER JOIN %sprivate_settings ps ON ps.entity_guid = guid ", get_config("dbprefix"));
        $wheres[] = " ps.name = 'membership' AND ps.value != 'open' ";
    }
    $options = array('type' => 'site', 'limit' => 20, 'offset' => $offset, 'count' => true, "wheres" => $wheres, "joins" => $joins, 'site_guid' => ELGG_ENTITIES_ANY_VALUE);
    if ($subsite_id) {
        $options["guids"] = $subsite_id;
    }
    $total = elgg_get_entities($options);
    if ($total > 0) {
        $options['count'] = false;
        if ($order_by == 1) {
            $options['order_by'] = ' s.name ';
        } elseif ($order_by == 2) {
            $options['order_by'] = ' s.name DESC ';
        }
        $sites = elgg_get_entities($options);
        /* @var $site Subsite */
        foreach ($sites as $site) {
            $e = pleio_api_export($site, explode(",", "guid,name,url"));
            $membership = get_private_setting($site->guid, "membership");
            $e["o"] = !$membership || $membership == "open" ? 1 : 0;
            $is_member = $site instanceof Subsite && $site->isUser() || !$site instanceof Subsite && $site instanceof ElggSite ? 1 : 0;
            $e["m"] = $is_member;
            $e["i"] = !$is_member && $site instanceof Subsite && $site->hasInvitation() ? 1 : 0;
            $e["p"] = !$is_member && $site instanceof Subsite && $site->pendingMembershipRequest() ? 1 : 0;
            $e["l"] = pleio_api_get_mobile_logo($e['guid'], $e["url"]);
            $colors = pleio_api_get_site_colors($e['guid']);
            $e["c"] = $colors[0];
            $e["fc"] = $colors[1];
            $count_result = get_data_row(sprintf("select count(*) as c from %sentity_relationships where guid_two = %d and relationship = 'member_of_site' ", get_config("dbprefix"), $e['guid']));
            $e["mt"] = $count_result->c;
            $e["e"] = $site->email;
            $list[] = $e;
        }
    }
    return array("total" => $total, "list" => $list, "offset" => $offset);
}