Adobe Connect bağlantımızı yapıyoruz , eğer bağlantı yapmayı bilmiyorsanız bir önceki makalemizi okuyabilirsiniz. Bağlantı işlemini yaptıysak şimdi gelelim grup oluşturmaya.
$name = $request->input('name');
$description = $request->input('description');
Request olarak aldığımız veriler ile adobe grubu oluşturacağız. Eğer tek grup oluşturacaksanız siz requestle almak yerine aşağıda ki gibi manuel tanımlayabilirsiniz.
$name = "grup adı";
$description = "grup açıklaması";
Grup bilgilerini manuel veya request yardımıyla aldıktan sonra grubu ekliyoruz ve ekleyip eklemediğimizin kontrolünü yapıyoruz.
$group_control = $client->call("principal-list", ["filter-type" => "group", "filter-name" => $name]);
$group_status = isset(json_decode(json_encode($user_control, 1))->{'principal-list'}->principal->{'@attributes'}->{'principal-id'}) ? 1 : 0;
$group_status’dan bize dönen yanıt 1 ise grup oluşturulmuştur eğer 0 ise hata oluşmuştur. Kodun genel hali aşağıdaki gibidir.
public function createGroup(Request $request) { $config = new Config( "https://deneme.adobeconnect.com", "[email protected]", "123qwe123" ); $client = new ApiClient($config); $name = $request->input('name'); $description = $request->input('description'); $new_user = $client->call("principal-update", [ "name" => $name, "login" => $name, "description" => $description, "type" => "group", "send-email" => "false", "has-children" => true ]); $user_control = $client->call("principal-list", ["filter-type" => "group", "filter-name" => $name]); $user_status = isset(json_decode(json_encode($user_control, 1))->{'principal-list'}->principal->{'@attributes'}->{'principal-id'}) ? 1 : 0; if ($user_status == 1) { $array['ret'] = 1; $array['message'] = "Tebrikler! Deneme başarıyla eklendi."; } else { $array['ret'] = 1; $array['message'] = "Beklenmeyen bir hata oluştu, lütfen tekrar deneyin."; } echo json_encode($array); }
Grubu oluşturduk şimdi sıra geldi grubu silmeye. Eklediğimiz grubun principal-id’sini $group_id olarak tutuyoruz.
$group_id = json_decode(json_encode($user_control, 1))->{'principal-list'}->principal->{'@attributes'}->{'principal-id'});
$group_id ile apiye çağrı yapıp grubu siliyoruz. Kodun tamamı aşağıdadır.
$user_ac_info = json_decode(json_encode($client->call("principal-list", ["filter-principal-id" => $group_id ]), 1));
if ($user_ac_info->status->{'@attributes'}->code === 'ok') {
if (isset($user_ac_info->{'principal-list'}->principal->{'@attributes'}->{'principal-id'})) {
$user_ac_id = $user_ac_info->{'principal-list'}->principal->{'@attributes'}->{'principal-id'};
$ac_user_del = json_decode(json_encode($client->call("principals-delete", ["principal-id" => $user_ac_id]), 1));
if (!$ac_user_del->status->{'@attributes'}->code === 'ok') {
array_push($del_array, "Kullanıcı adobe connect üzerinden silinirken sunucu cevap veremedi. Lütfen tekrar deneyin yada kullanıcıyı manuel olarak silin.");
}
}
} else {
array_push($del_array, "Adobe Connect sunucusu yanıt vermekte gecikme yaşıyor. Lütfen tekrar deneyin. Eğer bir süredir aynı hatayı alıyorsanız kullanıcıyı manuel olarak silmeyi deneyebilirsiniz...");
}