function get_state_data($url) { $html = scraperWiki::scrape($url); $dom = new simple_html_dom(); $dom->load($html); $count = 1; foreach ($dom->find("div[id=dashboard_main_content] tr") as $data) { $ths = $data->find("th"); $tds = $data->find("td"); $heading = $ths[0]->plaintext; $object = $tds[0]; $value = $object->plaintext; if (!$heading) { $heading = "Extra Field {$count}:"; $count++; } $heading = substr($heading, 0, strpos($heading, ":")); $clean_heading = str_replace(' ', '_', strtolower($heading)); $record[$clean_heading] = $value; if ($clean_heading == 'official_name' || $clean_heading == 'information' || $clean_heading == 'governor') { foreach ($object->find("a") as $link) { $link = $link->href; $new_heading = $clean_heading . "_url"; if (substr($link, 0, 7) == 'mailto:') { $record['email'] = substr($link, 7, strlen($link) - 7); } else { $heading = "{$heading} URL"; $record[$new_heading] = $link; } } } if ($clean_heading == 'information') { $phone_numbers = get_phone_numbers($value); $record['phone_primary'] = $phone_numbers[0] ? $phone_numbers[0] : ''; $record['phone_secondary'] = $phone_numbers[1] ? $phone_numbers[1] : ''; } } if (!isset($record['email'])) { $record['email'] = null; } if (isset($record)) { return $record; } else { return 'hello'; } }
function get_state_data($url) { $html = scraperWiki::scrape($url); $dom = new simple_html_dom(); $dom->load($html); $count = 1; $content = $dom->find("div[id=contentwrapper]", 0); $title = $content->find("div[class=article-title]", 0)->plaintext; // clean up weird spacing $title = trim(preg_replace('!\\s+!', ' ', $title)); $title = substr($title, strpos($title, 'Governor') + 9); $record['name'] = $title; $table = $content->find("table tr", 0); $column = $table->find('td', 0); $record['url_photo'] = 'http://www.nga.org' . $column->find('img', 0)->src; if ($column->find('li', 0)) { $link_href = $column->find('li', 0)->find('a', 0)->href; $link_text = $column->find('li', 0)->find('a', 0)->plaintext; if ($link_text == "Governor's Website") { $record['url_governor'] = $link_href; } if ($link_text == 'State Website') { $record['url_state'] = $link_href; } } if ($column->find('li', 1)) { $record['url_state'] = $column->find('li', 1)->find('a', 0)->href; } $column = $table->find('td', 2); $address = $column->find("div", 0); $address_name = $address->innertext; $address_name = trim(substr($address_name, strpos($address_name, '</span>') + 7)); $record['address_1'] = substr($address_name, 0, strpos($address_name, '<br>')); $record_1 = trim($address->find("div", 0)->plaintext); $record_2 = $address->find("div", 1)->plaintext; if (empty($record_2)) { $record['address_2'] = null; $address_full = $record_1; } else { $record['address_2'] = $record_1; $address_full = $record_2; } $address_full = str_replace(' ', ' ', $address_full); $address_full = trim(preg_replace('!\\s+!', ' ', $address_full)); $record['address_city'] = substr($address_full, 0, strrpos($address_full, ', ')); $record['address_state'] = substr($address_full, strrpos($address_full, ', ') + 2, 2); $record['address_zip'] = substr($address_full, strrpos($address_full, ' ') + 1); // Phone number foreach ($column->find("span[class=bio-stats-title]") as $data) { $field = trim($data->plaintext); if ($field == 'Phone:') { $phone = $data->parent(); $phone = $phone->innertext; $phone = trim(substr($phone, strpos($phone, '</span>') + 7)); $phone_clean = get_phone_numbers($phone); if (!empty($phone_clean)) { $record['phone'] = $phone_clean[0]; } else { $record['phone'] = null; } } } if (isset($record)) { return $record; } else { return 'hello'; } }
function reader_phone_shortcode($atts) { $a = shortcode_atts(array('reader' => ''), $atts); $reader = $a['reader']; $reader_keys = get_reader_keys(); $output = ''; if (in_array($reader, $reader_keys)) { $phone_numbers = get_phone_numbers(); $today = strtolower(day_of_week()); $now = strtotime(now()); $in = strtotime(reader_in($reader, $today)); $out = strtotime(reader_out($reader, $today)); manage_buttons($reader); $available = '<h2 style="text-align: center; color: #17de9b; font-weight: bold;">' . $phone_numbers[$reader] . '</h2>'; $not_available = '<div class="margin-top-0 ' . $reader . '-not-available ' . '"><a class=" ' . '" href="#">Not Available</a></div>'; $busy = '<div class="' . $reader . '-busy>' . '<a class="white ' . '" href="#">Busy with Client</a></div>'; if ($in <= $now && $now <= $out) { if (is_reader_busy($reader) == '0') { // Reader Available $output = $available; } else { // Reader Busy $output = $busy; } } else { // Reader Not Available $output = $not_available; } } return $output; }