/** * get mail lists * * @return array|null */ function cw_vertical_response_get_lists() { global $config; $vertical_response_data =& cw_session_register('vertical_response_data'); // clear data after day if (isset($vertical_response_data['time']) && $vertical_response_data['time'] + SECONDS_PER_DAY < cw_core_get_time()) { $vertical_response_data = array(); } $result = array(); if (isset($vertical_response_data['lists']) && !empty($vertical_response_data['lists'])) { foreach ($vertical_response_data['lists'] as $list) { if ($list->status == 'active') { $result[] = array('list_id' => $list->id, 'name' => $list->name, 'descr' => $list->name); } } } else { $vertical_response_email = trim($config[vertical_response_addon_name]['vertical_response_email']); $vertical_response_password = trim($config[vertical_response_addon_name]['vertical_response_password']); try { $vertical_response_data['time'] = cw_core_get_time(); // lifetime $vr = new SoapClient(vertical_response_wsdl, array('connection_timeout' => 5)); $sid = $vr->login(array('username' => "{$vertical_response_email}", 'password' => "{$vertical_response_password}", 'session_duration_minutes' => vertical_response_ses_time)); // get all lists $lists = $vr->enumerateLists(array('session_id' => $sid, 'type' => 'email', 'include_field_info' => false, 'limit' => 20)); $vertical_response_data['lists'] = $lists; if (!empty($lists) && count($lists)) { foreach ($lists as $list) { if ($list->status == 'active') { $result[] = array('list_id' => $list->id, 'name' => $list->name, 'descr' => $list->name); } } } } catch (SoapFault $exception) { //exit ('fault: "' . $exception->faultcode . '" - ' . $exception->faultstring . "\n"); } } return $result; }