public function pushDataToIndexServers($delete = false)
 {
     $myHost = LernmarktplatzHost::thisOne();
     $data = array();
     $data['host'] = array('name' => $myHost['name'], 'url' => $myHost['url'], 'public_key' => $myHost['public_key']);
     $data['data'] = $this->toArray();
     $data['data']['foreign_material_id'] = $data['data']['material_id'];
     unset($data['data']['material_id']);
     unset($data['data']['id']);
     unset($data['data']['user_id']);
     unset($data['data']['host_id']);
     $user_description_datafield = DataField::find(get_config("LERNMARKTPLATZ_USER_DESCRIPTION_DATAFIELD")) ?: DataField::findOneBySQL("name = ?", array(get_config("LERNMARKTPLATZ_USER_DESCRIPTION_DATAFIELD")));
     if ($user_description_datafield) {
         $datafield_entry = DatafieldEntryModel::findOneBySQL("range_id = ? AND datafield_id = ?", array($this['user_id'], $user_description_datafield->getId()));
     }
     $data['user'] = array('user_id' => $this['user_id'], 'name' => get_fullname($this['user_id']), 'avatar' => Avatar::getAvatar($this['user_id'])->getURL(Avatar::NORMAL), 'description' => $datafield_entry ? $datafield_entry['content'] : null);
     $data['topics'] = array();
     foreach ($this->getTopics() as $tag) {
         if ($tag['name']) {
             $data['topics'][] = $tag['name'];
         }
     }
     if ($delete) {
         $data['delete_material'] = 1;
     }
     foreach (LernmarktplatzHost::findBySQL("index_server = '1' AND allowed_as_index_server = '1' ") as $index_server) {
         if (!$index_server->isMe()) {
             echo " push ";
             $index_server->pushDataToEndpoint("push_data", $data);
         }
     }
 }