/**
 * get subscribers
 *
 * @param $list_id
 * @return array
 */
function cw_vertical_response_get_subscribers($list_id)
{
    global $config;
    $vertical_response_email = trim($config[vertical_response_addon_name]['vertical_response_email']);
    $vertical_response_password = trim($config[vertical_response_addon_name]['vertical_response_password']);
    $subscribers = array();
    try {
        $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));
        $lists = $vr->downloadList(array('session_id' => $sid, 'list_id' => $list_id, 'delimiter' => 'csv', 'fields_to_include' => array('email_address', 'create_date')));
        if (!empty($lists)) {
            $content = file_get_contents($lists->contents->location);
            $rows = str_getcsv($content, "\n");
            if ($rows) {
                unset($rows[0]);
                foreach ($rows as $row) {
                    $list = str_getcsv($row, ",");
                    $datetime = date_create_from_format('Y-m-d H:i:s', $list[1]);
                    $timestamp = date_timestamp_get($datetime);
                    $subscribers[] = array('email' => $list[0], 'create_date' => $timestamp, 'optin_status' => $list[2]);
                }
            }
        }
    } catch (SoapFault $exception) {
        //exit ('fault: "' . $exception->faultcode . '" - ' . $exception->faultstring . "\n");
    }
    return $subscribers;
}