File: /var/www/html/www.winghung.com/wp-content/plugins/conversational-forms/cf2/functions.php
<?php
/**
* Get the cf2 container
*
* @since 1.8.0
*
* @return \qcformbuilderwp\qcformbuilderforms\cf2\QcformbuilderFormsV2Contract
*/
function qcformbuilder_forms_get_v2_container()
{
static $container;
if ( !$container ) {
$container = new \qcformbuilderwp\qcformbuilderforms\cf2\QcformbuilderFormsV2();
do_action('qcformbuilder_forms_v2_init', $container);
}
return $container;
}
/**
* Setup Cf2 container
*
* @since 1.8.0
*
* @uses "qcformbuilder_forms_v2_init" action
*
* @param \qcformbuilderwp\qcformbuilderforms\cf2\QcformbuilderFormsV2Contract $container
*/
function qcformbuilder_forms_v2_container_setup(\qcformbuilderwp\qcformbuilderforms\cf2\QcformbuilderFormsV2Contract $container)
{
$container
//Set paths
->setCoreDir(WFBCORE_PATH)
->setCoreUrl(WFBCORE_URL)
//Setup field types
->getFieldTypeFactory()
->add(new \qcformbuilderwp\qcformbuilderforms\cf2\Fields\FieldTypes\FileFieldType());
//Add hooks
$container->getHooks()->subscribe();
//Register other services
$container
->registerService(new \qcformbuilderwp\qcformbuilderforms\cf2\Services\QueueService(), true)
->registerService(new \qcformbuilderwp\qcformbuilderforms\cf2\Services\QueueSchedulerService(), true);
//Run the scheduler with CRON
/** @var \qcformbuilderwp\qcformbuilderforms\cf2\Jobs\Scheduler $scheduler */
$scheduler = $container->getService(\qcformbuilderwp\qcformbuilderforms\cf2\Services\QueueSchedulerService::class);
$running = $scheduler->runWithCron();
}
/**
* Schedule delete with job manager
*
* @since 1.8.0
*
* @param \qcformbuilderwp\qcformbuilderforms\cf2\Jobs\Job $job Job to schedule
* @param int $delay Optional. Minimum delay before job is run. Default is 0.
*/
function qcformbuilder_forms_schedule_job(\qcformbuilderwp\qcformbuilderforms\cf2\Jobs\Job $job, $delay)
{
qcformbuilder_forms_get_v2_container()
->getService(\qcformbuilderwp\qcformbuilderforms\cf2\Services\QueueSchedulerService::class)
->schedule($job, $delay);
}