Exemplo n.º 1
0
/**
 * [gruppe|person][403|404][[auth,ids]]
 * @param unknown_type $params
 */
function churchcal_saveShares($params)
{
    $log = "";
    $orig = churchcal_getShares($params);
    // Ich gehe das urspr�ngliche durch
    $domaintypes = array();
    $domaintypes[] = "person";
    $domaintypes[] = "gruppe";
    foreach ($domaintypes as $domaintype) {
        if (isset($orig[$domaintype])) {
            foreach ($orig[$domaintype] as $key_authid => $authid) {
                // Ich schaue was nicht mehr dabei ist und l�sche
                foreach ($authid as $domainid) {
                    if (!isset($params[$domaintype]) || !isset($params[$domaintype][$key_authid]) || !in_array($domainid, $params[$domaintype][$key_authid])) {
                        $log .= "<p>Entferne {$domaintype}, {$key_authid}, {$domainid}";
                        db_query("delete from {cc_domain_auth} where domain_type=:domaintype and domain_id=:domain_id\n                          and auth_id=:auth_id and daten_id=:daten_id", array(':domain_id' => $domainid, ":domaintype" => $domaintype, ":auth_id" => $key_authid, ":daten_id" => $params["cat_id"]));
                    }
                }
            }
        }
        // Ich schaue was neu dabei ist und f�ge hinzu!
        if (isset($params[$domaintype])) {
            foreach ($params[$domaintype] as $key_authid => $authid) {
                foreach ($authid as $domainid) {
                    $log .= "<p>Suche {$domaintype}, {$key_authid}, {$domainid}";
                    if (!isset($orig[$domaintype]) || !isset($orig[$domaintype][$key_authid]) || !in_array($domainid, $orig[$domaintype][$key_authid])) {
                        $log .= "<p>Erganze {$domaintype}, {$key_authid}, {$domainid}";
                        db_query("insert into {cc_domain_auth} (domain_type, domain_id, auth_id, daten_id)\n               values( :domaintype, :domain_id, :auth_id, :daten_id)", array(':domain_id' => $domainid, ":domaintype" => $domaintype, ":auth_id" => $key_authid, ":daten_id" => $params["cat_id"]));
                    }
                }
            }
        }
    }
    return $log;
}
Exemplo n.º 2
0
/**
 * [gruppe|person][403|404][[auth,ids]]
 *
 * @param array $params
 * @return
 */
function churchcal_saveShares($params)
{
    $log = "";
    $orig = churchcal_getShares($params);
    // look at the original
    foreach (array("person", "gruppe") as $domainType) {
        if (isset($orig[$domainType])) {
            foreach ($orig[$domainType] as $authKey => $authId) {
                // look what's removed and delete it
                foreach ($authId as $domainId) {
                    if (!isset($params[$domainType]) || !isset($params[$domainType][$authKey]) || !in_array($domainId, $params[$domainType][$authKey])) {
                        $log .= "<p>Delete {$domainType}, {$authKey}, {$domainId}";
                        db_query("DELETE FROM {cc_domain_auth}\n                    WHERE domain_type=:domaintype AND domain_id=:domain_id AND auth_id=:auth_id AND daten_id=:daten_id", array(':domain_id' => $domainId, ":domaintype" => $domainType, ":auth_id" => $authKey, ":daten_id" => $params["cat_id"]));
                    }
                }
            }
        }
        // look what's added and save it
        if (isset($params[$domainType])) {
            foreach ($params[$domainType] as $authKey => $authId) {
                foreach ($authId as $domainId) {
                    $log .= "<p>Search {$domainType}, {$authKey}, {$domainId}";
                    if (!isset($orig[$domainType]) || !isset($orig[$domainType][$authKey]) || !in_array($domainId, $orig[$domainType][$authKey])) {
                        $log .= "<p>Add {$domainType}, {$authKey}, {$domainId}";
                        db_query("INSERT INTO {cc_domain_auth} (domain_type, domain_id, auth_id, daten_id)\n                    VALUES( :domaintype, :domain_id, :auth_id, :daten_id)", array(':domain_id' => $domainId, ":domaintype" => $domainType, ":auth_id" => $authKey, ":daten_id" => $params["cat_id"]));
                    }
                }
            }
        }
    }
    return $log;
}