Phase 3: Page Templates - Homepage, About, Contact, Blog, Search, Full-width, Landing templates with reusable components

This commit is contained in:
Hanson.xyz Dev
2025-11-28 16:58:34 -06:00
parent 96e3193880
commit f876883cf2
173 changed files with 31375 additions and 33 deletions
@@ -0,0 +1,50 @@
<?php
namespace Contactable\SWV;
class StepNumberRule extends Rule {
const rule_name = 'stepnumber';
public function matches( $context ) {
if ( false === parent::matches( $context ) ) {
return false;
}
if ( empty( $context['text'] ) ) {
return false;
}
return true;
}
public function validate( $context ) {
$input = $this->get_default_input();
$input = wpcf7_array_flatten( $input );
$input = wpcf7_strip_whitespaces( $input );
$input = wpcf7_exclude_blank( $input );
$base = floatval( $this->get_property( 'base' ) );
$interval = floatval( $this->get_property( 'interval' ) );
if ( ! ( 0 < $interval ) ) {
return true;
}
foreach ( $input as $i ) {
$remainder = fmod( floatval( $i ) - $base, $interval );
if (
0.0 === round( abs( $remainder ), 6 ) or
0.0 === round( abs( $remainder - $interval ), 6 )
) {
continue;
}
return $this->create_error();
}
return true;
}
}