xmlDocPtr soap_xmlParseFile(const char *filename) { String cache_key("HPHP.SOAP.WSDL."); cache_key += filename; Variant content = f_apc_fetch(cache_key); if (same(content, false)) { Variant stream = File::Open(filename, "rb", CREATE_MAP1 ("http", CREATE_MAP1("timeout", 1000))); if (!same(stream, false)) { content = f_stream_get_contents(stream); if (!same(content, false)) { f_apc_store(cache_key, content); } } } if (!same(content, false)) { String scontent = content.toString(); xmlDocPtr ret = soap_xmlParseMemory(scontent.data(), scontent.size()); if (ret) { ret->URL = xmlCharStrdup(filename); } return ret; } return NULL; }
xmlDocPtr soap_xmlParseFile(const char *filename) { String cache_key("HPHP.SOAP.WSDL."); cache_key += filename; Variant content = f_apc_fetch(cache_key); if (same(content, false)) { Resource resource = File::Open(filename, "rb", 0, f_stream_context_create( make_map_array(s_http, make_map_array(s_timeout, 1000)))); if (!resource.isNull()) { content = f_stream_get_contents(resource); if (!same(content, false)) { f_apc_store(cache_key, content); } } } if (!same(content, false)) { String scontent = content.toString(); xmlDocPtr ret = soap_xmlParseMemory(scontent.data(), scontent.size(), false); if (ret) { ret->URL = xmlCharStrdup(filename); } return ret; } return NULL; }
bool TestExtStream::test_stream_get_contents() { { Variant f = f_fopen("test/test_ext_file.txt", "r"); VS(f_stream_get_contents(f), "Testing Ext File\n"); } { Variant f = f_tmpfile(); f_fwrite(f, "fwrite1"); f_fseek(f, 0); VS(f_stream_get_contents(f), "fwrite1"); f_fwrite(f, "fwrite2"); f_fseek(f, 0); VS(f_stream_get_contents(f), "fwrite1fwrite2"); f_fwrite(f, "fwrite3"); VS(f_stream_get_contents(f), ""); f_fclose(f); } return Count(true); }
bool PDOSqliteStatement::paramHook(PDOBoundParam *param, PDOParamEvent event_type) { switch (event_type) { case PDO_PARAM_EVT_EXEC_PRE: if (executed && !m_done) { sqlite3_reset(m_stmt); m_done = 1; } if (param->is_param) { if (param->paramno == -1) { param->paramno = sqlite3_bind_parameter_index(m_stmt, param->name.c_str()) - 1; } switch (PDO_PARAM_TYPE(param->param_type)) { case PDO_PARAM_STMT: return false; case PDO_PARAM_NULL: if (sqlite3_bind_null(m_stmt, param->paramno + 1) == SQLITE_OK) { return true; } handleError(__FILE__, __LINE__); return false; case PDO_PARAM_INT: case PDO_PARAM_BOOL: if (param->parameter.isNull()) { if (sqlite3_bind_null(m_stmt, param->paramno + 1) == SQLITE_OK) { return true; } } else { if (SQLITE_OK == sqlite3_bind_int(m_stmt, param->paramno + 1, param->parameter.toInt64())) { return true; } } handleError(__FILE__, __LINE__); return false; case PDO_PARAM_LOB: if (param->parameter.isResource()) { Variant buf = f_stream_get_contents(param->parameter.toResource()); if (!same(buf, false)) { param->parameter = buf; } else { pdo_raise_impl_error(dbh, this, "HY105", "Expected a stream resource"); return false; } } else if (param->parameter.isNull()) { if (sqlite3_bind_null(m_stmt, param->paramno + 1) == SQLITE_OK) { return true; } handleError(__FILE__, __LINE__); return false; } { String sparam = param->parameter.toString(); if (SQLITE_OK == sqlite3_bind_blob(m_stmt, param->paramno + 1, sparam.data(), sparam.size(), SQLITE_STATIC)) { return true; } } handleError(__FILE__, __LINE__); return false; case PDO_PARAM_STR: default: if (param->parameter.isNull()) { if (sqlite3_bind_null(m_stmt, param->paramno + 1) == SQLITE_OK) { return true; } } else { String sparam = param->parameter.toString(); if (SQLITE_OK == sqlite3_bind_text(m_stmt, param->paramno + 1, sparam.data(), sparam.size(), SQLITE_STATIC)) { return true; } } handleError(__FILE__, __LINE__); return false; } } break; default:; } return true; }