* @param $user
* @param $content
* @return string
+ * @todo remove first regex
*/
public static function fillWithContentFor($user, $content)
{
- $content = preg_replace('/<a /', '<a target="_blank"', $content);
+ $content = self::fillWithRegex($user, $content, '/\{\{[^(% )]*\}\}/', '{{', '}}');
+ return self::fillWithRegex($user, $content, '/%[^(% )]*%/', '%', '%');
+ }
- return preg_replace_callback('/%[^(% )]*%/', function($matches) use($user){
+ /**
+ * @param $user
+ * @param $content
+ * @param string|string[] $regex
+ * @return string|null
+ */
+ public static function fillWithRegex($user, $content, $regex, $start, $stop)
+ {
- $match = Str::before(Str::after($matches[0], '%'), '%');
+ return preg_replace_callback($regex, function($matches) use($user, $start, $stop){
+ $match = Str::before(Str::after($matches[0], $start), $stop);
return $user->templateAttribute($match, null) ?? $matches[0];
}, $content);
+
}
/**
*/
public static function button($url, $label, $color = null)
{
- return view('vendor.mail.html.button', [
+ return view('unlayer.button', [
'url' => $url,
'slot' => $label,
- 'color' => $color
])->render();
}
--- /dev/null
+<table id="u_content_button_1" class="u_content_button" style="font-family:'Open Sans',sans-serif;" role="presentation" cellpadding="0" cellspacing="0" width="100%" border="0">
+ <tbody>
+ <tr>
+ <td style="overflow-wrap:break-word;word-break:break-word;padding:10px;font-family:'Open Sans',sans-serif;" align="left">
+
+<div class="v-text-align" align="center">
+ <!--[if mso]><table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-spacing: 0; border-collapse: collapse; mso-table-lspace:0pt; mso-table-rspace:0pt;font-family:'Open Sans',sans-serif;"><tr><td class="v-text-align" style="font-family:'Open Sans',sans-serif;" align="center"><v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="" style="height:45px; v-text-anchor:middle; width:120px;" arcsize="9%" stroke="f" fillcolor="#3AAEE0"><w:anchorlock/><center style="color:#FFFFFF;font-family:'Open Sans',sans-serif;"><![endif]-->
+ <a href="{!! $url !!}" target="_blank" class="v-size-width" style="box-sizing: border-box;display: inline-block;font-family:'Open Sans',sans-serif;text-decoration: none;-webkit-text-size-adjust: none;text-align: center;color: #FFFFFF; background-color: #3AAEE0; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; width:auto; max-width:100%; overflow-wrap: break-word; word-break: break-word; word-wrap:break-word; mso-border-alt: none;">
+ <span class="v-padding" style="display:block;padding:10px 20px;line-height:120%;"><span style="font-size: 14px; line-height: 16.8px;">{{$slot}}</span></span>
+ </a>
+ <!--[if mso]></center></td></tr></table><![endif]-->
+</div>
+
+ </td>
+ </tr>
+ </tbody>
+</table>