course-outline.php
5.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
<?php
/**
* Course outline form view file.
*
* @since 4.6.0
*
* @package LearnDash\Modules\AI\Course_Outline
*
* @var string $api_key
*/
use LearnDash\Core\Modules\AI\Course_Outline;
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
$ld_wrapper_class = '';
if ( isset( $_GET['error'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
// phpcs:ignore WordPress.Security.NonceVerification.Recommended
$ld_message = urldecode( wp_kses_post( wp_unslash( $_GET['error'] ) ) );
$ld_wrapper_class .= ' ld-text-red-800 ld-bg-red-50 ld-border-red-500';
} elseif ( isset( $_GET['success'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
// phpcs:ignore WordPress.Security.NonceVerification.Recommended
$ld_message = urldecode( wp_kses_post( wp_unslash( $_GET['success'] ) ) );
$ld_wrapper_class .= ' ld-text-green-800 ld-bg-green-50 ld-border-green-500';
}
$ld_settings_url = add_query_arg(
[
'section-advanced' => 'settings_ai_integrations',
],
menu_page_url( 'learndash_lms_advanced', false )
);
?>
<div class="ld-container ld-mx-auto">
<div class="ld-flex ld-flex-wrap ld-flex-col ld-items-center">
<div class="ld-flex ld-mt-6">
<h1 class="ld-text-4xl">
<?php
echo wp_sprintf(
// translators: Course label.
esc_html__( 'Create %s Outline from AI.', 'learndash' ),
esc_html( learndash_get_custom_label( 'course' ) )
);
?>
</h1>
</div>
<div class="ld-flex ld-mt-6">
<p class="ld-text-xl">
<?php
echo wp_sprintf(
// translators: Course label.
esc_html__( 'You can take advantage of the latest breakthrough AI technology to create your %s outline.', 'learndash' ),
esc_html( learndash_get_custom_label_lower( 'course' ) )
);
?>
</p>
</div>
<div class="ld-flex ld-mt-10 ld-w-1/2 ld-justify-center">
<?php if ( empty( $api_key ) ) : ?>
<div class="notice notice-error">
<p>
<?php
echo wp_sprintf(
// translators: HTML tags.
esc_html__( '%1$sClick here%2$s to enter your OpenAI API key.', 'learndash' ),
'<a class="ld-underline ld-text-[#2271b1]" href="' . esc_url( $ld_settings_url ) . '">',
'</a>'
);
?>
</p>
</div>
<?php else : ?>
<div class="ld-w-full">
<form class="ld-bg-white ld-shadow-lg ld-rounded-md ld-p-8" method="post" action="<?php echo esc_attr( admin_url( 'admin-post.php' ) ); ?>">
<?php if ( isset( $ld_message ) ) : ?>
<div class="ld-mb-4 ld-p-2 ld-text-sm ld-font-semibold ld-rounded ld-border ld-border-solid <?php echo esc_attr( $ld_wrapper_class ); ?>">
<span>
<?php echo wp_kses_post( wp_unslash( $ld_message ) ); ?>
</span>
</div>
<?php endif; ?>
<input type="hidden" name="action" value="<?php echo esc_attr( Course_Outline::$slug ); ?>">
<?php wp_nonce_field( Course_Outline::$slug ); ?>
<div class="ld-w-full ld-mb-4">
<label
for="course_id"
class="ld-block ld-text-gray-700 ld-text-sm ld-font-bold ld-mb-1"
>
<?php
echo wp_sprintf(
// translators: Course label.
esc_html__( '%s Title', 'learndash' ),
esc_html( learndash_get_custom_label( 'course' ) )
);
?>
</label>
<select class="ld-w-full ld-block !ld-max-w-full" type="text" name="course_id" id="course_id" required>
</select>
<p class="ld-w-full ld-italic">
<?php
echo wp_sprintf(
// translators: Course label.
esc_html__( 'You can select an existing %s or create a new one.', 'learndash' ),
esc_html( learndash_get_custom_label_lower( 'course' ) )
);
?>
</p>
</div>
<div class="ld-w-full ld-mb-4">
<label
for="lesson_count"
class="ld-block ld-text-gray-700 ld-text-sm ld-font-bold ld-mb-1"
>
<?php
echo wp_sprintf(
// translators: Lessons label.
esc_html__( 'Number of %s', 'learndash' ),
esc_html( learndash_get_custom_label( 'lessons' ) )
);
?>
</label>
<input class="ld-w-full ld-block !ld-max-w-full" type="number" name="lesson_count" id="lesson_count" min="1" max="30" required>
<p class="ld-w-full ld-italic">
<?php
echo wp_sprintf(
// translators: Lessons label.
esc_html__( 'Number of %s you want to generate the outline for.', 'learndash' ),
esc_html( learndash_get_custom_label_lower( 'lessons' ) )
);
?>
</p>
</div>
<div class="ld-w-full ld-mb-4">
<label
for="course_idea"
class="ld-block ld-text-gray-700 ld-text-sm ld-font-bold ld-mb-1"
>
<?php
echo wp_sprintf(
// translators: Course label.
esc_html__( 'Describe Your %s', 'learndash' ),
esc_html( learndash_get_custom_label( 'course' ) )
);
?>
</label>
<textarea class="ld-w-full ld-block !ld-max-w-full ld-py-1 ld-px-1" name="course_idea" id="course_idea" required></textarea>
<p class="ld-w-full ld-italic">
<?php
echo wp_sprintf(
// translators: Course label.
esc_html__( '%s idea in clear and brief description.', 'learndash' ),
esc_html( learndash_get_custom_label( 'course' ) )
);
?>
</p>
</div>
<div class="ld-w-full">
<button type="submit" class="button button-primary !ld-flex !ld-ml-auto">
<?php
echo wp_sprintf(
// translators: Lessons label.
esc_html__( 'Create %s', 'learndash' ),
esc_html( learndash_get_custom_label( 'lessons' ) )
);
?>
</button>
</div>
</form>
</div>
<?php endif; ?>
</div>
</div>
</div>