Esempio n. 1
0
/**
 * Implode $arr to comma separated WHERE condition and clean string
 * @param unknown $arr
 */
function db_implode($arr)
{
    return db_cleanParam(implode(",", $arr));
}
/**
 * get person(s) by group id as array[group][person]
 *
 * @param array $params
 *          - params[ids] = comma-separated liste of group ids
 * @return array with persons
 */
function churchservice_getPersonByGroupIds($params)
{
    $ids = db_cleanParam($params["ids"]);
    $res = db_query("SELECT g.bezeichnung, gpg.gruppe_id g_id, p.id p_id, gp.id gp_id, p.vorname, p.name,\n                          p.email, gp.imageurl, p.cmsuserid, gpg.status_no leiter\n                  FROM {cdb_person} p, {cdb_gemeindeperson} gp, {cdb_gemeindeperson_gruppe} gpg, {cdb_gruppe} g\n                  WHERE gpg.gemeindeperson_id=gp.id AND gp.person_id=p.id AND g.id=gpg.gruppe_id\n                        AND gpg.status_no>=0 AND gpg.gruppe_id IN (" . $ids . ")");
    $arr = array();
    foreach ($res as $p) {
        if (!isset($arr[$p->g_id])) {
            $arr[$p->g_id] = array();
        }
        $tags_res = db_query("SELECT * FROM {cdb_gemeindeperson_tag}\n                          WHERE gemeindeperson_id=:gp_id", array(":gp_id" => $p->gp_id));
        $p->tags = array();
        foreach ($tags_res as $tag) {
            $p->tags[] = $tag->tag_id;
        }
        $arr[$p->g_id][$p->p_id] = $p;
    }
    return $arr;
}