void ExecutionContext::obStart(const Variant& handler /* = null */) { if (m_insideOBHandler) { raise_error("ob_start(): Cannot use output buffering " "in output buffering display handlers"); } m_buffers.emplace_back(Variant(handler)); resetCurrentBuffer(); }
bool ExecutionContext::obEnd() { ASSERT(m_protectedLevel >= 0); if ((int)m_buffers.size() > m_protectedLevel) { delete m_buffers.back(); m_buffers.pop_back(); resetCurrentBuffer(); return true; } return false; }
bool ExecutionContext::obEnd() { assert(m_protectedLevel >= 0); if ((int)m_buffers.size() > m_protectedLevel) { delete m_buffers.back(); m_buffers.pop_back(); resetCurrentBuffer(); if (m_implicitFlush) flush(); return true; } if (m_implicitFlush) flush(); return false; }
void ExecutionContext::obStart(const Variant& handler /* = null */) { OutputBuffer *ob = new OutputBuffer(); ob->handler = handler; m_buffers.push_back(ob); resetCurrentBuffer(); }
void BaseExecutionContext::obStart(CVarRef handler /* = null */) { OutputBuffer *ob = new OutputBuffer(); ob->handler = handler; m_buffers.push_back(ob); resetCurrentBuffer(); }