bool f_headers_sent(VRefParam file /* = null */, VRefParam line /* = null */) {
    Transport *transport = g_context->getTransport();
    if (transport) {
        file = String(transport->getFirstHeaderFile());
        line = transport->getFirstHeaderLine();
        return transport->headersSent();
    }
    return false;
}
bool HHVM_FUNCTION(headers_sent, VRefParam file /* = null */,
                   VRefParam line /* = null */) {
    Transport *transport = g_context->getTransport();
    if (transport) {
        file = String(transport->getFirstHeaderFile());
        line = transport->getFirstHeaderLine();
        return transport->headersSent();
    } else {
        return g_context->getStdoutBytesWritten() > 0;
    }
    return false;
}
Beispiel #3
0
bool HHVM_FUNCTION(header_register_callback, const Variant& callback) {
  Transport *transport = g_context->getTransport();
  if (!transport) {
    // fail if there is no transport
    return false;
  }
  if (transport->headersSent()) {
    // fail if headers have already been sent
    return false;
  }
  return transport->setHeaderCallback(callback);
}
bool f_header_register_callback(CVarRef callback) {
    Transport *transport = g_context->getTransport();
    if (!transport) {
        // fail if there is no transport
        return false;
    }
    if (transport->headersSent()) {
        // fail if headers have already been sent
        return false;
    }
    return transport->setHeaderCallback(callback);
}
Variant HHVM_FUNCTION(header_register_callback, const Variant& callback) {
    Transport *transport = g_context->getTransport();

    if (!HHVM_FN(is_callable)(callback)) {
        raise_warning("First argument is expected to be a valid callback");
        return init_null();
    }

    if (!transport) {
        // fail if there is no transport
        return false;
    }
    if (transport->headersSent()) {
        // fail if headers have already been sent
        return false;
    }
    return transport->setHeaderCallback(callback);
}