/** \sa http://creativyst.com/Doc/Articles/CSV/CSV01.htm \sa http://en.wikipedia.org/wiki/Comma-separated_values */ function quote_csv($str, $csv_record_separator = "\n", $csv_field_separator = ',', $csv_incloser = '"') { if (string_contains($str, $csv_incloser)) { return $csv_incloser . str_replace($csv_incloser, $csv_incloser . $csv_incloser, $str) . $csv_incloser; } if (string_contains($str, $csv_record_separator) || string_contains($str, $csv_field_separator) || string_begins_with_space($str) || string_ends_with_space($str)) { return $csv_incloser . $str . $csv_incloser; } return $str; }
{ $scan = glob('modules/*'); foreach ($scan as $path) { if (preg_match('/\\.php$/', $path)) { require_once $path; } } } function register_callback($callback) { array_push($GLOBALS['callbacks'], $callback); } require_modules(); $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); $success = socket_connect($socket, HOST, PORT); irc_send($socket, 'NICK ' . NICKNAME); irc_send($socket, 'USER ' . NICKNAME . ' 0 * :' . NICKNAME); do { $input = socket_read($socket, 2048, PHP_NORMAL_READ); if ($input === false) { break; } echo 'input: ', $input; if (!$joined && string_contains($input, 'MODE')) { irc_send($socket, 'JOIN ' . CHANNEL); } else { foreach ($callbacks as $callback) { $callback($socket, $input); } } } while (true);
/** * Alias of string_contains * * @param string $input * @param string $substring * * @return bool * * @author Lucantis Swann <*****@*****.**> */ function string_include($input, $substring) { return string_contains($input, $substring); }
<?php function react_to_ping($socket, $input) { $parts = explode(' ', $input); irc_send($socket, 'PONG ' . $parts[1]); } register_callback(function ($socket, $input) { if (string_contains($input, 'PING')) { react_to_ping($socket, $input); } });
function string_doesnt_contains($field, $value) { return "not " . string_contains($field, $value); }