Site Registration

This community is designed to support the exchange of ideas and information between and within CHIRs throughout Michigan. Use it to ask questions of peers, share successes and challenges, and leverage the experience and knowledge of coalition members representing community organizations, local government agencies, business entities, health care providers, and others.

Michigan’s Community Health Innovation Regions (CHIRs) include:

  • Genesee CHIR
  • Jackson CHIR
  • Livingston Washtenaw CHIR
  • Muskegon CHIR
  • Northern Michigan CHIR, including Antrim, Benzie, Charlevoix, Emmet, Grand Traverse, Kalkaska, Leelanau, Manistee, Missaukee, and Wexford counties
concrete5 has encountered an issue.
Whoops \ Exception \ ErrorException (E_WARNING)
count(): Parameter must be an array or an object that implements Countable Whoops\Exception\ErrorException thrown with message "count(): Parameter must be an array or an object that implements Countable" Stacktrace: #37 Whoops\Exception\ErrorException in /home/michirlearningc5/michir/public_html/packages/formify/src/FormifyIntegration/Integration.php:72 #36 count in /home/michirlearningc5/michir/public_html/packages/formify/src/FormifyIntegration/Integration.php:72 #35 Concrete\Package\Formify\Src\FormifyIntegration\Integration:getConfigKeys in /home/michirlearningc5/michir/public_html/packages/formify/src/FormifyIntegration/Integration.php:44 #34 Concrete\Package\Formify\Src\FormifyIntegration\Integration:get in /home/michirlearningc5/michir/public_html/packages/formify/src/FormifyIntegration/Integration.php:28 #33 Concrete\Package\Formify\Src\FormifyIntegration\Integration:all in /home/michirlearningc5/michir/public_html/packages/formify/src/FormifyForm.php:592 #32 Concrete\Package\Formify\Src\FormifyForm:getIntegrations in /home/michirlearningc5/michir/public_html/packages/formify/src/FormifyField.php:458 #31 Concrete\Package\Formify\Src\FormifyField:getIntegrations in /home/michirlearningc5/michir/public_html/packages/formify/src/FormifyField.php:187 #30 Concrete\Package\Formify\Src\FormifyField:getFromArray in /home/michirlearningc5/michir/public_html/packages/formify/src/FormifyField.php:72 #29 Concrete\Package\Formify\Src\FormifyField:get in /home/michirlearningc5/michir/public_html/packages/formify/src/FormifyForm.php:226 #28 Concrete\Package\Formify\Src\FormifyForm:getFields in /home/michirlearningc5/michir/public_html/packages/formify/src/FormifyForm.php:686 #27 Concrete\Package\Formify\Src\FormifyForm:getSections in /home/michirlearningc5/michir/public_html/packages/formify/blocks/formify_form/view.php:14 #26 include in /home/michirlearningc5/michir/public_html/concrete/src/Block/View/BlockView.php:254 #25 Concrete\Core\Block\View\BlockView:renderViewContents in /home/michirlearningc5/michir/public_html/concrete/src/View/AbstractView.php:164 #24 Concrete\Core\View\AbstractView:render in /home/michirlearningc5/michir/public_html/concrete/src/Area/Area.php:876 #23 Concrete\Core\Area\Area:display in /home/michirlearningc5/michir/public_html/application/themes/ae/subpage_no_sidebar.php:36 #22 include in /home/michirlearningc5/michir/public_html/concrete/src/View/View.php:288 #21 Concrete\Core\View\View:renderTemplate in /home/michirlearningc5/michir/public_html/concrete/src/View/View.php:250 #20 Concrete\Core\View\View:renderViewContents in /home/michirlearningc5/michir/public_html/concrete/src/View/AbstractView.php:164 #19 Concrete\Core\View\AbstractView:render in /home/michirlearningc5/michir/public_html/concrete/src/Http/ResponseFactory.php:148 #18 Concrete\Core\Http\ResponseFactory:view in /home/michirlearningc5/michir/public_html/concrete/src/Http/ResponseFactory.php:215 #17 Concrete\Core\Http\ResponseFactory:controller in /home/michirlearningc5/michir/public_html/concrete/src/Http/ResponseFactory.php:362 #16 Concrete\Core\Http\ResponseFactory:collection in /home/michirlearningc5/michir/public_html/concrete/src/Http/DefaultDispatcher.php:134 #15 Concrete\Core\Http\DefaultDispatcher:handleDispatch in /home/michirlearningc5/michir/public_html/concrete/src/Http/DefaultDispatcher.php:58 #14 Concrete\Core\Http\DefaultDispatcher:dispatch in /home/michirlearningc5/michir/public_html/concrete/src/Http/Middleware/DispatcherDelegate.php:39 #13 Concrete\Core\Http\Middleware\DispatcherDelegate:next in /home/michirlearningc5/michir/public_html/concrete/src/Http/Middleware/ThumbnailMiddleware.php:76 #12 Concrete\Core\Http\Middleware\ThumbnailMiddleware:process in /home/michirlearningc5/michir/public_html/concrete/src/Http/Middleware/MiddlewareDelegate.php:50 #11 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /home/michirlearningc5/michir/public_html/concrete/src/Http/Middleware/FrameOptionsMiddleware.php:39 #10 Concrete\Core\Http\Middleware\FrameOptionsMiddleware:process in /home/michirlearningc5/michir/public_html/concrete/src/Http/Middleware/MiddlewareDelegate.php:50 #9 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /home/michirlearningc5/michir/public_html/concrete/src/Http/Middleware/CookieMiddleware.php:35 #8 Concrete\Core\Http\Middleware\CookieMiddleware:process in /home/michirlearningc5/michir/public_html/concrete/src/Http/Middleware/MiddlewareDelegate.php:50 #7 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /home/michirlearningc5/michir/public_html/concrete/src/Http/Middleware/ApplicationMiddleware.php:29 #6 Concrete\Core\Http\Middleware\ApplicationMiddleware:process in /home/michirlearningc5/michir/public_html/concrete/src/Http/Middleware/MiddlewareDelegate.php:50 #5 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /home/michirlearningc5/michir/public_html/concrete/src/Http/Middleware/MiddlewareStack.php:86 #4 Concrete\Core\Http\Middleware\MiddlewareStack:process in /home/michirlearningc5/michir/public_html/concrete/src/Http/DefaultServer.php:85 #3 Concrete\Core\Http\DefaultServer:handleRequest in /home/michirlearningc5/michir/public_html/concrete/src/Foundation/Runtime/Run/DefaultRunner.php:119 #2 Concrete\Core\Foundation\Runtime\Run\DefaultRunner:run in /home/michirlearningc5/michir/public_html/concrete/src/Foundation/Runtime/DefaultRuntime.php:102 #1 Concrete\Core\Foundation\Runtime\DefaultRuntime:run in /home/michirlearningc5/michir/public_html/concrete/dispatcher.php:36 #0 require in /home/michirlearningc5/michir/public_html/index.php:2
Stack frames (38)
37
Whoops
\
Exception
\
ErrorException
/
home
/
michirlearningc5
/
michir
/
public_html
/
packages
/
formify
/
src
/
FormifyIntegration
/
Integration.php
72
36
count
/
home
/
michirlearningc5
/
michir
/
public_html
/
packages
/
formify
/
src
/
FormifyIntegration
/
Integration.php
72
35
Concrete
\
Package
\
Formify
\
Src
\
FormifyIntegration
\
Integration
getConfigKeys
/
home
/
michirlearningc5
/
michir
/
public_html
/
packages
/
formify
/
src
/
FormifyIntegration
/
Integration.php
44
34
Concrete
\
Package
\
Formify
\
Src
\
FormifyIntegration
\
Integration
get
/
home
/
michirlearningc5
/
michir
/
public_html
/
packages
/
formify
/
src
/
FormifyIntegration
/
Integration.php
28
33
Concrete
\
Package
\
Formify
\
Src
\
FormifyIntegration
\
Integration
all
/
home
/
michirlearningc5
/
michir
/
public_html
/
packages
/
formify
/
src
/
FormifyForm.php
592
32
Concrete
\
Package
\
Formify
\
Src
\
FormifyForm
getIntegrations
/
home
/
michirlearningc5
/
michir
/
public_html
/
packages
/
formify
/
src
/
FormifyField.php
458
31
Concrete
\
Package
\
Formify
\
Src
\
FormifyField
getIntegrations
/
home
/
michirlearningc5
/
michir
/
public_html
/
packages
/
formify
/
src
/
FormifyField.php
187
30
Concrete
\
Package
\
Formify
\
Src
\
FormifyField
getFromArray
/
home
/
michirlearningc5
/
michir
/
public_html
/
packages
/
formify
/
src
/
FormifyField.php
72
29
Concrete
\
Package
\
Formify
\
Src
\
FormifyField
get
/
home
/
michirlearningc5
/
michir
/
public_html
/
packages
/
formify
/
src
/
FormifyForm.php
226
28
Concrete
\
Package
\
Formify
\
Src
\
FormifyForm
getFields
/
home
/
michirlearningc5
/
michir
/
public_html
/
packages
/
formify
/
src
/
FormifyForm.php
686
27
Concrete
\
Package
\
Formify
\
Src
\
FormifyForm
getSections
/
home
/
michirlearningc5
/
michir
/
public_html
/
packages
/
formify
/
blocks
/
formify_form
/
view.php
14
26
include
/
src
/
Block
/
View
/
BlockView.php
254
25
Concrete
\
Core
\
Block
\
View
\
BlockView
renderViewContents
/
src
/
View
/
AbstractView.php
164
24
Concrete
\
Core
\
View
\
AbstractView
render
/
src
/
Area
/
Area.php
876
23
Concrete
\
Core
\
Area
\
Area
display
/
home
/
michirlearningc5
/
michir
/
public_html
/
application
/
themes
/
ae
/
subpage_no_sidebar.php
36
22
include
/
src
/
View
/
View.php
288
21
Concrete
\
Core
\
View
\
View
renderTemplate
/
src
/
View
/
View.php
250
20
Concrete
\
Core
\
View
\
View
renderViewContents
/
src
/
View
/
AbstractView.php
164
19
Concrete
\
Core
\
View
\
AbstractView
render
/
src
/
Http
/
ResponseFactory.php
148
18
Concrete
\
Core
\
Http
\
ResponseFactory
view
/
src
/
Http
/
ResponseFactory.php
215
17
Concrete
\
Core
\
Http
\
ResponseFactory
controller
/
src
/
Http
/
ResponseFactory.php
362
16
Concrete
\
Core
\
Http
\
ResponseFactory
collection
/
src
/
Http
/
DefaultDispatcher.php
134
15
Concrete
\
Core
\
Http
\
DefaultDispatcher
handleDispatch
/
src
/
Http
/
DefaultDispatcher.php
58
14
Concrete
\
Core
\
Http
\
DefaultDispatcher
dispatch
/
src
/
Http
/
Middleware
/
DispatcherDelegate.php
39
13
Concrete
\
Core
\
Http
\
Middleware
\
DispatcherDelegate
next
/
src
/
Http
/
Middleware
/
ThumbnailMiddleware.php
76
12
Concrete
\
Core
\
Http
\
Middleware
\
ThumbnailMiddleware
process
/
src
/
Http
/
Middleware
/
MiddlewareDelegate.php
50
11
Concrete
\
Core
\
Http
\
Middleware
\
MiddlewareDelegate
next
/
src
/
Http
/
Middleware
/
FrameOptionsMiddleware.php
39
10
Concrete
\
Core
\
Http
\
Middleware
\
FrameOptionsMiddleware
process
/
src
/
Http
/
Middleware
/
MiddlewareDelegate.php
50
9
Concrete
\
Core
\
Http
\
Middleware
\
MiddlewareDelegate
next
/
src
/
Http
/
Middleware
/
CookieMiddleware.php
35
8
Concrete
\
Core
\
Http
\
Middleware
\
CookieMiddleware
process
/
src
/
Http
/
Middleware
/
MiddlewareDelegate.php
50
7
Concrete
\
Core
\
Http
\
Middleware
\
MiddlewareDelegate
next
/
src
/
Http
/
Middleware
/
ApplicationMiddleware.php
29
6
Concrete
\
Core
\
Http
\
Middleware
\
ApplicationMiddleware
process
/
src
/
Http
/
Middleware
/
MiddlewareDelegate.php
50
5
Concrete
\
Core
\
Http
\
Middleware
\
MiddlewareDelegate
next
/
src
/
Http
/
Middleware
/
MiddlewareStack.php
86
4
Concrete
\
Core
\
Http
\
Middleware
\
MiddlewareStack
process
/
src
/
Http
/
DefaultServer.php
85
3
Concrete
\
Core
\
Http
\
DefaultServer
handleRequest
/
src
/
Foundation
/
Runtime
/
Run
/
DefaultRunner.php
119
2
Concrete
\
Core
\
Foundation
\
Runtime
\
Run
\
DefaultRunner
run
/
src
/
Foundation
/
Runtime
/
DefaultRuntime.php
102
1
Concrete
\
Core
\
Foundation
\
Runtime
\
DefaultRuntime
run
/
dispatcher.php
36
0
require
/
home
/
michirlearningc5
/
michir
/
public_html
/
index.php
2
/
home
/
michirlearningc5
/
michir
/
public_html
/
packages
/
formify
/
src
/
FormifyIntegration
/
Integration.php
        $configFile = $pkgPath . '/src/Integration/' . $this->handle . '/config.xml';
        $configXML = simplexml_load_file($configFile);
 
        $this->configXML = $configXML;
        $this->name = (string) $configXML['name'];
 
        return $configXML;
    }
    
    public function getConfigKeys($type) {
        $keys = array();
        if(count($this->configXML->keys->key) > 0) {
            foreach($this->configXML->keys->key as $k) {
                $key = array();
                if((string) $k['context'] == $type) {
                    $key['name'] = (string) $k['name'];
                    $key['handle'] = (string) $k['handle'];
                    $key['type'] = (string) $k['type'];
                    
                    if(count($k->options->option) > 0) {
                        $options = array();
                        foreach($k->options->option as $o) {
                            $option = array();
                            $option['label'] = (string) $o;
                            $option['value'] = (string) $o['value'];
                            
                            $options[] = $option;
                        }
                    }
                    
                    $key['options'] = $options;
                    
                    $keys[] = $key;
                }
            }
        }
        return $keys;
    }
    
    public function getFormConfigKeys() {
/
home
/
michirlearningc5
/
michir
/
public_html
/
packages
/
formify
/
src
/
FormifyIntegration
/
Integration.php
        $configFile = $pkgPath . '/src/Integration/' . $this->handle . '/config.xml';
        $configXML = simplexml_load_file($configFile);
 
        $this->configXML = $configXML;
        $this->name = (string) $configXML['name'];
 
        return $configXML;
    }
    
    public function getConfigKeys($type) {
        $keys = array();
        if(count($this->configXML->keys->key) > 0) {
            foreach($this->configXML->keys->key as $k) {
                $key = array();
                if((string) $k['context'] == $type) {
                    $key['name'] = (string) $k['name'];
                    $key['handle'] = (string) $k['handle'];
                    $key['type'] = (string) $k['type'];
                    
                    if(count($k->options->option) > 0) {
                        $options = array();
                        foreach($k->options->option as $o) {
                            $option = array();
                            $option['label'] = (string) $o;
                            $option['value'] = (string) $o['value'];
                            
                            $options[] = $option;
                        }
                    }
                    
                    $key['options'] = $options;
                    
                    $keys[] = $key;
                }
            }
        }
        return $keys;
    }
    
    public function getFormConfigKeys() {
/
home
/
michirlearningc5
/
michir
/
public_html
/
packages
/
formify
/
src
/
FormifyIntegration
/
Integration.php
        
        if(count($iFiles) > 0) {
            foreach($iFiles as $iHandle) {
                $integrations[] = \Concrete\Package\Formify\Src\FormifyIntegration\Integration::get($iHandle);                
            }
        }
        
        return $integrations;
    }
    
    public function get($handle) {
        $i = new self;
        $i->handle = $handle;
        $i->loadConfig();
        
        $iHandle = Core::make('helper/text')->camelcase($handle);
        $class = '\\Concrete\\Package\\Formify\\Src\\Integration\\' . $iHandle . '\\Controller';
        $i->controller = new $class;
        
        $i->formConfigKeys = $i->getConfigKeys('form');
        $i->fieldConfigKeys = $i->getConfigKeys('field');
        
        return $i;
    }
    
    public function loadConfig() {
        $pkg = Package::getByHandle('formify');
        $pkgPath = $pkg->getPackagePath();
        $configFile = $pkgPath . '/src/Integration/' . $this->handle . '/config.xml';
        $configXML = simplexml_load_file($configFile);
 
        $this->configXML = $configXML;
        $this->name = (string) $configXML['name'];
 
        return $configXML;
    }
    
    public function getConfigKeys($type) {
        $keys = array();
        if(count($this->configXML->keys->key) > 0) {
/
home
/
michirlearningc5
/
michir
/
public_html
/
packages
/
formify
/
src
/
FormifyIntegration
/
Integration.php
 
class Integration {
    
    private $configXML;
    private $controller;
    
    public function all() {
        $pkg = Package::getByHandle('formify');
        $pkgPath = $pkg->getPackagePath();
        $iPath = $pkgPath . '/src/Integration';
        
        $fh = Loader::helper('file');
        $iFiles = $fh->getDirectoryContents($iPath);
        sort($iFiles);
        
        $integrations = array();
        
        if(count($iFiles) > 0) {
            foreach($iFiles as $iHandle) {
                $integrations[] = \Concrete\Package\Formify\Src\FormifyIntegration\Integration::get($iHandle);                
            }
        }
        
        return $integrations;
    }
    
    public function get($handle) {
        $i = new self;
        $i->handle = $handle;
        $i->loadConfig();
        
        $iHandle = Core::make('helper/text')->camelcase($handle);
        $class = '\\Concrete\\Package\\Formify\\Src\\Integration\\' . $iHandle . '\\Controller';
        $i->controller = new $class;
        
        $i->formConfigKeys = $i->getConfigKeys('form');
        $i->fieldConfigKeys = $i->getConfigKeys('field');
        
        return $i;
    }
/
home
/
michirlearningc5
/
michir
/
public_html
/
packages
/
formify
/
src
/
FormifyForm.php
        $this->getPermissions();
        if(count($this->permissions['approve'])) {
            foreach($this->permissions['approve'] as $pgID) {
                if($pgID == $gID) {
                    return true;
                }
            }
        }
 
        return false;
    }
 
    public function isMagic() {
        return $this->magic;
    }
 
    public function getIntegrations($requireActive = false) {
        if((!$this->integrations) || ($requireActive)) {
 
            $allIntegrations = \Concrete\Package\Formify\Src\FormifyIntegration\Integration::all();
 
            $integrations = array();
 
            foreach($allIntegrations as $i) {
                if($this->checkIntegration($i->handle)) {
                    $i->active = 1;
                    $i->config = $this->getIntegrationConfig($i->handle);
                } else {
                    $i->active = 0;
                }
 
                if($requireActive) {
                    if($i->active == 1) {
                        $integrations[] = $i;
                    }
                } else {
                    $integrations[] = $i;
                }
            }
 
/
home
/
michirlearningc5
/
michir
/
public_html
/
packages
/
formify
/
src
/
FormifyField.php
        if($value != '') {
            if(is_array($this->defaultValue)) {
                foreach($this->defaultValue as $dv) {
                    if($dv == $value) {
                        return true;
                    }
                }
            } else {
                if($this->defaultValue == $value) {
                    return true;
                }
            }
        }
        return false;
    }
 
    public function getIntegrations() {
        if(!$this->integrations) {
            if($f = $this->getForm()) {
                $integrations = $f->getIntegrations(true);
 
                if(count($integrations) > 0) {
                    foreach($integrations as $key => $i) {
                        $this->getIntegrationConfig($i->handle);
                    }
                }
 
                $this->integrations = $integrations;
            }
 
        }
 
        return $this->integrations;
    }
 
 
    public function checkIntegration($handle) {
        $f = $this->getForm();
        return $f->checkIntegration($handle);
    }
/
home
/
michirlearningc5
/
michir
/
public_html
/
packages
/
formify
/
src
/
FormifyField.php
            case 'uID':
                $u = new User();
                $field->defaultValue = $u->getUserID();
                break;
            case 'url':
                $u = new User();
                $field->defaultValue = $_GET[$field->urlParameter];
                break;
            default:
                if($field->defaultValueSource != 'static') {
                    $u = new User();
                    if(($u->isLoggedIn()) && ($field->defaultValueSource != '')) {
                        $ui = UserInfo::getByID($u->getUserID());
                        $field->defaultValue = $ui->getAttribute($field->defaultValueSource);
                    }
                }
        }
 
        $field->getRules();
        $field->getIntegrations();
 
        if(count($field->integrationConfig) == 0) {
            $field->integrationConfig = new \StdClass;
        }
 
        return $field;
    }
 
    public function create($fID) {
        $db = Loader::db();
 
        $db->execute("INSERT INTO " . TABLE_FORMIFY_FIELDS . " (ffID,fID) VALUES (0,?)",array($fID));
 
        $ffID = $db->Insert_ID();
 
        $ff = self::get($ffID);
 
        $txt = Loader::helper('text');
        $label = 'Field ' . $ffID;
        $handle = $txt->handle($label);
/
home
/
michirlearningc5
/
michir
/
public_html
/
packages
/
formify
/
src
/
FormifyField.php
        'commerceName',
        'dateFormat',
        'dateInterface',
        'minYear',
        'maxYear',
        'isExpiration',
        'timeInterval',
        'fsID',
        'nlToBr',
        'validateSection',
        'enableRules',
        'ruleAction',
        'errorString',
        'ruleRequirement',
        'userAction'
    );
 
    public function get($id,$fID=0) {
        if(is_array($id)) {
            $ff = self::getFromArray($id);
        } elseif(is_numeric($id)) {
            $ff = self::getByID($id,$fID);
        } else {
            $ff = self::getByHandle($id,$fID);
        }
 
        return $ff;
    }
 
    public function getByHandle($handle,$fID=0) {
        $db = Loader::db();
        if($fID != 0) {
            $row = $db->getRow("SELECT ffID FROM " . TABLE_FORMIFY_FIELDS . " WHERE handle = ? AND fID = ?",array($handle,$fID));
        } else {
            $row = $db->getRow("SELECT ffID FROM " . TABLE_FORMIFY_FIELDS . " WHERE handle = ?",array($handle));
        }
        if(intval($row['ffID']) != 0) {
            return self::getByID($row['ffID']);
        } else {
            return false;
/
home
/
michirlearningc5
/
michir
/
public_html
/
packages
/
formify
/
src
/
FormifyForm.php
        $db = Loader::db();
        $db->execute("UPDATE " . TABLE_FORMIFY_FORMS . " SET isDeleted=1 WHERE fID=?",array($this->fID));
    }
 
    public function duplicate() {
 
    }
 
    public function addField() {
        $field = \Concrete\Package\Formify\Src\FormifyField::create($this->fID);
        return $field;
    }
 
    public function getFields() {
        if(!$this->fields) {
            $db = Loader::db();
            $fieldsData = $db->getAll("SELECT * FROM " . TABLE_FORMIFY_FIELDS . " WHERE fID = ? AND isDeleted != 1 ORDER by sortPriority ASC, ffID",array($this->fID));
            $fields = array();
            foreach($fieldsData as $fieldData) {
                $ff = \Concrete\Package\Formify\Src\FormifyField::get($fieldData);
                $ff->getIntegrations();
                $fields[] = $ff;
            }
            $this->fields = $fields;
        }
 
        return $this->fields;
    }
 
    public function getField($id) {
        foreach($this->getFields() as $ff) {
            if($ff->ffID == $id) {
                return $ff;
            }
        }
        return \Concrete\Package\Formify\Src\FormifyField::get($id,$this->fID);
    }
 
    public function getFieldByHandle() {
 
/
home
/
michirlearningc5
/
michir
/
public_html
/
packages
/
formify
/
src
/
FormifyForm.php
            $configData = $db->getAll("SELECT configKey, configValue FROM " . TABLE_FORMIFY_INTEGRATION_CONFIG . " WHERE fID = ? AND handle = ?",array($this->fID,$handle));
            $config = array();
            foreach($configData as $cd) {
                $config[$cd['configKey']] = $cd['configValue'];
            }
 
            return $config;
        }
 
    }
 
    public function getSections() {
        if(!$this->sections) {
            $sections = array();
 
            $i = 1;
            $s = new FormifyFormSection;
            $s->index = $i;
 
            foreach($this->getFields() as $ff) {
                if($ff->type == 'divider') {
                    $sections[] = $s;
 
                    $i++;
                    $s = new FormifyFormSection;
                    $s->index = $i;
                    $s->validate = $ff->validateSection;
                } else {
                    $s->addField($ff);
                }
            }
 
            $sections[] = $s;
 
            $this->sections = $sections;
        }
        return $this->sections;
    }
 
    public function getSection($index) {
/
home
/
michirlearningc5
/
michir
/
public_html
/
packages
/
formify
/
blocks
/
formify_form
/
view.php
<?php defined('C5_EXECUTE') or die(_("Access Denied.")) ?>
 
<?php if(is_object($f)) { ?>
 
  <form novalidate class="formify-form <?php if($disableDefaultCSS != '1') { ?>with-style<?php } ?>" id="formify-form-<?php echo $f->fID; ?>-<?php echo intval($bID); ?>" data-bid="<?php echo intval($bID); ?>" data-fid="<?php echo $f->fID; ?>" data-rid="<?php echo intval($rID); ?>" data-context="<?php echo $context; ?>" enctype="multipart/form-data" method="post" action="<?php echo DIR_REL; ?>/index.php/formify/go/<?php echo $f->fID; ?>">
 
      <input type="hidden" name="rID" value="<?php echo $rID; ?>" />
      <input type="hidden" name="token" value="<?php echo $token; ?>" />
      <input type="hidden" name="source" value="<?php echo htmlentities(URL::to(Page::getCurrentPage())); ?>" />
      <input type="hidden" name="referrer" value="<?php echo htmlentities($_SERVER['HTTP_REFERER']); ?>" />
 
      <?php echo Core::make('token')->output('formify_submit'); ?>
 
      <?php if(count($f->getSections()) > 0) { ?>
        <?php foreach($f->getSections() as $s) { ?>
            <div class="formify-section" data-formify-section-index="<?php echo $s->index; ?>">
 
                <?php if(count($s->getFields()) > 0) { ?>
                  <?php foreach($s->getFields() as $ff) { ?>
                      <div
                          class="formify-field-container <?php echo $ff->containerClass; ?>"
                          id="formify-field-container-<?php echo $ff->ffID; ?>"
                          data-ffid="<?php echo $ff->ffID; ?>"
                          data-field-type="<?php echo $ff->getType()->handle; ?>"
                          data-rule-count="<?php echo count($ff->getRules()); ?>"
                          data-unmet-rule-count="<?php echo count($ff->getRules()); ?>"
                          data-rule-action="<?php echo $ff->ruleAction; ?>"
                          data-rule-requirement="<?php echo $ff->ruleRequirement; ?>"
                      >
                          <?php $ff->render(); ?>
 
                      </div><!--/.formify-field-container-->
                  <?php } ?>
              <?php } ?>
 
                <?php if($s->index == count($f->getSections())) { //Append additional info to last section ?>
 
                    <?php foreach($f->getActiveIntegrations() as $i) { ?>
 
                        <?php foreach($i->getFields() as $ff) { ?>
/
home
/
michirlearningc5
/
michir
/
public_html
/
concrete
/
src
/
Block
/
View
/
BlockView.php
            $app = Application::getFacadeApplication();
 
            // If you hook into this event and use `preventRendering()`,
            // you can prevent the block from being displayed.
            $event = new BlockBeforeRender($this->block);
            $app->make('director')->dispatch('on_block_before_render', $event);
 
            return $event->proceed();
        };
 
        if (!$shouldRender()) {
            return;
        }
 
        unset($shouldRender);
 
        extract($scopeItems);
        if (!$this->outputContent) {
            ob_start();
            include $this->template;
            $this->outputContent = ob_get_contents();
            ob_end_clean();
        }
 
        // The translatable texts in the block header/footer need to be printed
        // out in the system language.
        $loc = Localization::getInstance();
        $loc->pushActiveContext(Localization::CONTEXT_UI);
 
        if ($this->blockViewHeaderFile) {
            include $this->blockViewHeaderFile;
        }
 
        $this->controller->registerViewAssets($this->outputContent);
 
        $this->onBeforeGetContents();
        $this->fireOnBlockOutputEvent();
        echo $this->outputContent;
        $this->onAfterGetContents();
 
/
home
/
michirlearningc5
/
michir
/
public_html
/
concrete
/
src
/
View
/
AbstractView.php
            $helpers = $this->controller->getHelperObjects();
            $return = array_merge($this->scopeItems, $sets, $helpers);
        } else {
            $return = $this->scopeItems;
        }
        $return['view'] = $this;
        $return['controller'] = $this->controller;
        return $return;
    }
 
    public function render($state = false)
    {
        if ($this instanceof View) {
            $this->setRequestInstance($this);
        }
        $this->start($state);
        $this->setupRender();
        $this->startRender();
        $scopeItems = $this->getScopeItems();
        $contents = $this->renderViewContents($scopeItems);
        $contents = $this->postProcessViewContents($contents);
        $response = $this->finishRender($contents);
        if ($this instanceof View) {
            $this->revertRequestInstance();
        }
 
        return $response;
    }
 
    public function renderViewContents($scopeItems)
    {
        if (file_exists($this->template)) {
            extract($scopeItems);
            ob_start();
            $this->onBeforeGetContents();
            include $this->template;
            $this->onAfterGetContents();
            $contents = ob_get_contents();
            ob_end_clean();
 
/
home
/
michirlearningc5
/
michir
/
public_html
/
concrete
/
src
/
Area
/
Area.php
        $loc = Localization::getInstance();
 
        // now, we iterate through these block groups (which are actually arrays of block objects), and display them on the page
        $loc->pushActiveContext(Localization::CONTEXT_UI);
        if ($this->showControls && $c->isEditMode() && $ap->canViewAreaControls()) {
            View::element('block_area_header', array('a' => $this));
        } else {
            View::element('block_area_header_view', array('a' => $this));
        }
        $loc->popActiveContext();
 
        foreach ($blocksToDisplay as $b) {
            $bv = new BlockView($b);
            $bv->setAreaObject($this);
            $p = new Permissions($b);
            if ($p->canViewBlock()) {
                if (!$c->isEditMode()) {
                    echo $this->enclosingStart;
                }
                $bv->render('view');
                if (!$c->isEditMode()) {
                    echo $this->enclosingEnd;
                }
            }
        }
 
        $loc->pushActiveContext(Localization::CONTEXT_UI);
        if ($this->showControls && $c->isEditMode() && $ap->canViewAreaControls()) {
            View::element('block_area_footer', array('a' => $this));
        } else {
            View::element('block_area_footer_view', array('a' => $this));
        }
        $loc->popActiveContext();
    }
 
    /**
     * Exports the area to content format.
     *
     * @param \SimpleXMLElement $p
     * @param Page $page
/
home
/
michirlearningc5
/
michir
/
public_html
/
application
/
themes
/
ae
/
subpage_no_sidebar.php
        <main class="stage" role="main">
            <div class="page-wrap clearfix"></div>

        <div class="bucket-wrapper">
            <?php
                $a = new Area('Bucket');
                $a->display($c);
            ?>
        </div>
        <div class="page-wrap subpage-stage-offset">
            <section class="full-stage">
                <h1>
                <?php
                    $c = \Page::getCurrentPage();
                    echo $c->getCollectionName();
                ?>
                </h1>
               <?php
                    $a = new Area('Main');
                    $a->display($c);
                ?>
            </section>
         </div>
      </main>
      <footer>
          <?php require('elements/footer.php'); ?>
      </footer>
    </div>
</div>
<?php require('elements/foot.php'); ?>
</body>
</html>
 
/
home
/
michirlearningc5
/
michir
/
public_html
/
concrete
/
src
/
View
/
View.php
        ob_end_clean();
 
        return $innerContent;
    }
 
    /**
     * Render the file set to $this->template
     * @param $scopeItems
     * @return string
     */
    protected function renderTemplate($scopeItems, $innerContent)
    {
        // Extract the items into the current scope
        extract($scopeItems);
 
        ob_start();
 
        // Fire a `before` event
        $this->onBeforeGetContents();
        include $this->template;
 
        // Fire an `after` event
        $this->onAfterGetContents();
        $contents = ob_get_contents();
        ob_end_clean();
 
        return $contents;
    }
 
    public function finishRender($contents)
    {
        $event = new \Symfony\Component\EventDispatcher\GenericEvent();
        $event->setArgument('view', $this);
        Events::dispatch('on_render_complete', $event);
 
        return $contents;
    }
 
    /**
     * Function responsible for outputting header items.
/
home
/
michirlearningc5
/
michir
/
public_html
/
concrete
/
src
/
View
/
View.php
    protected function onBeforeGetContents()
    {
        $event = new \Symfony\Component\EventDispatcher\GenericEvent();
        $event->setArgument('view', $this);
        Events::dispatch('on_before_render', $event);
        $this->themeObject->registerAssets();
    }
 
    public function renderViewContents($scopeItems)
    {
        $contents = '';
 
        // Render the main view file
        if ($this->innerContentFile) {
            $contents = $this->renderInnerContents($scopeItems);
        }
 
        // Render the template around it
        if (file_exists($this->template)) {
            $contents = $this->renderTemplate($scopeItems, $contents);
        }
 
        return $contents;
    }
 
    /**
     * Render the file set to $this->innerContentFile
     * @param $scopeItems
     * @return string
     */
    protected function renderInnerContents($scopeItems)
    {
        // Extract the items into the current scope
        extract($scopeItems);
 
        ob_start();
        include $this->innerContentFile;
        $innerContent = ob_get_contents();
        ob_end_clean();
 
/
home
/
michirlearningc5
/
michir
/
public_html
/
concrete
/
src
/
View
/
AbstractView.php
            $helpers = $this->controller->getHelperObjects();
            $return = array_merge($this->scopeItems, $sets, $helpers);
        } else {
            $return = $this->scopeItems;
        }
        $return['view'] = $this;
        $return['controller'] = $this->controller;
        return $return;
    }
 
    public function render($state = false)
    {
        if ($this instanceof View) {
            $this->setRequestInstance($this);
        }
        $this->start($state);
        $this->setupRender();
        $this->startRender();
        $scopeItems = $this->getScopeItems();
        $contents = $this->renderViewContents($scopeItems);
        $contents = $this->postProcessViewContents($contents);
        $response = $this->finishRender($contents);
        if ($this instanceof View) {
            $this->revertRequestInstance();
        }
 
        return $response;
    }
 
    public function renderViewContents($scopeItems)
    {
        if (file_exists($this->template)) {
            extract($scopeItems);
            ob_start();
            $this->onBeforeGetContents();
            include $this->template;
            $this->onAfterGetContents();
            $contents = ob_get_contents();
            ob_end_clean();
 
/
home
/
michirlearningc5
/
michir
/
public_html
/
concrete
/
src
/
Http
/
ResponseFactory.php
        $cnt = $this->app->make(PageForbidden::class);
        $this->controller($cnt, $code, $headers);
    }
 
    /**
     * {@inheritdoc}
     */
    public function redirect($to, $code = Response::HTTP_MOVED_PERMANENTLY, $headers = [])
    {
        return RedirectResponse::create($to, $code, $headers);
    }
 
    /**
     * {@inheritdoc}
     */
    public function view(View $view, $code = Response::HTTP_OK, $headers = [])
    {
        $this->localization->pushActiveContext(Localization::CONTEXT_SITE);
        try {
            $contents = $view->render();
 
            return $this->create($contents, $code, $headers);
        } finally {
            $this->localization->popActiveContext();
        }
    }
 
    /**
     * {@inheritdoc}
     */
    public function controller(Controller $controller, $code = Response::HTTP_OK, $headers = [])
    {
        $this->localization->pushActiveContext(Localization::CONTEXT_SITE);
        try {
            $request = $this->request;
 
            if ($response = $controller->on_start()) {
                return $response;
            }
 
/
home
/
michirlearningc5
/
michir
/
public_html
/
concrete
/
src
/
Http
/
ResponseFactory.php
                if ($response = $controller->runAction('view')) {
                    return $response;
                }
            }
 
            $view = $controller->getViewObject();
 
            // Mobile theme
            if ($this->config->get('concrete.misc.mobile_theme_id') > 0) {
                $md = $this->app->make(MobileDetect::class);
                if ($md->isMobile()) {
                    $mobileTheme = Theme::getByID($this->app->config->get('concrete.misc.mobile_theme_id'));
                    if ($mobileTheme instanceof Theme) {
                        $view->setViewTheme($mobileTheme);
                        $controller->setTheme($mobileTheme);
                    }
                }
            }
 
            return $this->view($view, $code, $headers);
        } finally {
            $this->localization->popActiveContext();
        }
    }
 
    /**
     * {@inheritdoc}
     */
    public function collection(Collection $collection, $code = Response::HTTP_OK, $headers = [])
    {
        if (!$this->app) {
            throw new \RuntimeException('Cannot resolve collections without a reference to the application');
        }
 
        $request = $this->request;
 
        if ($collection->isError() && $collection->getError() == COLLECTION_NOT_FOUND) {
            if ($response = $this->collectionNotFound($collection, $request, $headers)) {
                return $response;
            }
/
home
/
michirlearningc5
/
michir
/
public_html
/
concrete
/
src
/
Http
/
ResponseFactory.php
        require DIR_BASE_CORE . '/bootstrap/process.php';
        $u = $this->app->make(User::class);
 
        // On page view event.
        $pe = new Event($collection);
        $pe->setUser($u);
        $pe->setRequest($request);
        $this->app['director']->dispatch('on_page_view', $pe);
 
        // Core menu items
        $item = new RelationListItem();
        $menu = $this->app->make('helper/concrete/ui/menu');
        $menu->addMenuItem($item);
 
        $controller = $collection->getPageController();
 
        // we update the current page with the one bound to this controller.
        $collection->setController($controller);
 
        return $this->controller($controller);
    }
 
    private function collectionNotFound(Collection $collection, Request $request, array $headers)
    {
        // if we don't have a path and we're doing cID, then this automatically fires a 404.
        if (!$request->getPath() && $request->get('cID')) {
            return $this->notFound('', Response::HTTP_NOT_FOUND, $headers);
        }
 
        // let's test to see if this is, in fact, the home page,
        // and we're routing arguments onto it (which is screwing up the path.)
        $home = Page::getByID(Page::getHomePageID());
        $request->setCurrentPage($home);
        $homeController = $home->getPageController();
        $homeController->setupRequestActionAndParameters($request);
 
        $response = $homeController->validateRequest();
        if ($response instanceof \Symfony\Component\HttpFoundation\Response) {
            return $response;
        } elseif ($response === true) {
/
home
/
michirlearningc5
/
michir
/
public_html
/
concrete
/
src
/
Http
/
DefaultDispatcher.php
            foreach($route->getMiddlewares() as $middleware) {
                if (is_string($middleware->getMiddleware())) {
                    $inflatedMiddleware =  $this->app->make($middleware->getMiddleware());
                } else {
                    $inflatedMiddleware = $middleware->getMiddleware();
                }
                $stack = $stack->withMiddleware(
                    $inflatedMiddleware,
                    $middleware->getPriority()
                );
            }
            return $stack->process($request);
        } catch (ResourceNotFoundException $e) {
            $callDispatcher = true;
        } catch (MethodNotAllowedException $e) {
            $callDispatcher = true;
        }
        if ($callDispatcher) {
            $c = \Page::getFromRequest($request);
            $response = $this->app->make(ResponseFactoryInterface::class)->collection($c);
        }
 
        return $response;
    }
 
    /**
     * @param \Symfony\Component\Routing\RouteCollection $routes
     * @param string $path
     *
     * @return \Symfony\Component\Routing\RouteCollection
     */
    private function filterRouteCollectionForPath(RouteCollection $routes, $path)
    {
        $result = new RouteCollection();
        foreach ($routes->getResources() as $resource) {
            $result->addResource($resource);
        }
        foreach ($routes->all() as $name => $route) {
            $routePath = $route->getPath();
            $p = strpos($routePath, '{');
/
home
/
michirlearningc5
/
michir
/
public_html
/
concrete
/
src
/
Http
/
DefaultDispatcher.php
    /**
     * @param \Symfony\Component\HttpFoundation\Request $request
     *
     * @return SymfonyResponse
     */
    public function dispatch(SymfonyRequest $request)
    {
        $path = rawurldecode($request->getPathInfo());
 
        if (substr($path, 0, 3) == '../' || substr($path, -3) == '/..' || strpos($path, '/../') ||
            substr($path, 0, 3) == '..\\' || substr($path, -3) == '\\..' || strpos($path, '\\..\\')) {
            throw new \RuntimeException(t('Invalid path traversal. Please make this request with a valid HTTP client.'));
        }
 
        $response = null;
        if ($this->app->isInstalled()) {
            $response = $this->getEarlyDispatchResponse();
        }
        if ($response === null) {
            $response = $this->handleDispatch($request);
        }
 
        return $response;
    }
 
    private function getEarlyDispatchResponse()
    {
        $validator = $this->app->make(SessionValidator::class);
        if ($validator->hasActiveSession()) {
            $session = $this->app['session'];
            if (!$session->has('uID')) {
                User::verifyAuthTypeCookie();
            }
 
            // User may have been logged in, so lets check status again.
            if ($session->has('uID') && $session->get('uID') > 0 && $response = $this->validateUser()) {
                return $response;
            }
        }
    }
/
home
/
michirlearningc5
/
michir
/
public_html
/
concrete
/
src
/
Http
/
Middleware
/
DispatcherDelegate.php
    private $dispatcher;
 
    /**
     * DispatcherFrame constructor.
     * @param \Concrete\Core\Http\DispatcherInterface $dispatcher
     */
    public function __construct(DispatcherInterface $dispatcher)
    {
        $this->dispatcher = $dispatcher;
    }
 
    /**
     * Dispatch the next available middleware and return the response.
     *
     * @param Request $request
     * @return Response
     */
    public function next(Request $request)
    {
        return $this->dispatcher->dispatch($request);
    }
 
}
 
/
home
/
michirlearningc5
/
michir
/
public_html
/
concrete
/
src
/
Http
/
Middleware
/
ThumbnailMiddleware.php
     * @var \Concrete\Core\Config\Repository\Repository
     */
    private $config;
 
    public function __construct(Repository $config)
    {
        $this->config = $config;
    }
 
    /**
     * Process the request and return a response.
     *
     * @param \Symfony\Component\HttpFoundation\Request $request
     * @param DelegateInterface $frame
     *
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function process(Request $request, DelegateInterface $frame)
    {
        $response = $frame->next($request);
 
        if ($response && $this->app->isInstalled() && $this->config->get('concrete.misc.basic_thumbnailer_generation_strategy') == 'now') {
            $responseStatusCode = (int) $response->getStatusCode();
            if ($responseStatusCode === 200 || $responseStatusCode === 404) {
                $database = $this->tryGetConnection();
                if ($database !== null) {
                    if ($responseStatusCode === 404) {
                        $searchThumbnailPath = $request->getRequestUri();
                    } else {
                        $searchThumbnailPath = null;
                    }
                    $thumbnail = $this->getThumbnailToGenerate($database, $searchThumbnailPath);
                    if ($thumbnail !== null) {
                        $this->markThumbnailAsBuilt($database, $thumbnail);
                        if ($this->generateThumbnail($thumbnail)) {
                            if ($this->couldBeTheRequestedThumbnail($thumbnail, $searchThumbnailPath)) {
                                $response = $this->buildRedirectToThumbnailResponse($request);
                            }
                        }
                    }
/
home
/
michirlearningc5
/
michir
/
public_html
/
concrete
/
src
/
Http
/
Middleware
/
MiddlewareDelegate.php
 
    public function __construct(
        MiddlewareInterface $middleware,
        DelegateInterface $nextDelegate,
        HttpFoundationFactory $foundationFactory
    ) {
        $this->middleware = $middleware;
        $this->nextDelegate = $nextDelegate;
        $this->foundationFactory = $foundationFactory;
    }
 
    /**
     * Dispatch the next available middleware and return the response.
     *
     * @param Request $request
     * @return Response
     */
    public function next(Request $request)
    {
        $response = $this->middleware->process($request, $this->nextDelegate);
 
        // Negotiate PSR7 responses
        if ($response instanceof ResponseInterface) {
            return $this->foundationFactory->createResponse($response);
        }
 
        return $response;
    }
 
}
 
/
home
/
michirlearningc5
/
michir
/
public_html
/
concrete
/
src
/
Http
/
Middleware
/
FrameOptionsMiddleware.php
    private $config;
 
    /**
     * @var \Concrete\Core\Utility\Service\Validation\Strings
     */
    private $stringValidator;
 
    public function __construct(Repository $config, Strings $stringValidator)
    {
        $this->config = $config;
        $this->stringValidator = $stringValidator;
    }
 
    /**
     * @param \Concrete\Core\Http\Middleware\DelegateInterface $frame
     * @return Response
     */
    public function process(Request $request, DelegateInterface $frame)
    {
        $response = $frame->next($request);
 
        if ($response->headers->has('X-Frame-Options') === false) {
            $x_frame_options = $this->config->get('concrete.security.misc.x_frame_options');
            if ($this->stringValidator->notempty($x_frame_options)) {
                $response->headers->set('X-Frame-Options', $x_frame_options);
            }
        }
 
        return $response;
    }
 
}
 
/
home
/
michirlearningc5
/
michir
/
public_html
/
concrete
/
src
/
Http
/
Middleware
/
MiddlewareDelegate.php
 
    public function __construct(
        MiddlewareInterface $middleware,
        DelegateInterface $nextDelegate,
        HttpFoundationFactory $foundationFactory
    ) {
        $this->middleware = $middleware;
        $this->nextDelegate = $nextDelegate;
        $this->foundationFactory = $foundationFactory;
    }
 
    /**
     * Dispatch the next available middleware and return the response.
     *
     * @param Request $request
     * @return Response
     */
    public function next(Request $request)
    {
        $response = $this->middleware->process($request, $this->nextDelegate);
 
        // Negotiate PSR7 responses
        if ($response instanceof ResponseInterface) {
            return $this->foundationFactory->createResponse($response);
        }
 
        return $response;
    }
 
}
 
/
home
/
michirlearningc5
/
michir
/
public_html
/
concrete
/
src
/
Http
/
Middleware
/
CookieMiddleware.php
     * @var \Concrete\Core\Cookie\ResponseCookieJar
     */
    private $responseCookieJar;
 
    /**
     * @param \Concrete\Core\Cookie\ResponseCookieJar $responseCookieJar
     */
    public function __construct(ResponseCookieJar $responseCookieJar)
    {
        $this->responseCookieJar = $responseCookieJar;
    }
 
    /**
     * {@inheritdoc}
     *
     * @see \Concrete\Core\Http\Middleware\MiddlewareInterface::process()
     */
    public function process(Request $request, DelegateInterface $frame)
    {
        $response = $frame->next($request);
 
        $cleared = $this->responseCookieJar->getClearedCookies();
        foreach ($cleared as $cookie) {
            $response->headers->clearCookie($cookie, DIR_REL . '/');
        }
 
        $cookies = $this->responseCookieJar->getCookies();
        foreach ($cookies as $cookie) {
            $response->headers->setCookie($cookie);
        }
 
        return $response;
    }
}
 
/
home
/
michirlearningc5
/
michir
/
public_html
/
concrete
/
src
/
Http
/
Middleware
/
MiddlewareDelegate.php
 
    public function __construct(
        MiddlewareInterface $middleware,
        DelegateInterface $nextDelegate,
        HttpFoundationFactory $foundationFactory
    ) {
        $this->middleware = $middleware;
        $this->nextDelegate = $nextDelegate;
        $this->foundationFactory = $foundationFactory;
    }
 
    /**
     * Dispatch the next available middleware and return the response.
     *
     * @param Request $request
     * @return Response
     */
    public function next(Request $request)
    {
        $response = $this->middleware->process($request, $this->nextDelegate);
 
        // Negotiate PSR7 responses
        if ($response instanceof ResponseInterface) {
            return $this->foundationFactory->createResponse($response);
        }
 
        return $response;
    }
 
}
 
/
home
/
michirlearningc5
/
michir
/
public_html
/
concrete
/
src
/
Http
/
Middleware
/
ApplicationMiddleware.php
 * Middleware for applying state changes to the application
 * @package Concrete\Core\Http\Middleware
 */
class ApplicationMiddleware implements MiddlewareInterface, ApplicationAwareInterface
{
 
    use ApplicationAwareTrait;
 
    /**
     * Apply the request instance to the request singleton
     * @param \Symfony\Component\HttpFoundation\Request $request
     * @param \Concrete\Core\Http\Middleware\DelegateInterface $frame
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function process(Request $request, DelegateInterface $frame)
    {
        \Concrete\Core\Http\Request::setInstance($request);
        $this->app->instance('Concrete\Core\Http\Request', $request);
 
        return $frame->next($request);
    }
 
}
 
/
home
/
michirlearningc5
/
michir
/
public_html
/
concrete
/
src
/
Http
/
Middleware
/
MiddlewareDelegate.php
 
    public function __construct(
        MiddlewareInterface $middleware,
        DelegateInterface $nextDelegate,
        HttpFoundationFactory $foundationFactory
    ) {
        $this->middleware = $middleware;
        $this->nextDelegate = $nextDelegate;
        $this->foundationFactory = $foundationFactory;
    }
 
    /**
     * Dispatch the next available middleware and return the response.
     *
     * @param Request $request
     * @return Response
     */
    public function next(Request $request)
    {
        $response = $this->middleware->process($request, $this->nextDelegate);
 
        // Negotiate PSR7 responses
        if ($response instanceof ResponseInterface) {
            return $this->foundationFactory->createResponse($response);
        }
 
        return $response;
    }
 
}
 
/
home
/
michirlearningc5
/
michir
/
public_html
/
concrete
/
src
/
Http
/
Middleware
/
MiddlewareStack.php
    public function withoutMiddleware(MiddlewareInterface $middleware)
    {
        $stack = clone $this;
 
        $stack->middleware = array_map(function($priorityGroup) use ($middleware) {
            return array_map(function($stackMiddleware) use ($middleware)  {
                return $middleware === $stackMiddleware ? null : $stackMiddleware;
            }, $priorityGroup);
        }, $stack->middleware);
 
        return $stack;
    }
 
    /**
     * @inheritdoc
     */
    public function process(Request $request)
    {
        $stack = $this->getStack();
        return $stack->next($request);
    }
 
    /**
     * Reduce middleware into a stack of functions that each call the next
     * @return callable
     */
    private function getStack()
    {
        $processed = [];
 
        foreach ($this->middlewareGenerator() as $middleware) {
            $processed[] = $middleware;
        }
 
        $middleware = array_reverse($processed);
        $stack = array_reduce($middleware, $this->getZipper(), $this->dispatcher);
 
        return $stack;
    }
 
/
home
/
michirlearningc5
/
michir
/
public_html
/
concrete
/
src
/
Http
/
DefaultServer.php
     */
    public function removeMiddleware(MiddlewareInterface $middleware)
    {
        $this->stack = $this->stack->withoutMiddleware($middleware);
        return $this;
    }
 
    /**
     * Take a request and pass it through middleware, then return the response
     * @param SymfonyRequest $request
     * @return SymfonyResponse
     */
    public function handleRequest(SymfonyRequest $request)
    {
        $stack = $this->stack;
        if ($stack instanceof MiddlewareStack) {
            $stack = $stack->withDispatcher($this->app->make(DispatcherDelegate::class, [$this->dispatcher]));
        }
 
        return $stack->process($request);
    }
 
}
 
/
home
/
michirlearningc5
/
michir
/
public_html
/
concrete
/
src
/
Foundation
/
Runtime
/
Run
/
DefaultRunner.php
                'registerLegacyRoutes',
 
                // Register legacy config values
                'registerLegacyConfigValues',
 
                // Handle loading permission keys
                'handlePermissionKeys',
 
                // Handle eventing
                'handleEventing',
            ]);
        } else {
            $this->initializeSystemTimezone();
        }
 
        // Create the request to use
        $request = $this->createRequest();
 
        if (!$response) {
            $response = $this->server->handleRequest($request);
        }
 
        // Prepare and return the response
        return $response->prepare($request);
    }
 
    /**
     * Define the base url if not defined
     * This will define `BASE_URL` to whatever is resolved from the resolver.
     *
     * @deprecated In a future major version this will be part of HTTP middleware
     *
     * @return Response|void Returns a response if an error occurs
     */
    protected function initializeLegacyURLDefinitions()
    {
        if (!defined('BASE_URL')) {
            $resolver = $this->getUrlResolver();
 
            try {
/
home
/
michirlearningc5
/
michir
/
public_html
/
concrete
/
src
/
Foundation
/
Runtime
/
DefaultRuntime.php
            $this->status = self::STATUS_ACTIVE;
        }
    }
 
    /**
     * Begin the runtime.
     */
    public function run()
    {
        switch ($this->status) {
            case self::STATUS_ENDED:
                // We've already ended, lets just return
                return;
 
            case self::STATUS_INACTIVE:
                throw new \RuntimeException('Runtime has not yet booted.');
        }
 
        $runner = $this->getRunner();
        $response = $runner->run();
 
        if ($response) {
            $this->sendResponse($response);
        }
 
        return $response;
    }
 
    /**
     * The method that handles properly sending a response.
     *
     * @param \Symfony\Component\HttpFoundation\Response $response
     */
    protected function sendResponse(Response $response)
    {
        $response->send();
 
        // Set the status to ended
        $this->status = self::STATUS_ENDED;
    }
/
home
/
michirlearningc5
/
michir
/
public_html
/
concrete
/
dispatcher.php
 * Include all autoloaders.
 * ----------------------------------------------------------------------------
 */
require __DIR__ . '/bootstrap/autoload.php';
 
/*
 * ----------------------------------------------------------------------------
 * Begin concrete5 startup.
 * ----------------------------------------------------------------------------
 */
$app = require __DIR__ . '/bootstrap/start.php';
/** @var \Concrete\Core\Application\Application $app */
 
/*
 * ----------------------------------------------------------------------------
 * Run the runtime.
 * ----------------------------------------------------------------------------
 */
$runtime = $app->getRuntime();
if ($response = $runtime->run()) {
 
    /*
     * ------------------------------------------------------------------------
     * Shut it down.
     * ------------------------------------------------------------------------
     */
    $app->shutdown();
} else {
    return $app;
}
 
/
home
/
michirlearningc5
/
michir
/
public_html
/
index.php
<?php
require 'concrete/dispatcher.php';
 

Environment & details:

Key Value
Version 8.5.1
Installed Version 8.5.1
Key Value
concrete.version 8.5.1
concrete.version_installed 8.5.1
concrete.version_db 20190301133300
concrete.installed true
concrete.locale en_US
concrete.charset UTF-8
concrete.charset_bom 
concrete.maintenance_mode false
concrete.debug.display_errors true
concrete.debug.detail debug
concrete.debug.error_reporting null
concrete.proxy.host null
concrete.proxy.port null
concrete.proxy.user null
concrete.proxy.password null
concrete.upload.extensions *.flv;*.jpg;*.gif;*.jpeg;*.ico;*.docx;*.xla;*.png;*.psd;*.swf;*.doc;*.txt;*.xls;*.xlsx;*.csv;*.pdf;*.tiff;*.rtf;*.m4a;*.mov;*.wmv;*.mpeg;*.mpg;*.wav;*.3gp;*.avi;*.m4v;*.mp4;*.mp3;*.qt;*.ppt;*.pptx;*.kml;*.xml;*.svg;*.webm;*.ogg;*.ogv
concrete.upload.chunking.enabled true
concrete.upload.chunking.chunkSize null
concrete.export.csv.include_bom false
concrete.interface.panel.page_relations false
concrete.mail.method php_mail
concrete.mail.methods.smtp.server aenow.com
concrete.mail.methods.smtp.port 465
concrete.mail.methods.smtp.username devserver@aenow.com
concrete.mail.methods.smtp.password GdV.juyCc7r&lX-6v!
concrete.mail.methods.smtp.encryption TLS
concrete.mail.methods.smtp.messages_per_connection null
concrete.cache.enabled true
concrete.cache.lifetime 21600
concrete.cache.overrides false
concrete.cache.blocks false
concrete.cache.assets false
concrete.cache.theme_css false
concrete.cache.pages 0
concrete.cache.doctrine_dev_mode false
concrete.cache.full_page_lifetime default
concrete.cache.full_page_lifetime_value null
concrete.cache.full_contents_assets_hash false
concrete.cache.directory /home/michirlearningc5/public_html/application/files/cache
concrete.cache.directory_relative null
concrete.cache.page.directory /home/michirlearningc5/public_html/application/files/cache/pages
concrete.cache.page.adapter file
concrete.cache.levels.overrides.drivers.core_ephemeral.class \Stash\Driver\Ephemeral
concrete.cache.levels.overrides.drivers.core_filesystem.class Concrete\Core\Cache\Driver\FileSystemStashDriver
concrete.cache.levels.overrides.drivers.core_filesystem.options.path /home/michirlearningc5/public_html/application/files/cache/overrides
concrete.cache.levels.overrides.drivers.core_filesystem.options.dirPermissions 493
concrete.cache.levels.overrides.drivers.core_filesystem.options.filePermissions 420
concrete.cache.levels.overrides.drivers.redis.class Concrete\Core\Cache\Driver\RedisStashDriver
concrete.cache.levels.overrides.drivers.redis.options.prefix c5_overrides
concrete.cache.levels.overrides.drivers.redis.options.database 0
concrete.cache.levels.overrides.preferred_driver core_filesystem
concrete.cache.levels.expensive.drivers.core_ephemeral.class \Stash\Driver\Ephemeral
concrete.cache.levels.expensive.drivers.core_filesystem.class Concrete\Core\Cache\Driver\FileSystemStashDriver
concrete.cache.levels.expensive.drivers.core_filesystem.options.path /home/michirlearningc5/public_html/application/files/cache/expensive
concrete.cache.levels.expensive.drivers.core_filesystem.options.dirPermissions 493
concrete.cache.levels.expensive.drivers.core_filesystem.options.filePermissions 420
concrete.cache.levels.expensive.drivers.redis.class Concrete\Core\Cache\Driver\RedisStashDriver
concrete.cache.levels.expensive.drivers.redis.options.prefix c5_expensive
concrete.cache.levels.expensive.drivers.redis.options.database 0
concrete.cache.levels.expensive.preferred_driver core_filesystem
concrete.cache.levels.object.drivers.core_ephemeral.class \Stash\Driver\Ephemeral
concrete.cache.levels.object.drivers.redis.class Concrete\Core\Cache\Driver\RedisStashDriver
concrete.cache.levels.object.drivers.redis.options.prefix c5_object
concrete.cache.levels.object.drivers.redis.options.database 0
concrete.cache.levels.object.preferred_driver core_ephemeral
concrete.cache.clear.thumbnails false
concrete.design.enable_custom true
concrete.design.enable_layouts true
concrete.log.emails true
concrete.log.errors true
concrete.log.spam false
concrete.log.enable_dashboard_report true
concrete.log.configuration.mode simple
concrete.log.configuration.simple.core_logging_level NOTICE
concrete.log.configuration.simple.handler database
concrete.log.configuration.simple.file.file
concrete.jobs.enable_scheduling true
concrete.filesystem.temp_directory null
concrete.filesystem.permissions.file 420
concrete.filesystem.permissions.directory 493
concrete.email.enabled true
concrete.email.default.address system@michirlearning.org
concrete.email.default.name
concrete.email.form_block.address false
concrete.email.forgot_password.address null
concrete.email.forgot_password.name null
concrete.email.validate_registration.address null
concrete.email.validate_registration.name null
concrete.email.workflow_notification.address null
concrete.email.workflow_notification.name null
concrete.form.store_form_submissions auto
concrete.marketplace.enabled true
concrete.marketplace.request_timeout 30
concrete.marketplace.token null
concrete.marketplace.site_token null
concrete.marketplace.intelligent_search true
concrete.marketplace.log_requests false
concrete.external.intelligent_search_help true
concrete.external.news false
concrete.external.news_overlay false
concrete.misc.user_timezones false
concrete.misc.package_backup_directory /home/michirlearningc5/public_html/application/files/trash
concrete.misc.enable_progressive_page_reindex true
concrete.misc.mobile_theme_id 0
concrete.misc.sitemap_approve_immediately true
concrete.misc.enable_translate_locale_en_us false
concrete.misc.page_search_index_lifetime 259200
concrete.misc.enable_trash_can true
concrete.misc.app_version_display_in_header true
concrete.misc.default_jpeg_image_compression 80
concrete.misc.default_png_image_compression 9
concrete.misc.default_thumbnail_format auto
concrete.misc.inplace_image_operations_limit 4194304
concrete.misc.basic_thumbnailer_generation_strategy now
concrete.misc.help_overlay true
concrete.misc.require_version_comments false
concrete.misc.enable_move_blocktypes_across_sets false
concrete.misc.image_editor_cors_policy.enable_cross_origin false
concrete.misc.image_editor_cors_policy.anonymous_request true
concrete.misc.generator_tag_display_in_header true
concrete.misc.login_redirect HOMEPAGE
concrete.misc.access_entity_updated 1543941549
concrete.misc.latest_version 8.5.1
concrete.misc.do_page_reindex_check false
concrete.misc.login_redirect_cid 0
concrete.theme.compress_preprocessor_output false
concrete.theme.generate_less_sourcemap false
concrete.updates.enable_auto_update_packages false
concrete.updates.enable_permissions_protection true
concrete.updates.check_threshold 172800
concrete.updates.services.get_available_updates http://www.concrete5.org/tools/update_core
concrete.updates.services.inspect_update http://www.concrete5.org/tools/inspect_update
concrete.paths.trash /!trash
concrete.paths.drafts /!drafts
concrete.icons.page_template.width 120
concrete.icons.page_template.height 90
concrete.icons.theme_thumbnail.width 120
concrete.icons.theme_thumbnail.height 90
concrete.icons.file_manager_listing.handle file_manager_listing
concrete.icons.file_manager_listing.width 60
concrete.icons.file_manager_listing.height 60
concrete.icons.file_manager_detail.handle file_manager_detail
concrete.icons.file_manager_detail.width 400
concrete.icons.file_manager_detail.height 400
concrete.icons.user_avatar.width 80
concrete.icons.user_avatar.height 80
concrete.icons.user_avatar.default /concrete/images/avatar_none.png
concrete.file_manager.images.use_exif_data_to_rotate_images false
concrete.file_manager.images.manipulation_library gd
concrete.file_manager.images.create_high_dpi_thumbnails true
concrete.file_manager.images.preview_image_size small
concrete.file_manager.images.preview_image_popover true
concrete.file_manager.images.svg_sanitization.enabled true
concrete.file_manager.images.svg_sanitization.allowed_tags
concrete.file_manager.images.svg_sanitization.allowed_attributes
concrete.file_manager.results 10
concrete.search_users.results 10
concrete.sitemap_xml.file sitemap.xml
concrete.sitemap_xml.frequency weekly
concrete.sitemap_xml.priority 0.5
concrete.accessibility.toolbar_titles false
concrete.accessibility.toolbar_large_font false
concrete.accessibility.display_help_system true
concrete.accessibility.toolbar_tooltips true
concrete.i18n.choose_language_login false
concrete.i18n.auto_install_package_languages true
concrete.i18n.community_translation.entry_point http://translate.concrete5.org/api
concrete.i18n.community_translation.api_token
concrete.i18n.community_translation.progress_limit 60
concrete.i18n.community_translation.cache_lifetime 3600
concrete.i18n.community_translation.package_url https://translate.concrete5.org/translate/package
concrete.urls.concrete5 http://www.concrete5.org
concrete.urls.concrete5_secure https://www.concrete5.org
concrete.urls.newsflow http://newsflow.concrete5.org
concrete.urls.background_feed //backgroundimages.concrete5.org/wallpaper
concrete.urls.privacy_policy //www.concrete5.org/legal/privacy-policy
concrete.urls.background_feed_secure https://backgroundimages.concrete5.org/wallpaper
concrete.urls.background_info http://backgroundimages.concrete5.org/get_image_data.php
concrete.urls.videos https://www.youtube.com/user/concrete5cms/videos
concrete.urls.help.developer http://documentation.concrete5.org/developers
concrete.urls.help.user http://documentation.concrete5.org/editors
concrete.urls.help.forum http://www.concrete5.org/community/forums
concrete.urls.help.slack https://www.concrete5.org/slack
concrete.urls.paths.menu_help_service /tools/get_remote_help_list/
concrete.urls.paths.site_page /private/sites
concrete.urls.paths.newsflow_slot_content /tools/slot_content/
concrete.urls.paths.marketplace.connect /marketplace/connect
concrete.urls.paths.marketplace.connect_success /marketplace/connect/-/connected
concrete.urls.paths.marketplace.connect_validate /marketplace/connect/-/validate
concrete.urls.paths.marketplace.connect_new_token /marketplace/connect/-/generate_token
concrete.urls.paths.marketplace.checkout /cart/-/add
concrete.urls.paths.marketplace.purchases /marketplace/connect/-/get_available_licenses
concrete.urls.paths.marketplace.item_information /marketplace/connect/-/get_item_information
concrete.urls.paths.marketplace.item_free_license /marketplace/connect/-/enable_free_license
concrete.urls.paths.marketplace.remote_item_list /marketplace/
concrete.white_label.logo false
concrete.white_label.name false
concrete.white_label.background_image null
concrete.session.name CONCRETE5
concrete.session.handler file
concrete.session.redis.database 1
concrete.session.save_path /home/michirlearningc5/public_html/application/files/tmp/sessions
concrete.session.max_lifetime 3456000
concrete.session.cookie.cookie_path false
concrete.session.cookie.cookie_lifetime 10510000
concrete.session.cookie.cookie_domain false
concrete.session.cookie.cookie_secure false
concrete.session.cookie.cookie_httponly true
concrete.user.registration.enabled false
concrete.user.registration.type disabled
concrete.user.registration.captcha false
concrete.user.registration.email_registration true
concrete.user.registration.display_username_field true
concrete.user.registration.display_confirm_password_field true
concrete.user.registration.validate_email true
concrete.user.registration.approval false
concrete.user.registration.notification false
concrete.user.registration.notification_email team@aenow.com
concrete.user.group.badge.default_point_value 50
concrete.user.username.maximum 64
concrete.user.username.minimum 3
concrete.user.username.allowed_characters.boundary A-Za-z0-9
concrete.user.username.allowed_characters.middle A-Za-z0-9_\.
concrete.user.username.allowed_characters.requirement_string A username may only contain letters, numbers, dots (not at the beginning/end), and underscores (not at the beginning/end).
concrete.user.username.allowed_characters.error_string A username may only contain letters, numbers, dots (not at the beginning/end), and underscores (not at the beginning/end).
concrete.user.password.maximum 128
concrete.user.password.minimum 5
concrete.user.password.required_special_characters 0
concrete.user.password.required_lower_case 0
concrete.user.password.required_upper_case 0
concrete.user.password.reuse 0
concrete.user.password.hash_portable false
concrete.user.password.hash_cost_log2 12
concrete.user.password.legacy_salt
concrete.user.email.test_mx_record false
concrete.user.email.strict true
concrete.user.private_messages.throttle_max 20
concrete.user.private_messages.throttle_max_timespan 15
concrete.user.deactivation.enable_login_threshold_deactivation false
concrete.user.deactivation.login.threshold 120
concrete.user.deactivation.authentication_failure.enabled false
concrete.user.deactivation.authentication_failure.amount 5
concrete.user.deactivation.authentication_failure.duration 300
concrete.user.deactivation.message This user is inactive. Please contact us regarding this account.
concrete.spam.whitelist_group 0
concrete.spam.notify_email
concrete.calendar.colors.text #ffffff
concrete.calendar.colors.background #3A87AD
concrete.security.session.invalidate_on_user_agent_mismatch true
concrete.security.session.invalidate_on_ip_mismatch true
concrete.security.session.invalidate_inactive_users.enabled false
concrete.security.session.invalidate_inactive_users.time 300
concrete.security.ban.ip.enabled true
concrete.security.ban.ip.attempts 5
concrete.security.ban.ip.time 300
concrete.security.ban.ip.length 10
concrete.security.misc.x_frame_options SAMEORIGIN
concrete.permissions.forward_to_login false
concrete.permissions.model advanced
concrete.seo.exclude_words a, an, as, at, before, but, by, for, from, is, in, into, like, of, off, on, onto, per, since, than, the, this, that, to, up, via, with
concrete.seo.url_rewriting true
concrete.seo.url_rewriting_all false
concrete.seo.redirect_to_canonical_url 0
concrete.seo.canonical_url null
concrete.seo.canonical_url_alternative null
concrete.seo.trailing_slash false
concrete.seo.title_format %2$s :: %1$s
concrete.seo.title_segment_separator ::
concrete.seo.page_path_separator -
concrete.seo.group_name_separator /
concrete.seo.segment_max_length 128
concrete.seo.paging_string ccm_paging_p
concrete.statistics.track_downloads true
concrete.limits.sitemap_pages 100
concrete.limits.delete_pages 100
concrete.limits.copy_pages 10
concrete.limits.page_search_index_batch 200
concrete.limits.job_queue_batch 10
concrete.limits.style_customizer.size_min -50
concrete.limits.style_customizer.size_max 200
concrete.page.search.always_reindex false
concrete.composer.idle_timeout 1
concrete.api.enabled false
concrete.api.grant_types.client_credentials true
concrete.api.grant_types.authorization_code true
concrete.api.grant_types.password_credentials false
concrete.mutex.semaphore.priority 100
concrete.mutex.semaphore.class Concrete\Core\System\Mutex\SemaphoreMutex
concrete.mutex.file_lock.priority 50
concrete.mutex.file_lock.class Concrete\Core\System\Mutex\FileLockMutex
concrete.version_db_installed 20190301133300
concrete.maintenance.version_job_page_num 380
concrete.site MDHHS State Innovation Model
empty
empty
empty
empty
empty
Key Value
USER michirlearningc5
HOME /home/michirlearningc5
SCRIPT_NAME /index.php
REQUEST_URI /site-registration
QUERY_STRING
REQUEST_METHOD GET
SERVER_PROTOCOL HTTP/2.0
GATEWAY_INTERFACE CGI/1.1
REDIRECT_URL /site-registration
REMOTE_PORT 44286
SCRIPT_FILENAME /home/michirlearningc5/public_html/index.php
SERVER_ADMIN webmaster@michirlearning.org
CONTEXT_DOCUMENT_ROOT /home/michirlearningc5/public_html
CONTEXT_PREFIX
REQUEST_SCHEME https
DOCUMENT_ROOT /home/michirlearningc5/public_html
REMOTE_ADDR 54.163.62.42
SERVER_PORT 443
SERVER_ADDR 142.44.212.195
SERVER_NAME www.michirlearning.org
SERVER_SOFTWARE Apache
SERVER_SIGNATURE
PATH /usr/local/jdk/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin:/opt/bin
HTTP_X_HTTPS 1
HTTP_HOST www.michirlearning.org
HTTP_USER_AGENT claudebot
HTTP_ACCEPT */*
proxy-nokeepalive 1
H2_STREAM_TAG 945722-439-3
H2_STREAM_ID 3
H2_PUSHED_ON
H2_PUSHED
H2_PUSH off
H2PUSH off
HTTP2 on
SSL_TLS_SNI www.michirlearning.org
HTTPS on
SCRIPT_URI https://www.michirlearning.org/site-registration
SCRIPT_URL /site-registration
UNIQUE_ID ZgYSN1xaqpEDGBrfy8KsXwAAVBg
REDIRECT_STATUS 200
REDIRECT_H2_STREAM_TAG 945722-439-3
REDIRECT_H2_STREAM_ID 3
REDIRECT_H2_PUSHED_ON
REDIRECT_H2_PUSHED
REDIRECT_H2_PUSH off
REDIRECT_H2PUSH off
REDIRECT_HTTP2 on
REDIRECT_SSL_TLS_SNI www.michirlearning.org
REDIRECT_HTTPS on
REDIRECT_SCRIPT_URI https://www.michirlearning.org/site-registration
REDIRECT_SCRIPT_URL /site-registration
REDIRECT_UNIQUE_ID ZgYSN1xaqpEDGBrfy8KsXwAAVBg
FCGI_ROLE RESPONDER
PHP_SELF /index.php
REQUEST_TIME_FLOAT 1711673911.8646
REQUEST_TIME 1711673911
argv Array ( )
argc 0
SENTRY_ERROR_MESSAGE a5e8b74c2c984c38b951798505f8da60
empty
0. Application\SentryLogging\Error\Handler\SentryErrorHandler
1. Application\SentryLogging\Error\Handler\SentryJsonErrorHandler